インフラ

NATとは?仕組み・NAPT(IPマスカレード)との違い・静的/動的NATからクラウド実装まで実装者向けに解説

NAT(Network Address Translation/ネットワークアドレス変換)は、パケットのIPアドレスを別のアドレスに書き換えて中継する仕組みです。社内やクラウド内で使うプライベートIPアドレスと、インターネットで通用するグローバルIPアドレスの間を変換し、限られたグローバルIPを多数の機器で共有できるようにします。家庭用ルーターから企業のゲートウェイ、クラウドのアウトバウンド通信まで、境界のあらゆる場所で動いている基盤技術です。この記事では、NATがIPヘッダのどこを書き換えるのか、静的NATと動的NATの違い、ポート番号まで書き換えるNAPT(IPマスカレード)との違い、ポートフォワーディングによる外部公開までを実装者向けに整理します。さらに、どこにNATを置くべきか、クラウド(AWS)ではどう実装するか、NAT越えやCGNATの制約、疎通不良の切り分け手順まで、現場の判断を条件付きで言い切ります。

目次

まとめ:NAT設計で先に押さえる結論

NATは「境界のルーターやゲートウェイで、パケットのIPアドレスを付け替える」技術です。内側の機器はプライベートIPのまま通信し、外へ出る瞬間に送信元アドレスをグローバルIPへ書き換え、戻りのパケットは変換表を引いて元の機器へ返します。この変換表があるおかげで、内側の多数の機器が少数のグローバルIPを共有して外部と通信できます。

設計判断の勘所は3点に集約できます。第一に、変換の種類を用途で選ぶこと。外部から常に同じIPで到達させたいサーバーは1対1の静的NAT、外向きの通信だけを束ねたい大量のクライアントはポート番号まで使うNAPT(IPマスカレード)と、方向と要件で分けます。第二に、NATを置く場所を「内と外の境界1か所」に定め、そこにファイアウォールやアクセス制御を重ねて通信を絞ること。第三に、外部公開が必要なポートだけをポートフォワーディングで内側へ橋渡しし、それ以外は閉じておくことです。クラウド(AWSのVPC等)では、内側からの外向き通信をNATゲートウェイに集約する構成が定石になります。オンプレのNAT境界とクラウドのアウトバウンド設計を一体で組みたい場合は、インフラ構築(AWS/GCP/Azure)の相談窓口で構成段階から検討すると、アドレス設計と経路制御のズレを防げます。

NATの仕組み:プライベートIPとグローバルIPを変換する技術の正体

NATを設定する前に、「なぜアドレスを付け替える必要があるのか」を押さえておくと、後段の静的・動的やNAPTの話が丸暗記になりません。起点はIPアドレスの不足という現実です。

なぜNATが必要か:IPv4アドレス枯渇とプライベートIPの前提

インターネットで直接使えるIPv4のグローバルアドレスは約43億個で、世界中の機器数に対して数が足りません。そこで、組織の内部ではインターネットに出さない専用の範囲(プライベートIPアドレス)を使う設計が一般化しました。プライベートIPはRFC 1918系で定められ、10.0.0.0/8・172.16.0.0/12・192.168.0.0/16の3つの範囲が該当します。これらのアドレスはそのままでは外部と通信できないため、境界で通用するグローバルIPへ変換する役目をNATが担います。プライベートIPの範囲やアドレスの区切り方は、サブネットマスクによるIPアドレスの区切り方と合わせて押さえると、どこまでが内側のネットワークかを見誤りません。

NATがIPヘッダを書き換える仕組みと変換表(NATテーブル)の役割

NATの動作は、パケットが境界を通るときにIPヘッダの中身を書き換えることに尽きます。内側の機器(たとえば192.168.1.10)がインターネットへパケットを送ると、境界のNAT機器は送信元アドレスを自分のグローバルIP(たとえば203.0.113.5)へ付け替えて外に送り出す流れです。このとき「どの内側アドレスを、どの変換で外へ出したか」が変換表(NATテーブル)に記録されます。相手からの戻りパケットが届くと、NAT機器はこの変換表を逆引きし、宛先アドレスを元の192.168.1.10へ戻して内側の機器へ転送する仕組みです。外から見えるのはグローバルIPだけで内側のアドレス構成は隠れるため、結果としてアドレスの隠蔽という副次的な効果も生まれます。IPアドレスの表記やアドレス帯の考え方はCIDR表記の読み方とアドレス設計を押さえておくと、変換前後のアドレスを正確に追えます。

