InfraAcademy

InfraAcademy Blog

CCNAのNAT問題で迷うinside localとinside global。スタティックNAT・PATの設定と、練習問題8問で区別できるようにする

著者: ryu | #CCNA #NAPT #nat
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

この記事を共有

こんにちは、インフラエンジニアの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つをやってみてください。どれも紙とペンだけでできます。

  1. 自宅のPCのプライベートIPアドレスと、ブラウザで調べたグローバルIPアドレスを書き出し、どちらが inside local でどちらが inside global かを書き込む
  2. 問題4の設定を、足りない1行を加えて完成させる
  3. 問題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つずつ当てはめてみてください。合格に向けて、一緒に進んでいきましょう。

参考

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

株式会社InfraAcademy 代表 / エンジニア

大手メーカーでインフラエンジニアとして勤務した後、ベンチャー企業・スタートアップでフルスタックエンジニアを経験。その後、起業し学習サービス「InfraAcademy」を運営しています。
保有資格:ネットワークスペシャリストなど 運営会社:株式会社InfraAcademy

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る