「ポートフォワーディング」には多くの質問がありますが、それが何であり、何のために使用されているかを明確に述べているものはないようです。そう:
ポート転送とは何ですか?
それは何のために使用され、なぜそれが必要なのですか?
「ポートフォワーディング」には多くの質問がありますが、それが何であり、何のために使用されているかを明確に述べているものはないようです。そう:
ポート転送とは何ですか?
それは何のために使用され、なぜそれが必要なのですか?
回答:
ポート転送を実際に説明するには、まずルーターの機能についてもう少し理解する必要があります。インターネットサービスプロバイダーは、インターネット接続に1つの IPアドレスを割り当てます。インターネット上のすべてのコンピューターには一意のIPアドレスが必要ですが、自宅には複数のコンピューターがあり、アドレスは1つだけです。では、これはどのように機能しますか?
あなたがそれが何であるかを知っていて、それをどうやってやるのか知りたいだけなら: http : //portforward.com/には、文字通り何百もの異なるルーターのスクリーンショット付きのハウツーがあります。ドキュメントは、自動portconfigツールの広告ページの後ろに隠れています。(それを見つけるには少しクリックしてください。)
ホームルーターには、ネットワークアドレス変換(NAT)と呼ばれる機能が組み込まれています。ネットワーク内には、コンピューターに192.168.1.100などのアドレスがあります。192.168。*範囲(または10. *)範囲のすべてのアドレスは、「プライベート」または「予約済み」アドレスです。これらのアドレスは、プライベートネットワーク内で使用するためにIANAによって公式に割り当てられています。ルーターは、DHCPを介して接続された各コンピューターにそのようなアドレスを自動的に割り当てます。これらのアドレスは、ネットワーク内のコンピューターがルーターと相互に通信する方法です。
ルーターには、インターネットに接続する別のネットワークインターフェイスがあります。このインターフェイスには、ISPによって割り当てられた非常に異なるアドレスがあります。これは私が前に言及した1つのアドレスであり、ルーターはインターネット上の他のコンピューターと通信するためにそれを使用します。ネットワーク内のコンピューターにはルーティングできないプライベートIPアドレスがあります。つまり、インターネットに直接パケットを送信すると、パケットは自動的にドロップされます(プライベートアドレスを持つパケットは、安定性のためにインターネットを通過できません)。ただし、ルーターにはルーティング可能なアドレスがあります。ネットワークアドレス変換は、その名前が示すように、変換します これらの2種類のアドレス間で、ネットワーク内の複数のコンピューターが1つのアドレスを持つ1つのコンピューターとしてインターネットに表示されるようにします。
これは複雑に聞こえるかもしれませんが、実際にはルーターがそれを行う方法は非常に簡単です。ネットワーク内のコンピューターがインターネット上のコンピューターに接続するたびに、ルーターに接続要求を送信します(デフォルトゲートウェイパラメーターがルーターのアドレスに設定されているため、ルーターに送信することを認識しています)。次に、ルーターはその接続要求(TCP / IPの「SYN要求」)を取得し、送信元アドレス(「返信先」または返信アドレス)を変更し、コンピューターのプライベートIPからパブリックIPに変更します。応答がルーターに送信されるように。その後、接続が開始されたことをデータベース(NATテーブルと呼ばれる)に記録し、後でそれを記憶します。
リモートコンピューターから応答が返されると( "SYN-ACK")、ルーターはNATテーブルを調べ、そのポート上のそのホストへの接続がネットワーク上のプライベートコンピューターによって以前に開始されたことを確認し、宛先を変更しますアドレスをコンピューターのプライベートアドレスに変換し、ネットワーク内に転送します。このようにして、パケットはネットワーク間を行き来し続けることができ、ルーターはアドレスが透過的に変更されて動作します。接続が終了すると、ルーターはそれをNATテーブルから削除するだけです。
これは、メタファーを使って視覚化するのが少し簡単かもしれません-あなたが中国の顧客と仕事をしている米国の貨物運送業者だとしましょう。彼らは米国の多くの顧客に荷物を送る必要がありますが、税関/事務処理上の理由から、荷物を1か所に送る方が簡単です。したがって、パッケージは中国のクライアントの1つ(この例ではプライベートネットワーク)から届き、実際の宛先は米国のどこかにあります(インターネット)。ボックスの住所ラベルを米国(パブリック)アドレスに変更し、返信先アドレスを自分の公開アドレスに変更し(顧客に迷惑をかけずに中国に直接返送できないため)、郵便サービスに渡します。 。顧客が製品を返品した場合、それはあなたに届きます。記録で調べて、中国のどの会社から来たのかを確認します。
これはうまく機能しますが、少し問題があります。顧客が会社に何かを送る必要がある場合、何かの支払いで為替を言ってみましょう。または、インターネット上のコンピューターがルーターとの接続(SYN要求)、たとえばネットワーク内のWebサーバーへの接続を開始したとしましょう。レター/パケットにはルーターのパブリックアドレスのみが含まれているため、ルーターは実際に送信先を知りません。プライベートネットワーク上の任意のコンピューターを宛先とすることも、どのコンピューターも宛先としないこともできます。誰かの自宅の電話に電話するときにこの問題が発生した可能性があります-彼らがあなたに電話するときは問題ありませんが、あなたに電話するとき、誰が電話をかけているのかを知る方法がないので、間違った人が答える可能性があります。
ネットワーク上ですべてのコンピューターが他のすべてのコンピューターを知っているわけではないため、人間がこれを簡単に解決することはできますが、コンピューターにとっては非常に複雑です。
ポートフォワーディングは、この問題を解決する方法です。これは、着信接続をネットワーク内のどのコンピューターに向けるかをルーターに伝える方法です。これを行うには、3つの異なる方法があります。
使用例を見てみましょう。多くのマルチプレイヤービデオゲーム(例として、Counter Strike)を使用すると、コンピューターでゲームサーバーを実行し、他の人が接続してプレイすることができます。お使いのコンピューターは、プレイしたいすべての人を知っているわけではないため、接続できません。代わりに、インターネットからコンピューターに新しい接続要求を送信する必要があります。
ルーターに何も設定されていない場合、これらの接続要求を受信しますが、ネットワーク内のどのコンピューターにゲームサーバーがあるかはわからないため、それらを無視します(または、より具体的には、送信します)接続できないことを示すパケットを返します)。幸いなことに、ゲームサーバーへの接続要求に使用されるポート番号はわかっています。そのため、ルーターでは、ゲームサーバーが予期するポート番号(27015など)とゲームサーバーがインストールされているコンピューターのIPアドレス(192.168.1.105など)を使用してポートをフォワードに設定します。
ルーターは、着信接続要求をネットワーク内の192.168.1.105に転送することを認識し、外部のコンピューターが接続できるようになります。
別の例は、IP 192.168.1.10を持つ2番目のマシンがApacheを使用してWebサイトをホストする2つのマシンを持つローカルネットワークです。したがって、ルーターは着信ポート80要求をこのマシンに転送する必要があります。ポート転送を使用すると、両方のマシンが同じネットワークで同時に実行できます。
ビデオゲームは、おそらく毎日のユーザーがポートフォワーディングに遭遇する最も一般的な場所ですが、最新のゲームのほとんどはUPnPを使用しているため、手動でこれを行う必要はありません(代わりに、完全自動です)。ただし、ネットワーク上の何かに直接接続できるようにしたいときはいつでも、これを行う必要があります(インターネット上の仲介者を介してではなく)。これには、独自のWebサーバーの実行、またはリモートデスクトッププロトコルを介したコンピューターの1つへの接続が含まれる場合があります。
NATの優れた点の1つは、NATが手間をかけずに組み込みのセキュリティを提供することです。多くの人々は、脆弱なマシンを探してインターネットをさまよいます...そして彼らはさまざまなポートとの接続を開こうとすることによってこれを行います。これらは着信接続であるため、上記で説明したように、ルーターはそれらをドロップします。つまり、NAT構成では、ルーター自体のみが着信接続を含む攻撃に対して脆弱です。これは良いことです。なぜなら、多くのソフトウェアを備えた完全なオペレーティングシステムを実行しているコンピューターよりも、ルーターがはるかに単純である(したがって脆弱性が低い)からです。ネットワーク内のコンピューターをDMZする(DMZの宛先として設定する)ことにより、そのコンピューターのセキュリティ層が失われることに注意してください:インターネットからの着信接続に対して完全に開かれているため、そのため、直接接続されているかのように保護する必要があります。もちろん、ポートを転送するたびに、受信側のコンピューターはその特定のポートに対して脆弱になります。したがって、適切に構成された最新のソフトウェアを実行してください。