0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3分で理解する#08 NATの種類と使いどころ——Static・Dynamic・PAT を整理する

0
Last updated at Posted at 2026-09-02

NATがなぜ必要か

グローバルIPアドレスは有限です。組織内のすべてのホストにグローバルIPを割り当てることは現実的ではありません。
NATはプライベートIPとグローバルIPを変換することで、少数のグローバルIPで多数のホストをインターネットに接続可能にします。
ただし「NATは全部同じ」と思っていると設計でつまずきます。今回扱うStatic・Dynamic・PATの3種類が、IPv4環境のNAT実装のほぼすべてのベースになっています。

なお、NATの役割は「アドレス空間を変換すること」であり、変換先が必ずしもグローバルIPである必要はありません。たとえば拠点間VPN接続で、双方の組織が同じプライベートアドレス帯(例: 192.168.1.0/24)をそれぞれ独立に使っていてアドレスが重複している場合、プライベートIP同士であってもNATでアドレスを変換し、経路を区別できるようにします。以降の説明では分かりやすさのため「プライベートIP→グローバルIP」を軸に解説しますが、変換の仕組み自体はアドレス帯の重複解消にもそのまま応用できます。


Static NAT

1つのプライベートIPを1つのグローバルIPに 1対1で固定マッピングします。
外部からそのグローバルIPに届いたパケットは必ず同じ内部ホストに転送されます。

使いどころ: 社内サーバーを外部に公開する場合です。WebサーバーやメールサーバーなどDMZに置くサーバーへの外部アクセスを受ける際に使います。

[外部] --> グローバルIP 203.0.113.10 --> [NAT変換] --> 192.168.1.10 [Webサーバー]

Cisco IOSでの設定例:

ip nat inside source static 192.168.1.10 203.0.113.10
!
interface GigabitEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
!
interface GigabitEthernet0/1
 ip address 203.0.113.1 255.255.255.252
 ip nat outside

Static PAT(ポートフォワーディング)との違い

実務でよくあるのは「グローバルIPを1つサーバーに丸ごと割り当てる」のではなく、「特定のポートだけを内部サーバーに転送する」ケースです。これは正確にはStatic NATではなく Static PAT(ポートフォワーディング) と呼ばれます。

ip nat inside source static tcp 192.168.1.10 80 203.0.113.10 80

家庭用ルーターの「ポート開放」設定はほぼこれに該当します。1つのグローバルIPの特定ポートだけを内部の特定ホスト・ポートに紐づけるので、同じグローバルIPの別ポートを別サーバーに割り当てることもできます。Static NATと混同されがちなので区別しておきましょう。


Dynamic NAT

プライベートIPを グローバルIPのプールから動的に割り当てます。
通信が始まったときにプールから1つのグローバルIPを使い、通信が終わると返却します。

使いどころ: グローバルIPをある程度確保できるが固定割り当ては不要、というケースです。

Cisco IOSでの設定例:

access-list 1 permit 192.168.1.0 0.0.0.255
ip nat pool NATPOOL 203.0.113.10 203.0.113.14 netmask 255.255.255.248
ip nat inside source list 1 pool NATPOOL

プールのアドレス数を超えるホストが同時に通信しようとすると変換に失敗する点はStatic NATにはない制約で、設計時はプールサイズと同時接続ホスト数を見積もっておく必要があります。


PAT(Port Address Translation)/ NAT Overload

最も広く使われている方式です。
1つのグローバルIPに ポート番号を組み合わせることで、多数のホストが1つのグローバルIPを共有できます。
家庭用ルーターも企業のインターネット接続もほぼこれです。

192.168.1.10:5000  ──┐
192.168.1.11:5000  ──┼──> [PAT] --> 203.0.113.1:ポート番号で識別
192.168.1.12:5000  ──┘

使いどころ: インターネットへの一般的なアウトバウンド通信です。グローバルIPが1つしかなくても何百台ものホストが同時に通信できます。

Cisco IOSでの設定例:

access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface GigabitEthernet0/1 overload

内部では以下のようなNATテーブル(セッションテーブル)で変換前後の対応を管理しています。

Pro Inside global        Inside local        Outside global
tcp 203.0.113.1:5000     192.168.1.10:50000  8.8.8.8:443
tcp 203.0.113.1:5001     192.168.1.11:50000  8.8.8.8:443
tcp 203.0.113.1:5002     192.168.1.12:50000  8.8.8.8:443

ポート番号は最大約6万5千まで使えるため、理論上は1つのグローバルIPで数万セッションを同時にさばけます。ただし実際にはルータ・ファイアウォールのセッションテーブル上限やタイムアウト設定が先に効いてくることが多いです。

なお、AWSのNAT Gatewayも実質はPATの実装です。プライベートサブネットの複数インスタンスが1つのElastic IPを共有してアウトバウンド通信を行います。逆にEC2にElastic IPを直接アソシエートする場合は1対1のIPマッピングになり、Static NATに近い動作になります。


NATの限界と注意点

外部からの接続開始ができない

PATは「内部から始めた通信」のセッションテーブルを元に変換しています。
外部から新規接続を始めることはできません(ポートフォワーディングで例外を設定することは可能です)。

ALGが必要なプロトコル

FTPやSIPなど、ペイロード内にIPアドレスを含むプロトコルはNATが透過的に処理できません。
ALG(Application Layer Gateway)の設定が必要になる場合があります。

IPsecも同様に相性がよくありません。ESP(プロトコル番号50)にはポート番号の概念がないため、PAT環境では複数セッションを区別できず通信が壊れることがあります。これを解決するのが NAT-T(NAT Traversal) で、ESPをUDP 4500番でカプセル化することでPAT環境でも透過的にIPsec通信できるようにしています。VPN機器同士がNAT配下にある場合、NAT-Tが有効かどうかは切り分けの定番ポイントになります。

NATはセキュリティではない

「NATしているから外部からは見えない」は誤解です。
NATはアドレス変換の仕組みであり、ファイアウォールではありません。セキュリティポリシーは別途実装しましょう。


どれを使うべきか迷ったら

やりたいこと 適したNAT
サーバーを丸ごと固定のグローバルIPで公開したい Static NAT
公開したいのは特定ポートだけ(例: Webサーバーの80番だけ) Static PAT(ポートフォワーディング)
ポート番号を変換したくない Dynamic NAT
大多数のホストが一般的なアウトバウンド通信をするだけ PAT

まとめ

種類 変換方式 変換単位 主な用途
Static NAT 1対1固定 IPアドレス単位 サーバー公開(DMZ)
Static PAT 1対1固定+ポート指定 IP+ポート単位 特定ポートのみ公開(ポートフォワーディング)
Dynamic NAT プールから動的割り当て IPアドレス単位 ポート番号を変換したくない
PAT ポートで多重化 IP+ポート単位 一般的なインターネット接続
  • NATをセキュリティ対策と混同しないようにしましょう
  • FTP・SIP・IPsecなどALGやNAT-Tが必要なプロトコルに注意しましょう
  • 「グローバルIPを丸ごと割り当てるか、ポート単位で割り当てるか」でStatic NATとStatic PATを区別しましょう
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?