静的NATと動的NATの違いと、外から入る通信・内から出る通信での使い分け

アドレスを1対1で固定的に対応づけるのが静的NATです。内側の特定サーバーと外側の特定グローバルIPを常に紐づけるため、外部から常に同じアドレスで到達させたい公開サーバーに向きます。一方、動的NATは、複数のグローバルIPをプール(在庫)として持ち、内側の機器が外へ出るたびに空いているグローバルIPを一時的に割り当てる方式です。同時に外部通信する機器の数がプールのIP数を超えると、あぶれた機器は通信できません。この「グローバルIPの在庫数=同時通信の上限」という制約を解消するのが、次に述べるNAPTです。方向で整理すると、外から入る通信を受けたいなら静的NAT、内から外へ出る通信を束ねたいなら動的NATやNAPT、という判断になります。

NAPT(IPマスカレード)とNATの違い:ポート番号まで変換する仕組み

「NATとNAPTは何が違うのか」は実務で頻出の疑問です。家庭用ルーターや企業の外向き通信で実際に動いているのは、多くがこのNAPTです。

NAPTがポート番号まで書き換える理由と1つのグローバルIP共有

NAPT(Network Address Port Translation)は、IPアドレスに加えてポート番号まで書き換える方式です。内側の複数の機器が同時に外へ出るとき、送信元アドレスを同じ1つのグローバルIPにまとめつつ、機器ごとに異なる送信元ポート番号を割り当てて区別します。たとえば192.168.1.10と192.168.1.11が同時に通信しても、外向きには同じ203.0.113.5だが、ポート番号(たとえば50001と50002)で戻り先を判別できる仕組みです。この仕組みにより、たった1個のグローバルIPで数百〜数千の内側機器の外向き通信を束ねられます。動的NATが抱えていた「グローバルIPの在庫数が同時通信数の上限になる」という制約を、ポート番号という広い空間で解消したのがNAPTです。

NAT・NAPT・IPマスカレード・PATの呼び分けを整理する

用語が混在しやすいので整理します。アドレスだけを変換する狭義のNATに対し、ポート番号まで変換して1つのグローバルIPを共有するのがNAPTです。同じ仕組みを、LinuxではIPマスカレード、シスコ系機器の設定用語ではPAT(Port Address Translation)やNATオーバーロードと呼びます。呼び名は違っても、指しているのは「多数の内側機器を1つのグローバルIPに束ねる、ポート番号込みの変換」で同じものです。日常会話で「NAT」と言うとき、実体はNAPTを指している場面がほとんどだと捉えておくと、設定画面の用語のブレに惑わされません。

ポートフォワーディング(静的NAPT)で内側のサーバーを外部公開する

NAPTは外向き通信を束ねる仕組みですが、逆に外から内側のサーバーへ届けたい場面もあります。ここで使うのがポートフォワーディング(静的NAPT/ポート開放)です。「グローバルIPの特定ポート宛の通信を、内側の特定機器の特定ポートへ転送する」というルールを固定で登録します。たとえばグローバルIPの443番宛を、内側のWebサーバー192.168.1.20の443番へ転送する、といった設定です。公開するのは必要なポートだけに限り、それ以外は閉じておくのが原則で、この境界の絞り込みはファイアウォールによる通信制御と組み合わせて多層で守ります。ポートを無闇に開けると、それだけ外部から狙える入口が増える点を設計に織り込みます。

NATの採用判断とどこに置くか・クラウド(AWS)での実装形態の選び方

NATは「とりあえず境界に置く」だけでなく、どこに、どの種類を置くかで運用の見通しが変わります。オンプレとクラウドの実装形態を、判断軸とともに示します。

