ルータ – ポート転送とは何か、それは何のために使用されますか?

community-faq port port-forwarding router

‘port forwarding’の質問はたくさんありますが、何のために使うのか、何のために使うのかを明記しているものはないようです。ということで

  1. ポートフォワーディングとは?

  2. 何に使うのか、なぜ必要なのか?

  224  community wiki  None


ベストアンサー

The Basics

ポートフォワーディングを本当に説明するには、まず、ルーターが何をするのかをもう少し理解する必要があります。あなたのインターネットサービスプロバイダは、あなたのインターネット接続に1つのIPアドレスを割り当てます。インターネット上のすべてのコンピュータは一意のIPアドレスを必要としますが、あなたの家には複数のコンピュータがあり、1つのアドレスしかありません。だから、これはどのように動作しますか?

それが何であるかを知っていて、それを行う方法を知りたいだけの場合。http://portforward.com/には、文字通り何百もの異なるルータのスクリーンショットを含むハウツーがあります。ドキュメントは、自動ポート設定ツールの広告ページの後ろに隠されています。(少しクリックすれば見つかります。)

NAT – それは何ですか?なぜそれを使うのか?

ご自宅のルーターには、ネットワークアドレス変換、またはNATと呼ばれる機能が組み込まれています。あなたのネットワーク内の, コンピュータは192.168.1.100のようなアドレスを持っている.192.168.*の範囲(または10.*)にあるすべてのアドレスは、「プライベート」または「リザーブド」のアドレスです。これらのアドレスは、プライベートネットワークの内部で使用するためにIANAによって公式に割り当てられています。ルータは、DHCPを介して接続された各コンピュータに、このようなアドレスを自動的に割り当てます。これらのアドレスは、ネットワーク内のコンピュータがルータや他のコンピュータとどのように通信するかを示しています

ルータには、インターネットに接続する別のネットワークインターフェースがあります。このインターフェイスは、ISPによって割り当てられた非常に異なるアドレスを持っています。ルータはこれを使ってインターネット上の他のコンピュータと通信します。ネットワーク内のコンピュータは、インターネットに直接パケットを送信した場合、パケットは自動的にドロップされるという意味で、ルーティング不可能なプライベートIPアドレスを持っています(プライベートアドレスを持つパケットは、安定性の理由からインターネットを通過することは許されていません)。しかし、ルータにはルーティング可能なアドレスがあります。ネットワークアドレス変換, その名前が示すように, アドレスのこれらの2種類の間で翻訳, 1つのアドレスを持つ1つのコンピュータとしてインターネットに表示されるように、ネットワーク内の複数のコンピュータを可能にする

The Details

これは複雑に聞こえるかもしれませんが、実際にはルータがどのようにそれを行うかは非常に単純です。ネットワーク内のコンピュータがインターネット上のコンピュータに接続したいと思うたびに、ルータに接続要求を送信します (デフォルトゲートウェイパラメータがルータのアドレスに設定されているので、ルータに送信することを知っています)。ルータはその後、その接続要求(TCP/IPでは「SYN要求」)を受け取り、送信元アドレス(「返信先」または「返信先アドレス」)を変更し、コンピュータのプライベートIPからルータのパブリックIPに変更します。その後、接続が開始されたことをデータベース(NATテーブルと呼ばれる)にメモを取り、後でそれを記憶するようにします

応答がリモートコンピュータ(「SYN-ACK」)から返ってくると、ルータはNATテーブルを見て、そのポート上のそのホストへの接続がネットワーク上のプライベートコンピュータによって以前に開始されたことを見て、宛先アドレスをそのコンピュータのプライベートアドレスに変更して、ネットワーク内でそれを転送します。このようにして、パケットはネットワーク間を行ったり来たりしながら、ルータが透過的にアドレスを変更して動作するようにして、転送を続けることができます。接続が終了すると、ルータはNATテーブルからそれを削除します

あるいは、このように考えてみてください

これは例え話をするともう少しわかりやすいかもしれません。彼らは米国内の多くの顧客に荷物を送る必要がありますが、カスタムやペーパーワークの理由から、一箇所にしか荷物を送らない方が簡単です。そのため、中国の顧客(この例ではプライベートネットワーク)から、米国のどこか(インターネット)に実際の宛先があるパッケージがあなたのところに来たとします。箱に貼られている宛名ラベルをアメリカ(パブリック)の住所に変更し、返送先を自分のパブリックアドレスに変更して(顧客に迷惑をかけずにそのまま中国に返送することはできないので)、郵便局に手渡します。お客さんが返品してきた場合は、あなたのところに来ます。あなたの記録で調べて中国のどこの会社から来たのかを調べて、宛先をその会社(その会社の非公開住所)に、返送先をあなたの非公開住所に変更することで、あなたを経由して代替品を送り返してもらうことができます

これはとても便利なのですが、ちょっと問題があります。顧客が会社に何かを送信する必要がある場合はどうでしょうか, 何かのための支払いで金銭の注文を言ってみましょうか?または, インターネット上のコンピュータがルータとの接続を開始することを言ってみましょう (SYN要求), ネットワーク内にあるWebサーバーに言う.手紙/パケットは、その上にルータのパブリックアドレスを持っているだけなので, ルータは実際にそれを送信する場所を知りません! それはプライベートネットワーク上のコンピュータのいずれかのために運命づけられる可能性があります, またはそれらのどれにも.あなたが誰かの家の電話を呼び出すときにこの問題を経験しているかもしれません – 彼らはあなたを呼び出すとき、それは問題ありません, しかし、あなたがそれらを呼び出すとき、彼らは誰のための呼び出しだか知っているための方法はありません, ので、間違った人が答えるかもしれません

