Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ポート転送(ポートてんそう)とは | 意味や読み方など丁寧でわかりやすい用語解説

ポート転送(ポートてんそう)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ポートフォワーディング (ポートフォワーディング)

英語表記

port forwarding (ポートフォワーディング)

用語解説

ポート転送とは、インターネットなどの外部ネットワークから、家庭や企業の内部ネットワーク(プライベートネットワーク)に存在する特定のコンピュータやサーバーへ、特定の通信を誘導するための技術である。これは主に、ネットワークアドレス変換(NAT)やポートアドレス変換(NAPT)の機能を持つルータが設置された環境下で必要となる。ルータは通常、内部ネットワークの複数のデバイスが共有する一つのグローバルIPアドレスと、外部から直接アクセスできないプライベートIPアドレスを相互に変換することで、内部ネットワークを保護し、外部からの不正なアクセスを防いでいる。しかし、この保護機能があるために、外部から特定のサービス、例えばWebサーバーやゲームサーバー、リモートデスクトップなどへのアクセスを許可したい場合、ルータがその通信をどの内部デバイスへ届ければよいか判断できないという問題が発生する。ポート転送は、この問題を解決し、外部からの特定の宛先ポート番号を持つ通信を、内部ネットワーク上の特定のプライベートIPアドレスを持つデバイスの特定のポート番号へ転送するようにルータに指示する役割を担う。

詳細について説明する。まず、なぜポート転送が必要になるのかを理解するには、IPアドレスの基本的な役割を知る必要がある。インターネット上で通信を行う各デバイスにはIPアドレスが割り当てられており、これは住所のようなものだと例えられる。IPアドレスには、インターネット上で一意に識別される「グローバルIPアドレス」と、組織内のプライベートネットワークでのみ有効な「プライベートIPアドレス」の二種類がある。多くの家庭や企業では、インターネットに接続するためのルータが、プロバイダから割り当てられた一つのグローバルIPアドレスを持ち、その配下にある複数のPCやスマートフォン、サーバーなどには、ルータが管理するプライベートIPアドレスが割り当てられる。ルータが持つNATやNAPTの機能は、内部ネットワークのデバイスがインターネットと通信する際に、プライベートIPアドレスをグローバルIPアドレスに変換し、逆にインターネットからの返信を適切な内部デバイスに届ける役割を果たす。これにより、限られたグローバルIPアドレスを効率的に利用しつつ、内部ネットワークの構造を外部から隠蔽し、セキュリティを高めている。

しかし、このNAPTの仕組みは、外部から内部ネットワークのデバイスに対して「自発的に」通信を開始することを困難にする。例えば、外部の利用者が自宅のネットワーク内に設置したWebサーバーにアクセスしたい場合、外部からのアクセスはルータのグローバルIPアドレスと特定のポート番号(Webサーバーなら通常80番や443番)宛てに到達する。しかし、ルータは、このグローバルIPアドレスの80番ポート宛ての通信を、内部のどのプライベートIPアドレスのどの80番ポートへ転送すればよいか、初期状態では判断できない。ポート転送設定は、このような状況でルータに明確な指示を与えるためのものだ。具体的には、「外部からグローバルIPアドレスの特定のポート番号(例:80番)宛てに通信が来たら、内部ネットワークの特定のプライベートIPアドレス(例:192.168.1.10)の特定のポート番号(例:80番)に転送せよ」というルールをルータに設定する。この設定により、外部からのWebサイトへのアクセスは、ルータを経由して適切に内部のWebサーバーに届けられ、サーバーからの応答も同様にルータによって変換され、外部の利用者に返される。

ポート転送の仕組みは、ルータ内部に設定される「ポート転送テーブル」によって管理される。このテーブルには、「外部からのアクセスを受け付けるポート番号(外部ポート)」「その通信を転送する先のプライベートIPアドレス」「転送先のデバイスで待ち受けるポート番号(内部ポート)」の組み合わせが登録される。外部ポートと内部ポートは同じ番号である必要はなく、例えば外部の8080番ポート宛ての通信を内部のWebサーバーの80番ポートに転送するといった設定も可能である。これは、インターネットサービスプロバイダ(ISP)によって80番ポートなどのWell-knownポートがブロックされている場合や、同じ種類のサービスを複数公開したい場合などに利用されることがある。転送される通信は、TCPまたはUDPプロトコルによって行われる。

ポート転送の主な用途としては、WebサーバーやFTPサーバー、メールサーバーなどの各種サーバーをインターネットに公開するケースが挙げられる。また、オンラインゲームにおいて自身がゲームホストとなる場合や、特定のP2P(Peer to Peer)アプリケーションの通信を確立する場合、さらには自宅やオフィスのPCへ外出先からリモートデスクトップ接続やSSH接続を行う場合にも利用される。これらの利用シーンでは、外部からの通信が内部の特定のデバイスへ到達する必要があるため、ポート転送が不可欠となる。

ポート転送を設定する際には、いくつかの注意点がある。最も重要なのはセキュリティに関する考慮である。ポート転送によって内部ネットワークのサービスを外部に公開するということは、そのサービスがインターネット上のあらゆるユーザーからアクセス可能になることを意味する。もし公開するサービスにセキュリティ上の脆弱性があった場合、不正アクセスやデータ改ざん、情報漏洩などのリスクにさらされる可能性がある。そのため、転送先のサービスやアプリケーションは常に最新の状態に保ち、強固なパスワード設定や多要素認証の導入、不要な機能の無効化など、適切なセキュリティ対策を講じることが極めて重要となる。また、ルータ自体のファイアウォール機能も適切に設定し、必要最小限のポートのみを開放するようにすべきである。次に、転送先のプライベートIPアドレスについてだが、内部ネットワークでDHCP(Dynamic Host Configuration Protocol)によってIPアドレスが自動的に割り当てられる環境では、デバイスのプライベートIPアドレスが時間とともに変わる可能性がある。IPアドレスが変わってしまうと、設定したポート転送が機能しなくなるため、転送先のデバイスには静的な(固定の)プライベートIPアドレスを設定するか、ルータのDHCP機能でそのデバイスに常に同じIPアドレスを割り当てるように予約設定を行うのが一般的である。さらに、ISPから割り当てられるグローバルIPアドレスが動的に変動する(DHCPによって定期的に変わる)契約の場合、その変動に対応するためにダイナミックDNS(DDNS)サービスを利用することも検討する必要がある。DDNSを利用することで、グローバルIPアドレスが変わっても、設定したドメイン名を通じて常に正しいIPアドレスへアクセスできるようになる。これらの注意点を理解し、適切に対処することで、ポート転送は安全かつ効果的に利用できる強力な機能となる。

関連コンテンツ

関連IT用語