NATとサブネット: ネットワークアドレス変換の仕組み

NATがプライベートサブネットと連携してインターネットアクセスを実現する仕組みを解説。SNAT、DNAT、PATについて、CIDRベースのIPネットワークとの関係を学びましょう。

192.168.0.0/16Concept

詳細な説明

NATとサブネット

NAT (Network Address Translation) は、プライベートサブネット (RFC 1918アドレスを使用) 上のデバイスが、プライベートIPアドレスをパブリックアドレスに変換することでパブリックインターネットと通信できるようにする技術です。

NATが存在する理由

IPv4には約43億のアドレスしかなく、地球上のすべてのデバイスには不十分です。NATは数千のデバイスが単一のパブリックIPアドレスを共有することでこの問題を解決します。内部的にはデバイスがプライベートアドレス (10.x.x.x、172.16.x.x、192.168.x.x) を使用し、パケットがネットワークを出る際にNATデバイスがパブリックIPに変換します。

NATの種類

1. SNAT (Source NAT): 送信パケットの送信元アドレスをプライベートからパブリックに変換します。家庭用ルーターが行うのがこれで、内部の 192.168.1.50 がルーターのパブリックIP (例: 203.0.113.5) に変換されます。

2. DNAT (Destination NAT): 受信パケットの宛先アドレスをパブリックからプライベートに変換します。ポートフォワーディングに使用され、パブリックIPのポート80への外部トラフィックが内部Webサーバー 192.168.1.100 に転送されます。

3. PAT (Port Address Translation): NATオーバーロードとも呼ばれ、PATは複数のプライベートアドレスを異なるポート番号を使って単一のパブリックIPにマッピングし、セッションを区別します。これが最も一般的なNATの形態です。

NATとサブネットの関係

サブネット設計はNATに直接影響します:

  • 内部サブネットはプライベートCIDRレンジを使用 (例: 192.168.1.0/24)
  • NATデバイスはプライベートネットワークとパブリックネットワークの境界に配置
  • NATルールはどの内部ネットワークが変換されるかを定義するためにCIDRブロックを参照

NATテーブルの例

Internal: 192.168.1.50:12345  ->  External: 203.0.113.5:40001
Internal: 192.168.1.51:54321  ->  External: 203.0.113.5:40002

NATの制限事項

  • エンドツーエンド接続性の喪失 -- ポートフォワーディングなしでは外部ホストが内部ホストへの接続を開始できない
  • プロトコルの複雑化 -- SIP、FTP、IPsecなど、ペイロードにIPアドレスを埋め込むプロトコルで問題が発生
  • 処理オーバーヘッドの追加 -- すべてのパケットがNATデバイスで検査・修正される必要がある

ユースケース

家庭用ルーターがPATを実行し、192.168.1.0/24 のすべてのプライベートアドレスをISPから割り当てられた単一のパブリックIPに変換し、家庭内のすべてのデバイスがインターネットを閲覧できるようにします。

Try It — Subnet Calculator

フルツールを開く