Cisco IOS PAT / NAT ルータ設定 インターネット接続

ネットワーク構築では、社内の複数端末をインターネットへ接続させるためにPAT(Port Address Translation)を利用することが多くあります。グローバルIPアドレスは限られたリソースであるため、1つのIPアドレスで多数の端末が通信できるPATは、現代のネットワーク設計において欠かせない技術です。

この記事では、CiscoルータでのPATの仕組みから設定手順・確認コマンド・トラブルシュートまで、実務目線で体系的に解説します。NATとPATの違いを正確に理解したうえで、自信を持って設定できるようになることを目指します。

👷 現場での体験談

新しい拠点にCiscoルータを設置してPATを設定したとき、ACLでの対象ネットワーク定義は完璧だったのに「インターネットにつながらない」という状況になりました。

原因はip nat insideip nat outsideの設定を逆に付けていたことでした。PATの設定自体は正しくても、インターフェースへのinside/outside指定が間違っていると一切動作しません。「設定したのにつながらない」ときは、まずここを確認するのが現場での定石です。

PAT構成図
PAT(NATオーバーロード)構成:1つのグローバルIPとポート番号で複数端末の通信を識別
PAT構成図
PAT(NATオーバーロード)構成:1つのグローバルIPとポート番号で複数端末の通信を識別

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通信を行う場面を例にします。

図1:PATの通信フロー(送信元変換の例)
内部ネットワーク 192.168.10.10 : 49152 192.168.10.11 : 49153 192.168.10.12 : 49154 送信元IPはバラバラ Ciscoルータ(PAT) GigabitEthernet1: inside GigabitEthernet0: outside overload変換処理 外部ネットワーク 10.10.10.10 : 10001 10.10.10.10 : 10002 10.10.10.10 : 10003 送信元IPはすべて同じ

上図のように、内部ではそれぞれ異なるIPアドレスの通信が、ルータのPAT処理によって同一のグローバルIPアドレス(10.10.10.10)+ 異なるポート番号に変換されます。返りの通信はルータのNATテーブルを参照して元の内部端末へ正確に届けられます。

図2:NATテーブルのエントリ数と同時接続数の関係

今回の設定構成

以下のシンプルな構成を前提に設定手順を解説します。

要素備考
LANネットワーク192.168.10.0/24PATの対象
LAN側インターフェースGigabitEthernet1ip nat inside を設定
外部側インターフェースGigabitEthernet0ip nat outside を設定
外部側IPアドレス(例)10.10.10.10PATの変換後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 1STEP 1で作成したアクセスリスト1の通信を変換対象にする
interface GigabitEthernet0外部インターフェースに設定されたIPアドレスに変換する(動的に取得)
overloadポート番号を使って複数端末が同一IPを共有するPAT(NATオーバーロード)を有効化する
⚠ overloadを忘れるとDynamic 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 insideLAN側(内部ネットワーク)「この側からの通信がNATの変換対象」と定義
ip nat outsideWAN側(外部ネットワーク)「この側へ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: 0

Hitsが増えていれば変換が正常に行われています。Inside/Outside interfacesが意図したインターフェースになっているかも確認しましょう。

③ NATテーブルのクリア(テスト時)

設定変更後に動作を再確認したい場合は、既存のNATテーブルをクリアして新しい通信でテストします。

! NATテーブルをすべてクリア
Router# clear ip nat translation *
🚨 本番機でのclearは慎重に clear ip nat translation *は既存の通信セッションが切断される可能性があります。本番稼働中の機器では、業務影響を考慮してメンテナンス時間帯に実施してください。

PATが動かないときのトラブルシュート

「設定したのにインターネットにつながらない」という場合の確認手順をまとめます。

図3:PAT設定ミスの原因内訳(現場経験ベースのイメージ)
1
inside / outsideが逆になっていないか

最も多いミスです。show ip nat statisticsでInside/Outside interfacesが正しいか確認します。

2
overloadキーワードが抜けていないか

show running-config | include ip natで設定を確認します。overloadがなければDynamic NATになっています。

3
ACLのネットワーク範囲が正しいか

ワイルドカードマスクのミスで対象外のネットワークを定義していないか確認します。show access-listsでACLの内容とヒット数を確認できます。

4
デフォルトルートが設定されているか

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 insideip nat outsideを正しいインターフェースに設定する
  • show ip nat translationsで変換テーブルを確認して動作を検証する
  • デフォルトルートの設定もセットで忘れずに確認する

PATはネットワークエンジニアとして必須の基礎技術です。設定の流れと確認コマンドをセットで覚えておくことで、現場でのトラブルシュートもスムーズに対応できるようになります。