ネットワークアドレス変換(NAT)とは何か
ネットワークアドレス変換(NAT)は、送信元または宛先のIPアドレス(必要に応じてポート番号も)を、通信の途中で別の値に置き換えて中継する仕組みです。主な目的は、アドレスの節約だけでなく、内部ネットワークの“見え方”を変え、外部から到達しにくい状況を作ることにもあります。
NATは、一般に「外部側と内部側の境界にいる装置(ルータやファイアウォール機能など)」で動作します。内部端末はプライベートIPアドレスを使い、外部との通信時にNAT側が適切な変換を行うため、外部から見ると内部端末がそのまま特定できない形になります。
仕組み:変換は何を、どうやって行うのか
NATの核心は「翻訳(変換)」「対応付け(セッション/状態)」「制御」です。
まず、変換される対象は主にIPアドレスで、構成によってはポート番号も含まれます。たとえば、同じ外部IPから複数の内部端末が通信する場合、宛先や応答との対応を取るためにポートまで使って振り分けることがあります。これにより、内部端末ごとの通信を区別しながら中継できます。
次に、ステートフルに動く場合は「どの通信が成立しているか」を内部的に追跡します。内部端末が外部へ通信を開始すると、NATはその通信の対応関係を作り、応答は元の内部端末へ戻します。一方で、内部から“何も要求していないのに”外部から入ってきた通信は、対応関係がなければ遮断されやすくなります。
ただし、NATが作るのはあくまで“通信の通り道”の条件です。マルウェアや脆弱性の悪用など、アプリケーション層の攻撃そのものを自動的に排除する仕組みとは限りません。
NATで守れること/守れないこと
守れる可能性がある領域
NATがもたらし得る防御効果は、主に次のような性質に由来します。
- 内部アドレスが外部にそのまま露出しにくくなる
- 外部からの到達を、少なくとも“内部起点の通信に対応する範囲”へ寄せやすい
- ルータやファイアウォールのルール設計と組み合わせることで、入口条件を絞りやすい
このため、外部ネットワークから内部端末を“直接狙う”タイプの試行が、結果として成功しにくくなるケースはあります。
守れない(限界が大きい)領域
一方、NATだけで万能に守れるわけではありません。
- 外部向けに静的な公開(静的NAT、ポート転送など)を設定すると、その時点で入口は生まれます
- 内部端末が侵害されると、NAT越しでも外向き通信を通じて攻撃や情報流出が起こり得ます
- アプリ層の脆弱性は、アドレス変換だけでは直接的に無効化できません
また、NATの動作や保護範囲は設定に強く依存します。さらに、環境によっては想定外の通信が成立する可能性もあり、NAT単体の評価は難しい点に注意が必要です。
