あなたのIPv4アドレス:
オペレーティングシステム:
プロバイダー:

NATとは?家庭用ルーターとポートフォワーディング

NAT(ネットワークアドレス変換)は、ネットワークの境界でパケットのアドレスを書き換える仕組みです。家庭のネットワークでは、プライベートアドレスを持つ複数のIPv4端末が、ルーターを通じて1つの外部IPv4アドレスを使うのが一般的です。同時に行われる複数の接続を区別するため、ポート番号も書き換えることがよくあります。

送信リクエストの流れを追う

192.168.1.20のノートパソコンが、ルーター経由でWebサイトを開くとします。ルーターは、ノートパソコンの内部アドレスとポートを、ルーターの外部アドレスと選んだポートに対応付けて記録します。Webサイトからは外部アドレスが見え、そのアドレスに応答が返されます。ルーターはこの対応表を使い、同じ時刻に別のスマートフォンが同じサイトに接続していても、応答を正しいノートパソコンに届けます。これは一般的なアドレス・ポート変換を単純化した例で、正確な動作はルーターによって異なります。基本的なNATのモデルはRFC 3022に記載されています。

外部からの接続が失敗する理由

外部から一方的に届いたリクエストには、送信接続によって作られた対応するエントリがありません。サービスを公開するには、管理者が外部のポートをローカルの端末とポートに転送するルールを設定します。たとえば、外部のTCPポート8443を、特定の内部Webアプリケーションに向けることができます。TCPとUDPのポートは別物なので、ルールには正しいトランスポートを指定する必要があります。ポートを開ける前に、そのサービスが保守され、認証が設定されていて、本当に外部から到達できる必要があるのかを確認しましょう。ポートが開いているように見えても、アプリケーション自体が正しく動いている証拠にはなりません。

NATはファイアウォールのポリシーではない

アドレス変換が表しているのは、アドレスをどう書き換え、応答をどの接続に結びつけるかです。どの通信を許可するかを決めるのはファイアウォールのポリシーです。家庭用ルーターは両方の機能を兼ね備えていることが多いため、混同されがちです。NATを唯一のセキュリティ境界として頼らないでください。転送ルール、自動マッピング機能、設定ミスによって、外部への露出が変わることがあります。設定後は、ポート番号だけでなく実際のサービスをテストしましょう。2IPのポート開放確認を使えば外部からの手がかりは得られますが、サービスが強力な認証を使っているかどうかまでは確認できません。

転送ルールがうまく動かないときの確認

まずサーバーのローカルアドレスを確認し、同じLAN内から応答があるかを確かめます。次に、ルーターのポートとトランスポートのルール、サーバー自体のファイアウォールを確認します。ルーターの外部アドレスと、インターネット上のサイトから見えるアドレスを比べてみましょう。上流に別のルーターやプロバイダーのキャリアグレードNATがある場合、自宅のルールだけでは足りないことがあります。問題を調べるためだけにファイアウォール全体を無効にするのはやめましょう。代わりに、対象のルールとアプリケーションのログを確認してください。