それは人間がこれを整理するのは簡単ですが、あなたのネットワーク上のすべてのコンピュータが他のすべてのコンピュータを知っているわけではないので、それは、コンピュータのために多くのトリッキーです

そして、最後にポートフォワーディングにたどり着きます

ポートフォワーディングは、私たちがこの問題を解決する方法です:それは、ネットワーク内の着信接続が指示されるべきネットワーク内のどのコンピュータをルータに伝える方法です。我々はこれを行うことができます3つの異なる方法を持っています

  • Faux-DMZ: 多くのルーターにはDMZと呼ばれる機能があります。これはDemilitarized Zoneの略で、ネットワークセキュリティ設定の一種です。家庭用ルータの DMZ は、実際の DMZ の機能を欠いているため、偽 DMZ と呼ばれることが多いです。これは、着信接続の処理の中で最もシンプルなもので、すべての着信接続要求はネットワーク内の指定された1つに送信されます。それは死んだように単純です – あなたのルータの設定にIPアドレスを入力し、すべての着信接続はそこに行く.あなたは、着信接続を受け入れる必要がある複数のコンピュータを持っているかもしれないので、これは常に動作しません, しかし,.そのために, 我々は持っている
  • ポート転送。すべてのネットワーク接続要求には「ポート」が含まれています。ポートは単なる数字であり、コンピュータがそのパケットが何であるかを知るための一部です。IANAはHTTPではポート80が使用されることを指定しています。これは、ポート番号80という着信パケットは、ウェブサーバ向けのリクエストでなければならないことを意味します。ルータのポートフォワーディングでは、ポート番号(ルータによっては番号の範囲や組み合わせ)とIPアドレスを入力することができます。一致するポート番号を持つすべての着信接続は、そのアドレスを持つ内部コンピュータに転送されます
  • UPnP ポート転送。UPnP 転送はポート転送と全く同じ方法で動作しますが、代わりにあなたがそれを設定するのではなく、ネットワーク内のコンピュータ上のソフトウェアは、自動的にそれに指定されたポート上のトラフィックを転送するためにルータを設定します

An example

使用例を見てみましょう。多くの多人数参加型ビデオゲーム(例:カウンターストライク)では、自分のコンピュータ上でゲームサーバーを実行して、他の人が自分と一緒にプレイするために接続することができます。あなたのコンピュータはプレイしたい人をすべて把握しているわけではないので、その人たちに接続することはできません

ルーターに何も設定していなければ、これらの接続要求を受信しても、ネットワーク内のどのコンピューターがゲームサーバーを持っているかはわからないので、無視してしまいます(もっと言えば、接続できないことを示すパケットを送り返してきます)。幸いなことに, あなたはゲームサーバーの接続要求になりますポート番号を知っている.そこで、ルータ上で、ゲームサーバが期待するポート番号 (例えば、27015) とゲームサーバのあるコンピュータの IP アドレス (例えば、192.168.1.105) を使ってポートフォワードを設定します。 ルーターは、ネットワーク内の192.168.1.105に接続要求を転送することを知ることになり、外部のコンピューターも接続できるようになります

別の例では、IP 192.168.1.10を持つ2番目の1つはApacheを使用してウェブサイトをホストしている2つのマシンを持つローカルネットワークになります。そのため、ルータはこのマシンにポート80のリクエストを転送しなければなりません。ポート転送を使用して、両方のマシンが同時に同じネットワーク内で実行することができます

Port forwarding example graph

ビデオゲームは、おそらく日常的なユーザーがポート転送に遭遇する最も一般的な場所ですが、最新のゲームのほとんどはUPnPを使用しているので、手動でこれを行う必要はありません(代わりに、完全に自動化されています)。しかし、ネットワーク内の何かに直接接続できるようにしたい場合は、いつでもこれを行う必要があります(インターネット上の仲介者を経由するのではなく)。これには、自分のウェブサーバーを実行したり、リモートデスクトッププロトコルを介してコンピュータに接続したりすることが含まれます

セキュリティに関する注意事項

NATの良い点の一つは、手間のかからない組み込みのセキュリティを提供してくれることです。多くの人が脆弱なマシンを探してインターネットをさまよいます… そして彼らは様々なポートで接続を開こうとすることによってこれを行います。これらは着信接続なので、上で述べたように、ルータはそれらを落とします。これは、NAT構成では、ルータ自体だけが着信接続を含む攻撃に対して脆弱であることを意味します。ルータは、ソフトウェアの多くを持つ完全なオペレーティングシステムを実行しているコンピュータよりもはるかに単純であるため、これは良いことです, (したがって、脆弱である可能性が低い).ネットワーク内のコンピュータをDMZにすることで(DMZの宛先として設定する)、そのコンピュータのセキュリティ層を失うことを念頭に置いておく必要があります。もちろん、ポートを転送すると、受信側のコンピュータはその特定のポートに対して脆弱になります。そのため、適切に設定された最新のソフトウェアを実行するようにしてください

330  community wiki  2020-06-12


タイトルとURLをコピーしました