変更要約: 初版
4.1NATとPAT
内部のプライベートアドレスをグローバルアドレスへ変換するNATの役割、1対1固定のスタティックNAT・プールを使うダイナミックNAT・ポート番号で多対1に集約するPAT(オーバーロード)の使い分け、inside local/inside global の用語、そして ip nat inside/ip nat outside の付け間違いや変換テーブルから原因を切り分ける判断力を学びます。
グローバルIPv4アドレスは枯渇しており、社内の多数の端末に個別のパブリックアドレスを割り当てることは現実的ではありません。そこで、内部ではRFC1918のプライベートアドレスを使い、インターネットへ出る境界ルータでNATによりパブリックアドレスへ変換します。CCNAでは「NATとは何か」の暗記ではなく、要件(何台を、いくつのパブリックアドレスで外に出すか)に応じてスタティック/ダイナミック/PATのどれを選ぶか、そして設定ミスや変換テーブルから障害原因を切り分ける実務判断が問われます。
4.1.1NATの用語(inside local / inside global)
- inside local=内部ホストが内部から見えるときのアドレス(通常はプライベートアドレス。例:
10.1.1.10)。inside global=その同じ内部ホストが外部から見えるときのアドレス(NAT変換後のパブリックアドレス。例:203.0.113.10)。「local=内側の視点」「global=外側の視点」で覚えると混同しない。 - NATを機能させる大前提として、内部向けインタフェースに
ip nat inside、外部(インターネット)向けインタフェースにip nat outsideを必ず設定する。この inside/outside の指定を取り違える/付け忘れると、変換ルールが正しくても翻訳が一切行われない。
4.1.2スタティック/ダイナミック/PATの使い分け
- スタティックNAT=1つの内部アドレスを1つのパブリックアドレスへ1対1で固定変換する。外部から常に同じパブリックアドレスで到達させたいサーバ(公開Webサーバ等)に使う。設定例:
ip nat inside source static 10.1.1.10 203.0.113.10。 - ダイナミックNAT=パブリックアドレスのプールから空いているアドレスを内部ホストに動的・一時的に割り当てる(原則1対1)。プール数を超える同時接続はできない。設定例:
ip nat pool P1 203.0.113.1 203.0.113.30 netmask 255.255.255.224+ip nat inside source list 1 pool P1。 - PAT(ポートアドレス変換・オーバーロード)=多数の内部ホストを1つ(少数)のパブリックアドレスに、送信元ポート番号で識別して多対1に集約する。家庭用ルータや中小企業の一般的なインターネット接続はこれ。設定例:
ip nat inside source list 1 interface g0/0 overload。キーワードoverloadがPATの目印。
「PAT=overloadでポート番号により多対1」「スタティックNATは1対1固定」「inside local=内部の私設アドレス/inside global=変換後の公開アドレス」「内部IFに ip nat inside・外部IFに ip nat outside が必須」「検証は show ip nat translations」が最頻出です。数台のサーバ公開はスタティック、多数の一般端末の外向き通信はPAT、と要件からの選択を即答できるようにしましょう。
あなたは中小企業の境界ルータを構築するエンジニアで、社内のPC約80台をISPから割り当てられた1個のパブリックアドレスでインターネットへ接続させる要件を受けたとします。まずスタティックNATは1対1固定なので80台には80個のパブリックアドレスが必要となり不適、ダイナミックNATもプール内のアドレス数までしか同時接続できず1個では1台しか通信できないため不適です。1個のパブリックアドレスで80台を同時に外へ出すには、送信元ポート番号で各セッションを識別して多対1に集約するPAT(overload)が唯一の適切な選択となります。設定は、内部LAN側に ip nat inside、ISP側WANインタフェース g0/0 に ip nat outside を付け、変換対象を選ぶACL(例 access-list 1 permit 10.1.1.0 0.0.0.255)を作り、ip nat inside source list 1 interface g0/0 overload を投入します。ここで「PCがインターネットに出られない」という障害が起きたら、闇雲に設定を書き換える前に show ip nat translations で変換エントリが作られているかを確認するのが定石です。エントリが1つも生成されていない場合、多くは ip nat inside / ip nat outside の付け忘れや内外の取り違え、あるいはACLが内部セグメントに一致していないことが原因です。逆にエントリはあるのに戻りの通信が来ないなら、ISP向けのデフォルトルートや上位側の到達性を疑う——というように、変換テーブルという実データを起点に切り分けるのがCCNA流のトラブルシュートです。
| 方式 | 対応関係 | 典型用途 | 代表設定キーワード |
|---|---|---|---|
| スタティックNAT | 1対1(固定) | 外部公開サーバ | ip nat inside source static |
| ダイナミックNAT | 多対多(プール・原則1対1割当) | 限られた台数の一時的な外向き通信 | ip nat inside source list ... pool |
| PAT(オーバーロード) | 多対1(ポート番号で識別) | 多数端末を1個の公開アドレスで外へ | ip nat inside source list ... overload |
ひっかけ: 「1個のパブリックアドレスで多数の端末を同時にインターネットへ出すにはダイナミックNATを使う」は誤りです——ダイナミックNATはプール内のアドレス数までしか同時変換できず、1個なら1台しか通信できません。多対1の集約には overload を付けたPATが必須です。また「inside global=外部サーバの実アドレス」も誤り=inside global は内部ホストが変換された後の公開アドレスであり、外部ホスト側のアドレスは outside local / outside global で表します。
4.1.3この節のまとめ
- NATは内部プライベートアドレスを公開アドレスへ変換する。inside local=内部視点の私設アドレス/inside global=変換後の公開アドレス
- スタティック=1対1固定(公開サーバ)/ダイナミック=プールから割当/PAT(overload)=ポート番号で多対1。多数端末を1公開アドレスで外に出すのはPATのみ
- 内部IFに
ip nat inside・外部IFにip nat outsideが必須。障害はshow ip nat translationsで変換エントリの有無から切り分ける
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 中小企業の境界ルータで、社内のPC約80台をISPから割り当てられた1個のパブリックアドレスでインターネットへ同時接続させたい。この要件を満たすNAT方式として最も適切なものはどれか。
Q2. PATを設定した境界ルータで、内部PCがインターネットに全く到達できない。変換ルールとACLは正しく、`show ip nat translations` を実行しても変換エントリが1件も生成されていなかった。最初に確認すべき最も可能性の高い原因はどれか。
Q3. 内部の業務用Webサーバ(プライベートアドレス `10.1.1.10`)を、外部から常に同じパブリックアドレス `203.0.113.10` で到達できるように公開したい。用語と方式の対応として最も適切なものはどれか。

