こんにちは、インフラエンジニアのryuです。
この記事は、CCNAの勉強をしていて、NATの問題になると選択肢を2つまでしか絞れない人に向けて書いています。
NATの仕組みそのものは、「プライベートIPアドレスをグローバルIPアドレスに変える」と覚えていれば大きく外れません。それでも問題で迷うのは、inside local や inside global といった4つのアドレスの呼び方が頭の中で混ざっているからです。
そこでこの記事では、4つの呼び方を先に1つの例で整理し、設定コマンドを確認してから、オリジナルの練習問題を8問解いてもらいます。
NATがなぜ必要なのかから知りたい人は、先にNATとは?の記事を読んでおくと、この記事の内容が入りやすくなります。CCNA全体の勉強の進め方は、CCNAの勉強方法の記事にまとめています。
CCNAでNATはどこまで問われる?¶
まずは試験の範囲を確認しておきます。CCNA(200-301 v1.1)の出題範囲では、NATは「4.0 IP Services」の分野に入っていて、この分野は試験全体の10%です。
項目としては「4.1 Configure and verify inside source NAT using static and pools」と書かれています。つまり、スタティックNATとプールを使ったNATを設定できて、正しく動いているかを確認できることが求められています。
| 試験で見られるところ | 具体的な内容 |
|---|---|
| 用語 | inside local・inside global・outside local・outside global の区別 |
| 設定(Configure) | スタティックNAT、プールを使ったダイナミックNAT、overload を付けたPAT |
| 確認(Verify) | show ip nat translations や show ip nat statistics で変換の状態を読む |
分野の配分は10%なので、出題数としては多くありません。ただ、用語の区別と設定コマンドを一度整理しておけば確実に点を取れる分野なので、後回しにしないほうがよいです。
なお、現行の200-301 v1.1の最終受験日は2027年2月2日で、2027年2月3日からはv2.0に切り替わります。受験日が決まったら、Ciscoの公式ページで出題範囲をもう一度確認しておきましょう。
inside localとinside globalの違いとは?¶
NATの問題でいちばん大事なのが、4つのアドレスの呼び方です。Ciscoのドキュメントでは、次のように決められています。
inside local は、内部ネットワークのホストに割り当てられたアドレス。inside global は、その内部のホストを外部から見たときのアドレス。outside local は、外部のホストを内部から見たときのアドレス。outside global は、外部のホストに割り当てられた本来のアドレス。
言葉だけだと分かりにくいので、1つの例に当てはめてみます。社内のPC 192.168.1.10 が、インターネット上のWebサーバー 198.51.100.20 にアクセスする場面です。ルーターはPCのアドレスを 203.0.113.5 に変換します。
| 呼び方 | この例のアドレス | 意味 |
|---|---|---|
| inside local | 192.168.1.10 |
社内のPCに設定されている本来のアドレス |
| inside global | 203.0.113.5 |
社内のPCが、外から見えるときのアドレス |
| outside local | 198.51.100.20 |
外部のWebサーバーが、社内から見えるときのアドレス |
| outside global | 198.51.100.20 |
外部のWebサーバーに設定されている本来のアドレス |
この例では外部のアドレスは変換していないので、outside local と outside global は同じ値になります。CCNAで問われるのは inside source NAT(内部の送信元アドレスを変換するNAT)なので、ほとんどの問題でこの形になります。
4つの呼び方を間違えないための覚え方¶
呼び方は、前半と後半に分けて読むと整理できます。
前半の inside と outside は、そのアドレスが誰のものかを表します。社内のPCのアドレスなら inside、外部のサーバーのアドレスなら outside です。
後半の local と global は、どこから見たアドレスかを表します。社内のネットワークから見た値なら local、外部のネットワークから見た値なら global です。
つまり inside global は、内部のホストを外から見たときのアドレスで、ルーターが変換したあとの値になります。問題文で「変換後の送信元アドレス」と書かれていたら、inside global を指していると考えてください。
スタティックNAT・ダイナミックNAT・PATの違い¶
NATには、変換の決め方で3つの種類があります。問題文の条件から、どれを使う場面かを読み取れるようにしておきましょう。
| 種類 | 変換のしかた | 使う場面 |
|---|---|---|
| スタティックNAT | 内部の1つのアドレスを、外部の1つのアドレスに固定で対応させる | 社内のサーバーを外部に公開するとき |
| ダイナミックNAT | プールにあるアドレスを、通信が始まったときに順番に割り当てる | 公開用のアドレスを複数持っているとき |
| PAT(overload) | 1つのグローバルアドレスを、ポート番号を分けて複数の端末で共有する | 家庭や小さな拠点で、1つのアドレスで多くの端末を外に出すとき |
PATは、NAPTやNATオーバーロードと呼ばれることもあります。呼び方が違うだけで同じものです。ポート番号を使って区別するしくみは、NAPTとは?の記事で詳しく説明しています。
NATの設定と確認のコマンドを見てみよう¶
ここからは、Ciscoルーターでの設定コマンドを確認します。どの種類のNATでも、最初にインターフェースの内側と外側を決めるところは共通です。
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip nat inside
R1(config-if)# exit
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip nat outside
ここでは、G0/0 が社内のLAN側、G0/1 がインターネット側です。この2行のどちらかが抜けていると、変換のルールを書いてもNATは動きません。
スタティックNATは、内部のアドレスと外部のアドレスを1行で対応させます。
R1(config)# ip nat inside source static 192.168.1.100 203.0.113.10
この設定で、社内のサーバー 192.168.1.100 は、外部からは 203.0.113.10 として見えるようになります。並び順は inside local が先、inside global が後です。
ダイナミックNATは、変換するアドレスをACLで選び、割り当てるアドレスをプールで用意します。
R1(config)# access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)# ip nat pool PUBLIC 203.0.113.1 203.0.113.4 netmask 255.255.255.248
R1(config)# ip nat inside source list 1 pool PUBLIC
PATにするには、最後の行に overload を付けます。プールを使わず、外側のインターフェースのアドレスを共有する書き方もあります。
R1(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload
ここで使っているACLは、通信を止めるためのものではありません。NATのACLは、どの送信元アドレスを変換するかを選ぶためのものです。ACLに一致しなかったアドレスは、変換されずにそのまま転送されます。
ワイルドカードマスクの書き方に不安がある人は、CCNAのACLの練習問題で先に確認しておくと安心です。
設定が終わったら、次のコマンドで確認します。
| コマンド | 分かること |
|---|---|
show ip nat translations |
変換表。inside global・inside local・outside local・outside global の対応が1行ずつ表示される |
show ip nat statistics |
有効な変換の数、inside と outside に設定したインターフェース、ヒット数など |
clear ip nat translation * |
ダイナミックな変換をまとめて消す |
スタティックNATの行は、通信が無くても変換表に表示されます。ダイナミックNATやPATの行は、実際に通信が流れてはじめて作られます。設定したのに変換表が空のときは、まず内部から ping などで通信を出してみてください。
実際のルーターで、スタティックNATの設定を一から試す手順はCiscoルーターでスタティックNATを設定する記事で紹介しています。
CCNAのNAT・PATの練習問題8問¶
ここからはオリジナルの練習問題です。正解と解説は、それぞれの問題のすぐ下の引用ブロックにまとめています。先に自分で答えを決めてから読んでください。
問題1と問題2は、次の場面を使います。社内のPC 192.168.1.10 がWebサーバー 198.51.100.20 にアクセスし、ルーターは送信元を 203.0.113.5 に変換しています。外部のアドレスは変換していません。
問題1:inside global はどれか¶
この場面で、inside global アドレスはどれですか。
- A.
192.168.1.10 - B.
203.0.113.5 - C.
198.51.100.20 - D. ルーターの
G0/0のアドレス
正解:B inside global は、内部のホストを外部から見たときのアドレスです。PCの通信はルーターで
203.0.113.5に変換されて外に出るので、これが inside global です。A はPCに設定されている本来のアドレスなので inside local です。
問題2:outside local はどれか¶
同じ場面で、outside local アドレスはどれですか。
- A.
192.168.1.10 - B.
203.0.113.5 - C.
198.51.100.20 - D. 外部のアドレスは変換していないので、outside local は存在しない
正解:C outside local は、外部のホストを内部から見たときのアドレスです。外部のアドレスを変換していないときは、outside global と同じ値になります。値が同じでも、呼び方としては存在するので D は誤りです。
問題3:スタティックNATのコマンド¶
社内のWebサーバー 192.168.1.100 を、外部から 203.0.113.10 でアクセスできるようにしたいです。正しいコマンドはどれですか。
- A.
ip nat inside source static 192.168.1.100 203.0.113.10 - B.
ip nat inside source static 203.0.113.10 192.168.1.100 - C.
ip nat outside source static 192.168.1.100 203.0.113.10 - D.
ip nat pool WEB 192.168.1.100 203.0.113.10
正解:A inside source static の後ろは、inside local、inside global の順に書きます。B は順番が逆です。C の outside source は外部のアドレスを変換するときの書き方なので、この目的には合いません。
問題4:変換されない原因¶
次の設定をしましたが、社内のPCからインターネットへの通信が変換されません。原因として最も考えられるものはどれですか。
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip nat inside
interface GigabitEthernet0/1
ip address 203.0.113.2 255.255.255.252
!
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface GigabitEthernet0/1 overload
- A. ACLのワイルドカードマスクが間違っている
- B.
G0/1にip nat outsideが設定されていない - C. overload を付けると1台しか変換できない
- D.
ip nat poolを作っていない
正解:B NATは、inside と outside の両方のインターフェースが決まってはじめて動きます。この設定では
G0/1にip nat outsideがありません。interface を指定したPATなので、プールは不要です(D は誤り)。
問題5:プールが足りないとき¶
プールに4つのアドレスを用意し、overload を付けずにダイナミックNATを設定しました。社内のPC4台がすでに変換を使っている状態で、5台目のPCがインターネットに通信しようとしました。どうなりますか。
- A. 5台目は、ポート番号を分けて1つ目のアドレスを共有する
- B. 5台目は、変換が空くまでインターネットに出られない
- C. 5台目は、ルーターの外側のインターフェースのアドレスで自動的に変換される
- D. 1台目の変換が自動的に消され、5台目に割り当てられる
正解:B overload を付けないダイナミックNATでは、プールのアドレスは1台に1つずつ割り当てられます。空きが無いと、新しい端末は変換されず外に出られません。A の動きをさせたいなら、overload を付けてPATにします。
問題6:1つのアドレスを共有する設定¶
社内の多くのPCを、ルーターの G0/1 に設定された1つのアドレスで外に出したいです。正しいコマンドはどれですか。ACL 1 で社内のアドレスを指定しているものとします。
- A.
ip nat inside source list 1 interface GigabitEthernet0/1 - B.
ip nat inside source list 1 interface GigabitEthernet0/1 overload - C.
ip nat inside source static 192.168.1.0 GigabitEthernet0/1 - D.
ip nat outside source list 1 interface GigabitEthernet0/1 overload
正解:B 1つのアドレスを複数の端末で共有するには、overload を付けてPATにします。A は overload が無いので、同時に変換できるのは1台だけになります。C のような書き方はできません。
問題7:ACLに一致しない送信元¶
access-list 1 permit 192.168.1.0 0.0.0.255 を使ってPATを設定しています。別のセグメントにいる 192.168.2.5 のPCから、インターネット側へパケットが送られました。このパケットの送信元アドレスはどうなりますか。
- A. inside global のアドレスに変換される
- B. ACLの暗黙の deny で、ルーターがパケットを破棄する
- C. 変換されず、
192.168.2.5のまま転送される - D. プールの最初のアドレスに変換される
正解:C NATで使うACLは、変換する送信元を選ぶためのものです。一致しなかったパケットは変換の対象にならないだけで、ACLによって破棄されるわけではありません。インターフェースに適用したACLとの違いに注意しましょう。
問題8:変換の状態を確認するコマンド¶
どの inside local アドレスが、どの inside global アドレスに変換されているかを確認したいです。使うコマンドはどれですか。
- A.
show ip nat translations - B.
show ip route - C.
show access-lists - D.
show ip interface brief
正解:A
show ip nat translationsで、変換表の inside global・inside local・outside local・outside global の対応を確認できます。全体の変換の数やインターフェースの設定を見たいときはshow ip nat statisticsを使います。
NATの問題で間違えたときの見直し方¶
8問のうち間違えた問題があれば、どこで迷ったのかを確認しておきましょう。次の表に当てはめると、見直す場所がはっきりします。
| 間違えた問題 | 見直すところ |
|---|---|
| 問題1・2 | 4つの呼び方。前半は誰のアドレスか、後半はどこから見た値か、に分けて読む |
| 問題3・6 | コマンドの並び順と overload の有無。スタティックNATは local が先 |
| 問題4 | ip nat inside と ip nat outside の両方が必要なこと |
| 問題5 | ダイナミックNATとPATの違い。プールの数と同時に変換できる台数の関係 |
| 問題7 | NATのACLは選ぶためのもので、止めるためのものではないこと |
| 問題8 | 確認コマンドの使い分け。変換表と統計情報の違い |
NATは、設定を入れて変換表を見るところまでやると、用語が一気に結び付きます。
今日やる練習とInfraAcademyで続ける方法¶
今日の練習として、次の3つをやってみてください。どれも紙とペンだけでできます。
- 自宅のPCのプライベートIPアドレスと、ブラウザで調べたグローバルIPアドレスを書き出し、どちらが inside local でどちらが inside global かを書き込む
- 問題4の設定を、足りない1行を加えて完成させる
- 問題5の設定を、5台目のPCも外に出られるように1か所だけ書き換える
自宅のルーターは家庭用の製品なので、Ciscoのコマンドとは違います。それでも、PCに設定されたアドレスと外から見えるアドレスが違うことは確認でき、4つの呼び方を実感するにはちょうどよい題材です。
実際にルーターを組んで疎通を確かめたい人は、CCNAのハンズオン課題の記事も参考にしてください。
InfraAcademy のネットワークの講座では、講座の中のシミュレーターでルーターやスイッチを設定して、ping で疎通を確認できます。学ぶ順番はネットワークのロードマップで確認できます。
問題演習を続けたい人は、トップページのInfraAcademy の資格模擬問題から「CCNA模擬試験200問」を解けます。IP Servicesの分野で間違えた問題があれば、この記事の4つの呼び方の表に戻って、どこで取り違えたのかを確認してみてください。
経路の選び方の問題は、CCNAのルーティングの練習問題で別にまとめています。
まとめ¶
CCNAのNAT・PATの問題で、押さえておきたいところを振り返ります。
- inside と outside は誰のアドレスか、local と global はどこから見た値かを表す
- inside global は、内部のホストを外部から見たときの、変換後のアドレス
- スタティックNATは
ip nat inside source staticの後ろに local、global の順で書く - ダイナミックNATはACLとプールで設定し、overload を付けるとPATになる
ip nat insideとip nat outsideの両方が無いとNATは動かない- NATのACLは変換する送信元を選ぶもので、一致しないパケットは変換されずに転送される
NATの問題は、4つの呼び方を例に当てはめ、overload の有無を確認するという2つの手順で、ほとんど解けます。
用語は覚えたつもりでも、時間がたつと混ざりやすい分野です。迷ったら社内のPCとWebサーバーの例に戻って、1つずつ当てはめてみてください。合格に向けて、一緒に進んでいきましょう。



