ネットワーク構築では、社内の複数端末をインターネットへ接続させるためにPAT(Port Address Translation)を利用することが多くあります。グローバルIPアドレスは限られたリソースであるため、1つのIPアドレスで多数の端末が通信できるPATは、現代のネットワーク設計において欠かせない技術です。
この記事では、CiscoルータでのPATの仕組みから設定手順・確認コマンド・トラブルシュートまで、実務目線で体系的に解説します。NATとPATの違いを正確に理解したうえで、自信を持って設定できるようになることを目指します。
新しい拠点にCiscoルータを設置してPATを設定したとき、ACLでの対象ネットワーク定義は完璧だったのに「インターネットにつながらない」という状況になりました。
原因はip nat insideとip nat outsideの設定を逆に付けていたことでした。PATの設定自体は正しくても、インターフェースへのinside/outside指定が間違っていると一切動作しません。「設定したのにつながらない」ときは、まずここを確認するのが現場での定石です。


NATとPATの違いを整理する
設定に入る前に、NATとPATの違いを正確に理解しておきましょう。混同しやすいため、整理しておくことが重要です。
| 種別 | フルネーム | 変換の対象 | 1対1 or 多対1 | 主な用途 |
|---|---|---|---|---|
| Static NAT | 静的アドレス変換 | IPアドレスのみ | 1対1(固定) | 公開サーバーへの固定変換 |
| Dynamic NAT | 動的アドレス変換 | IPアドレスのみ | 1対1(プールから動的割当) | 複数グローバルIPのプール管理 |
| PAT(NATオーバーロード) | ポートアドレス変換 | IPアドレス+ポート番号 | 多対1(ポートで識別) | 企業・家庭のインターネット接続 |
PATはNATオーバーロードとも呼ばれ、Cisco IOSではoverloadキーワードで有効化します。最大65,535個のポート番号を使い分けることで、1つのグローバルIPアドレスで理論上数万台の端末を同時接続させることができます。
PATの通信フローを理解する
PATがどのように動作するかを具体的なIPアドレスとポート番号の例で確認します。
内部ネットワーク(192.168.10.0/24)に3台の端末があり、それぞれがインターネット上の同じWebサーバー(203.0.113.1:80)へHTTPS通信を行う場面を例にします。
上図のように、内部ではそれぞれ異なるIPアドレスの通信が、ルータのPAT処理によって同一のグローバルIPアドレス(10.10.10.10)+ 異なるポート番号に変換されます。返りの通信はルータのNATテーブルを参照して元の内部端末へ正確に届けられます。
今回の設定構成
以下のシンプルな構成を前提に設定手順を解説します。
| 要素 | 値 | 備考 |
|---|---|---|
| LANネットワーク | 192.168.10.0/24 | PATの対象 |
| LAN側インターフェース | GigabitEthernet1 | ip nat inside を設定 |
| 外部側インターフェース | GigabitEthernet0 | ip nat outside を設定 |
| 外部側IPアドレス(例) | 10.10.10.10 | PATの変換後IPアドレス |
PAT設定の全手順
STEP 1:NAT対象ネットワークをACLで定義する
最初に、PATの変換対象となる内部ネットワークをアクセスリストで定義します。ここで定義したネットワーク宛ての通信だけがPAT変換の対象になります。
Router(config)# access-list 1 permit 192.168.10.0 0.0.0.255ここで使う0.0.0.255はワイルドカードマスクです。サブネットマスクのビットを反転させたもので、255.255.255.0(/24)を反転させると0.0.0.255になります。
| サブネットマスク | → | ワイルドカードマスク |
| 255.255.255.0(/24) | → | 0.0.0.255 |
| 255.255.0.0(/16) | → | 0.0.255.255 |
| 255.255.255.128(/25) | → | 0.0.0.127 |
STEP 2:PAT(NATオーバーロード)を設定する
STEP 1で定義したACLをPATの対象として紐付け、外部インターフェースのIPアドレスに変換する設定を行います。
Router(config)# ip nat inside source list 1 interface GigabitEthernet0 overload| キーワード | 意味 |
|---|---|
| source list 1 | STEP 1で作成したアクセスリスト1の通信を変換対象にする |
| interface GigabitEthernet0 | 外部インターフェースに設定されたIPアドレスに変換する(動的に取得) |
| overload | ポート番号を使って複数端末が同一IPを共有するPAT(NATオーバーロード)を有効化する |
overloadキーワードを省くとDynamic NATになります。その場合、外部IPアドレスが1つしかなければ1台しか同時接続できず、ほとんどの場合は意図した動作になりません。PATを設定する際はoverloadを必ず付けてください。STEP 3:インターフェースにinside / outsideを設定する
PATが動作するためには、各インターフェースにNATの方向を必ず設定する必要があります。この設定を忘れると、STEP 1・2が正しくてもPATは一切動作しません。体験談で紹介した落とし穴もここです。
LAN側インターフェース(inside)
Router(config)# interface GigabitEthernet1
Router(config-if)# ip address 192.168.10.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# no shutdown外部側インターフェース(outside)
Router(config)# interface GigabitEthernet0
Router(config-if)# ip address 10.10.10.10 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# no shutdown| 設定 | 設定するインターフェース | 意味 |
|---|---|---|
| ip nat inside | LAN側(内部ネットワーク) | 「この側からの通信がNATの変換対象」と定義 |
| ip nat outside | WAN側(外部ネットワーク) | 「この側へNAT変換して送信する」と定義 |
STEP 4:デフォルトルートを確認・設定する
PATでアドレス変換できても、インターネットへのルートがなければパケットは外へ出ていきません。デフォルトルートが設定されているかを確認し、なければ追加します。
! デフォルトルートの確認
Router# show ip route | include 0.0.0.0
! デフォルトルートの設定例(上位ルータが10.10.10.1の場合)
Router(config)# ip route 0.0.0.0 0.0.0.0 10.10.10.1動作確認コマンド
設定が完了したら、PATが正しく動作しているかを確認します。
① NAT変換テーブルの確認
Router# show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 10.10.10.10:10001 192.168.10.10:49152 203.0.113.1:80 203.0.113.1:80
tcp 10.10.10.10:10002 192.168.10.11:49153 203.0.113.1:80 203.0.113.1:80
tcp 10.10.10.10:10003 192.168.10.12:49154 203.0.113.1:80 203.0.113.1:80各列の意味は以下の通りです。
| フィールド | 意味 |
|---|---|
| Inside global | 変換後の外部から見えるIPアドレス+ポート(グローバルIP) |
| Inside local | 変換前の内部端末の実際のIPアドレス+ポート |
| Outside local | 内部から見た通信相手(外部)のIPアドレス |
| Outside global | 外部ネットワーク上の通信相手のIPアドレス(通常はOutside localと同じ) |
② NAT統計情報の確認
Router# show ip nat statistics
Total active translations: 3 (0 static, 3 dynamic; 3 extended)
Outside interfaces:
GigabitEthernet0
Inside interfaces:
GigabitEthernet1
Hits: 120 Misses: 0Hitsが増えていれば変換が正常に行われています。Inside/Outside interfacesが意図したインターフェースになっているかも確認しましょう。
③ NATテーブルのクリア(テスト時)
設定変更後に動作を再確認したい場合は、既存のNATテーブルをクリアして新しい通信でテストします。
! NATテーブルをすべてクリア
Router# clear ip nat translation *clear ip nat translation *は既存の通信セッションが切断される可能性があります。本番稼働中の機器では、業務影響を考慮してメンテナンス時間帯に実施してください。PATが動かないときのトラブルシュート
「設定したのにインターネットにつながらない」という場合の確認手順をまとめます。
最も多いミスです。show ip nat statisticsでInside/Outside interfacesが正しいか確認します。
show running-config | include ip natで設定を確認します。overloadがなければDynamic NATになっています。
ワイルドカードマスクのミスで対象外のネットワークを定義していないか確認します。show access-listsでACLの内容とヒット数を確認できます。
PATでアドレス変換できてもルートがなければパケットは外へ出ません。show ip routeでデフォルトルートの有無を確認します。
設定の全コマンドまとめ
今回の設定をすべてまとめたコマンド一覧です。実務での参考にしてください。
! ===== PAT(NATオーバーロード)設定 全コマンド =====
! STEP 1:NAT対象ネットワークをACLで定義
access-list 1 permit 192.168.10.0 0.0.0.255
! STEP 2:PATを設定(overloadキーワードが必須)
ip nat inside source list 1 interface GigabitEthernet0 overload
! STEP 3:LAN側インターフェースの設定
interface GigabitEthernet1
ip address 192.168.10.1 255.255.255.0
ip nat inside
no shutdown
! STEP 3:WAN側インターフェースの設定
interface GigabitEthernet0
ip address 10.10.10.10 255.255.255.0
ip nat outside
no shutdown
! STEP 4:デフォルトルートの設定(上位ルータが10.10.10.1の場合)
ip route 0.0.0.0 0.0.0.0 10.10.10.1
! ===== 動作確認コマンド =====
show ip nat translations
show ip nat statistics
show ip route
show access-listsまとめ
CiscoルータでのPAT設定は、大きく4ステップで完了します。設定自体はシンプルですが、inside/outsideの方向とoverloadキーワードを間違えると一切動作しないため、確認コマンドを活用した動作検証が重要です。
- PATはIPアドレス+ポート番号を使って複数端末を1つのIPに集約する技術(NATオーバーロード)
overloadキーワードが必須。忘れるとDynamic NATになるip nat insideとip nat outsideを正しいインターフェースに設定するshow ip nat translationsで変換テーブルを確認して動作を検証する- デフォルトルートの設定もセットで忘れずに確認する
PATはネットワークエンジニアとして必須の基礎技術です。設定の流れと確認コマンドをセットで覚えておくことで、現場でのトラブルシュートもスムーズに対応できるようになります。