NATをどこに置くか:内と外の境界1か所へ集約する設計の考え方

NATは、内側のネットワークと外側(インターネットや別セグメント)の境目に置くのが基本です。境界を複数に散らすと、変換表の管理や戻り経路の整合が取りにくくなり、疎通不良の調査が難航します。原則は「内と外の境界1か所にNATを集約し、そこにファイアウォールとアクセス制御を重ねる」ことです。セグメント自体をどう分割するかは、L2の分割を担うVLANによるセグメント分割と合わせて設計すると、どのセグメントがどの境界でNATされるかを1枚の図に落とし込めます。境界を明確にすることが、後々の運用コストを下げる近道です。

クラウドでのNAT実装:AWSのNATゲートウェイとNATインスタンス

クラウドでも、内側(プライベートサブネット)の機器がインターネットへ外向き通信するにはNATが要ります。AWSでは、マネージドサービスのNATゲートウェイに外向き通信を集約する構成が定番です。自前でEC2上にNAT機能を持たせるNATインスタンスという選択肢もあり、両者は運用の手間・可用性・費用の面で性格が異なります。この使い分けはNATゲートウェイとNATインスタンスの違いと比較で判断軸を確認でき、実際の役割と料金の勘所はAWSのNATゲートウェイの役割で押さえられる構成です。プライベートサブネットに置いたサーバーが外部のAPIやパッケージ取得のために外へ出る、という典型構成では、このNAT集約が経路設計の中心になります。

NATを経由しない選択肢(VPCエンドポイント等)を検討する場面

外向き通信のすべてをNAT越しにする必要はありません。クラウド内の特定サービス(オブジェクトストレージや各種マネージドサービス)へのアクセスは、NATゲートウェイを経由せず専用の入口を通す方が、経路も費用も締まる場面があります。AWSでいえば、VPCエンドポイントでNATゲートウェイを経由しない構成が該当し、AWS内部の閉じた経路で通信できます。判断軸は「その通信先はインターネットに出る必要があるのか、クラウド内で完結できるのか」です。完結できる通信までNATに通すと、通信量に応じた費用が積み上がるため、経路を分けて設計します。オンプレとクラウドをまたいでこの切り分けを行う場合は、インフラ構築(AWS/GCP/Azure)として一体で相談すると、NAT集約とエンドポイント直結の線引きを最初から揃えられます。

NATの限界と対策:NAT越え・CGNATと疎通不良の切り分け

NATは便利な一方で、通信の一部を成立しにくくする副作用も持ちます。制約を知っておくと、原因不明のつながらなさを早く言い当てられます。

NAT越え(NATトラバーサル)とP2P通信で接続できない問題

NATは「内側から外へ出る通信」を前提に変換表を作るため、外側から内側へいきなり届く通信は原則はじかれます。これがビデオ通話やオンラインゲームなどのP2P(機器同士が直接つながる)通信で問題になります。双方がNATの内側にいると、互いに相手のグローバルIPとポートが分からず接続できません。この壁を越える技術がNATトラバーサルで、外部の補助サーバーを使って自分の見え方(グローバル側のIPとポート)を知るSTUN、それでも通らないときに通信を中継するTURN、両者を組み合わせて最も通りやすい経路を選ぶICEといった仕組みが使われます。NATの背後にあるアプリで直接接続が不安定なときは、この経路確立の失敗を疑うと切り分けが進みます。

CGNAT(大規模NAT)とIPv4枯渇が生む共有アドレスの現実

IPv4アドレスの不足が深刻化したことで、通信事業者側でも複数の利用者を1つのグローバルIPに束ねるCGNAT(キャリアグレードNAT)が広く使われるようになりました。利用者宅のルーターでNAPTした通信を、事業者側でさらにもう一段NAPTする多段構成です。CGNAT向けには100.64.0.0/10という共有アドレス範囲がRFC 6598系で定められています。多段NATになると、外部からの到達性がさらに下がり、ポートフォワーディングが効かない、特定のP2Pアプリがつながりにくいといった事象が起こります。自宅や拠点で外部公開がうまくいかない場合、回線がCGNAT配下かどうかを確認するのが切り分けの第一歩です。IPv6ではアドレスが潤沢なためNATに頼らない設計も取れますが、当面はIPv4のNATと併存する構成が続きます。

