NAT入門

NWエンジニアのためのNAT入門:仕組み・種類・設計のコツをカジュアル解説

導入:インターネット通信とNATの役割

インターネットと通信するには、正式なグローバルIP(Pアドレス)が必要――これはNWの基本です。ただ、家庭やオフィスの端末ごとにグローバルIPを用意して、通信のたびにノードを切り替えるのは現実的じゃないですよね。そこで活躍するのがNAT(Network Address Translation)。プライベートIPのまま、ユーザが意識せずインターネットへ出ていけるようにしてくれる、NW運用の縁の下の力持ちです。

NATの基本動作:アドレス書き換えと対応表

送信時:プライベート→グローバル

NAT対応ルータには、グローバルIPアドレスのプールが用意されています。内部から外部へパケットを転送するタイミングで、送信元IPアドレスを書き換え(SNAT)、インターネット向きのグローバルIPに変えて出してくれます。さらにルータは対応表(変換テーブル)を作成し、プライベートIPとグローバルIPのペア、必要に応じてポート番号も記録します。

返信時:グローバル→プライベート

外部から戻ってくる返信パケットでは、NAT対応ルータが保持する自分のグローバルIP宛のパケットを受信し、先ほどの対応表に従って、宛先を内部のプライベートIPへ再変換します。こうして、内部ノードはグローバルIPを直接持っていなくても透過的にインターネット通信を完了できます。

NATの種類:SNAT/DNATとNAPT(PAT)

SNAT(送信元変換)とDNAT(宛先変換)

一般的に「外向き通信」はSNATで送信元をグローバルに変換します。一方、公開サーバに外部からアクセスさせたい場合は、外部からの宛先を内部サーバへ振り分けるDNAT(ポートフォワーディング含む)を使います。

NAPT(PAT):多数端末を1つのグローバルで捌く

家庭や小規模オフィスではNAPT(Port Address Translation)が主役。複数の内部端末が、1つのグローバルIPポート番号の違い

NATのメリット・デメリットとよくあるつまずき

メリット

最大の利点はグローバルIPの節約運用の簡便化。NWの内側をプライベートIPで整理でき、セキュリティ面でも内部構成の秘匿性が高まります(外部から直接見えにくい)。

デメリット/注意点

一方で、双方向性が必要なプロトコル(SIP、H.323、FTPのアクティブモードなど)はNAT越えに追加設定が要ることがあります。アプリ層でIP情報を埋め込む場合、NATはヘッダしか書き換えないため齟齬が発生しやすく、ALGやプロキシ、またはアプリ側のNAT対応が必要です。さらに、ポート競合タイムアウト値の不整合でセッションが切れるケースもあるため、ルータのセッションテーブル容量・タイマーは要確認です。

NW設計のポイント:NATを使いこなす

ベストプラクティス

プライベートIPの設計:RFC1918のレンジ(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)を重複なく計画し、将来の拡張を見越したサブネット化を。②ポート割り当て/セッション容量:NAPTでは外部ポートの枯渇を避ける設計と、ピークトラフィック時のテーブル容量見積りが重要。③公開サーバはDNAT+FW:必要最小限のポートだけを開け、ログと監視で異常検知。④NAT越えのプロトコル:VoIPやVPNはSTUN/TURN/ICE、SIP ALG、またはIPsecのNAT-T(UDP/4500)などの仕組みを併用。

運用のコツ(トラブルシュート)

通信が不安定なら、セッションタイムアウト対応表のエントリ数を疑ってみましょう。FTPやSIPで通らない場合はALGの有効/無効を検証。外部からのアクセスが届かないなら、DNAT設定・FWルール・上位ルータの多段NAT(キャリアルータ含む)を順にチェックするのが定石です。

まとめ:NATはNW設計・運用の必須テク。プライベートIPからグローバルへ書き換え、対応表で返信を正しく戻す――この基本を押さえれば、SNAT/DNATやNAPTも腹落ちします。メリットを活かしつつ、プロトコル特性やセッション管理をケアすれば、安定したインターネット通信が実現できます。ブログやGoogleアドセンスの読者向けにも、まずは「NAT=アドレス変換+対応表」のイメージから始めるのがオススメです。

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