NATとNAPT(IPマスカレード)
更新日:
用語解説
NAT(Network Address Translation)とNAPT(Network Address Port Translation)は、ネットワーク境界を通過するパケットのIPアドレス等を書き換え、内部と外部のアドレス領域を対応付ける技術です。基本的なNATは主にIPアドレスを変換し、NAPTはIPアドレスに加えてTCP・UDPのポート番号なども変換することで、複数の内部端末が一つのグローバルIPアドレスを共有できます。
■ 試験で押さえるポイント
基本的なNATでは、内部ローカルアドレスと外部で使うグローバルアドレスを対応付けます。静的NATは固定した対応をあらかじめ設定し、動的NATは利用可能なグローバルアドレスのプールから必要時に割り当てます。
NAPTでは「内部IPアドレス・内部ポート」と「グローバルIPアドレス・変換後ポート」の組を変換表で管理します。日本でIPマスカレード、製品によってPATと呼ばれる機能は、一般にこの多対一のアドレス・ポート変換を指します。
内部から送信したパケットでは送信元アドレスと必要に応じて送信元ポートを書き換え、応答では変換表を逆引きして元の端末へ戻します。IP、TCP又はUDPヘッダを書き換えるため、関連するチェックサムも再計算します。
外部から内部サーバへ新しい接続を開始させるには、静的NAT、ポートフォワーディング又は動的な対応付けなどが必要です。同じグローバルIPアドレス・同じ待受けポートを、単純なNAPTで複数の内部サーバへ同時に固定転送することはできません。
NATはアドレス不足の緩和や内部アドレス体系の独立に役立ちますが、エンドツーエンドの到達性を崩します。FTPのようにペイロード内へアドレス・ポートを含むプロトコルはALGを要する場合があり、IPsecなどアドレス改変と相性が悪いプロトコルではNAT Traversal等が必要になります。
変換表にない外部からの通信が届きにくく、内部構成を直接見せない効果はありますが、NATはファイアウォールそのものではありません。内部から開始した悪性通信、許可済み転送先への攻撃、マルウェア又はアプリケーション層の脆弱性は防げないため、明示的なフィルタリングと監視を併用します。
ポート番号を持たない通信では、ICMPの識別子などプロトコル固有の情報で対応付ける実装があります。また、変換表や利用可能なポートが枯渇すると、新しい通信を確立できなくなる点も運用上の制約です。
■ 過去問での着眼点
基本的なNATは主にIPアドレスを変換し、NAPTはIPアドレスとポート番号を組み合わせて一つのグローバルIPアドレスを複数端末で共有します。変換表は戻り通信を元の端末へ配送するために使います。アドレス変換によって外部から到達しにくくなる効果と、通信を安全性に基づいて許可・拒否するファイアウォールの役割は同一ではありません。NATはアドレス変換、NAPTはアドレスとポートの変換という変換対象で区別します。
例: 端末Aのをへ、端末Bのをへ変換すれば、同じグローバルIPアドレスを異なる変換後ポートで共有できます。応答は40001ならA、40002ならBへ戻されます。