NATがらみの疎通不良を境界のNATから順に切り分ける実務手順

「外へは出られるのに外から入れない」「一部のアプリだけ不安定」といった不具合は、境界のNATを起点に順を追うと原因に速く到達します。

  1. 内側から外向きの通信が成立するかを確認する。外へ出られるならNATの基本動作とデフォルト経路は正常で、問題は入り方向やアプリ固有にある。
  2. 外部公開が要る通信は、ポートフォワーディングの設定を確認する。グローバルIPの対象ポートが、内側の正しい機器・ポートへ転送されているかを照合する。
  3. 境界のファイアウォールやアクセス制御で、その通信が許可されているかを確認する。NATで転送しても、フィルタで落ちていれば届かない。
  4. P2Pや外部からの直接接続が不安定な場合は、多段NAT(CGNAT)やNAT越えの失敗を疑い、STUN/TURNの経路確立や回線種別を確認する。

この順序を守ると、実はポートフォワーディングの転送先ミスだったものを、アプリ設定ばかり見て遠回りする失敗を避けられます。オンプレとクラウドをまたいだ構成で切り分けが複雑になる場合は、設計段階からインフラ構築(AWS/GCP/Azure)として一体で相談すると、NAT境界と経路制御の責任分界を明確にしたうえで問題箇所を絞り込めます。

よくある質問

NATについて実務でよく挙がる疑問を、設計・運用の観点から簡潔に答えます。

NATとNAPTの違いは何ですか?

NATはIPアドレスだけを変換する方式で、NAPTはIPアドレスに加えてポート番号まで変換する方式です。NAPTは機器ごとに異なるポート番号を割り当てて区別するため、1つのグローバルIPを多数の内側機器で共有できます。家庭用ルーターや企業の外向き通信で実際に動いているのは、多くがこのNAPTです。LinuxではIPマスカレード、シスコ系機器ではPATと呼ばれますが、指す仕組みは同じです。

静的NATと動的NATはどう使い分けますか?

静的NATは内側と外側のアドレスを1対1で固定的に対応づける方式で、外部から常に同じIPで到達させたい公開サーバーに向きます。動的NATは複数のグローバルIPをプールから一時的に割り当てる方式で、内から外への通信を束ねる用途に使います。外から受ける通信は静的NAT、内から出る通信は動的NATやNAPT、と方向で選ぶのが基本です。

NATを使うとセキュリティは上がりますか?

NATは内側のアドレス構成を外から見えなくするため、アドレスの隠蔽という副次的な効果はあります。ただしNAT自体はアドレス変換の仕組みであり、通信の可否を判断する機能ではありません。外部からの不正な通信を止めるには、境界にファイアウォールやアクセス制御を別途重ねる前提です。NATをセキュリティ対策そのものと捉えず、変換と制御は別の層として設計します。

外部からNAT内のサーバーへ接続するにはどうすればよいですか?

ポートフォワーディング(静的NAPT/ポート開放)を設定します。グローバルIPの特定ポート宛の通信を、内側の特定機器の特定ポートへ転送するルールを固定で登録することで、外部からアクセスできます。公開するのは必要なポートだけに絞り、ファイアウォールと組み合わせて守るのが原則です。回線がCGNAT配下だとポートフォワーディングが効かない場合があります。

IPv6になればNATは不要になりますか?

IPv6はアドレスが潤沢で、アドレス不足を補うためのNATは原則不要になります。ただし現実にはIPv4の資産や機器が残るため、当面はIPv4のNATと併存する構成が続きます。IPv6環境でも、アドレス隠蔽や既存設計との整合を目的にNATに相当する仕組みを使う場面はあり、「IPv6だからNATを一切使わない」と断定はできません。移行期は両者が混在する前提で設計します。

関連記事

資料請求

RELATED POSTS 関連記事