ネットワークスペシャリスト - SE娘の剣 -

左門至峰によるネットワークスペシャリストの試験対策サイトです。勉強方法、合格体験談、合格のコツ、過去問解説、基礎知識などの紹介します。

NAT

1.NATを設定してみよう

NAT(Network Address Translation)とは、そのスペルが意味するように、ネットワークアドレスの変換です。

(1)NATが求められる例

2 

NATなんて使うときあるのですか?
例えば、2つの部署をくっつけて、一つのネットワークにしたとします。どちらも192.168.1.0/24のネットワークです。IPアドレスの重複は正常な通信ができません。かといって、プリンタやらサーバやらで、いまさらIPアドレスを変更するのは大がかりとします。そのときに、アドレスを変換して通信すればいいのです。
nat1

Question:では、この場合、どのようなNATの設定をすればいいでしょうか。






Answer. 1つの方法ですが、R1とR1を接続して一つのネットワークのする際に、お互い相手からは、違うアドレスに見せます。
 ネットワーク①は172.16.1.0/24
 ネットワーク②は172.16.2.0/24
※片方だけでも構いません。
そのために、ルータR1では、172.16.1.0/24を192.168.1.0/24にNATし、ルータR2でも172.16.2.0/24を192.168.1.0/24のネットワークにNATします。

送信元NATと宛先NATのどちらかで言うと、
R1のNAT設定において、ネットワーク①からネットワーク②に向かう通信においては送信元NAT、ネットワーク②からネットワーク①に向かう通信においては宛先NATを実施します。

(2)NATを設定してみた

上記とIPアドレスが変わってしまっていますが、設定例を紹介します。
❶構成とNATテーブル
インターネットPC ⇒ ルータ  ⇒ PC(やサーバなど)が複数
203.0.113.2     203.0.113.1    192.168.1.2
            192.168.1.1
【NATテーブル】

変換前IPアドレス 変換後IPアドレス
192.168.1.2 10.1.1.2
192.168.1.3 10.1.1.3

こうすることで、192.168.1.0のネットワークを、外部からは10.1.1.0/24のネットワークに見せることができる。公開サーバのときは、10.1.1.0の部分が割り当てられたグローバルになるのであろう。

❷Config@1841
ポイントとなるConfigを記載します。

interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside

interface FastEthernet0/1
 ip address 203.0.113.1 255.255.255.0
 ip nat outside

ip nat inside source static 192.168.1.2 10.1.1.2
ip nat inside source static 192.168.1.3 10.1.1.3

❸NATテーブル
NATはIPだけの情報を持つはずなので、以下になることを期待

Router#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 10.1.1.2           192.168.1.2        ---                ---
--- 10.1.1.3           192.168.1.3        ---                ---

しかし、実際にはポート番号も保持していた。別に、ポート番号を変換しているわけではないのだが、NATとNAPTの違いが分かりずらいなあと。

Router#show ip nat translations ※実際に通信をしないと表示されないかも
Pro Inside global      Inside local       Outside local      Outside global
tcp 10.1.1.2:50663     192.168.1.2:50663  203.0.113.2:443    203.0.113.2:443
tcp 10.1.1.2:50664     192.168.1.2:50664  203.0.113.2:443    203.0.113.2:443
--- 10.1.1.2           192.168.1.2        ---                ---
tcp 10.1.1.3:52602     192.168.1.3:52602  203.0.113.2:443    203.0.113.2:443
tcp 10.1.1.3:52603     192.168.1.3:52603  203.0.113.2:443    203.0.113.2:443
tcp 10.1.1.3:52604     192.168.1.3:52604  203.0.113.2:443    203.0.113.2:443
tcp 10.1.1.3:52605     192.168.1.3:52605  203.0.113.2:443    203.0.113.2:443
tcp 10.1.1.3:52606     192.168.1.3:52606  203.0.113.2:443    203.0.113.2:443
(3)送信元 (Source) NATと宛先 (Destination) NAT

・パケットのヘッダには送信元IPアドレスと宛先IPアドレスの2つがあることにともない、NATには、送信元 (Source) NATと宛先 (Destination) NATがある。
ネットワークスペシャリスト試験の過去問(H21NW午後1問3)では、送信元NATを「ソースNAT」という表現で記載している。
・Ciscoのコマンドでの送信元NAT
送信元IPアドレス192.168.1.1を200.1.1.1に変換

(config)#ip nat inside source static 192.168.1.1 200.1.1.1

※insideはIFのどちら側かを差しているので、あまり気にしないでください。
・Ciscoのコマンドでの宛先NAT

(config)#ip nat outside destination static 192.168.1.1 1.1.1.1

※outsideはIFのどちら側かを差しているので、あまり気にしないでください。

2.公開サーバにおけるNAT

NATの事例をもう一つ紹介します。これはよくある事例かと思います。 DMZの公開サーバですが、公開しているので、当然グローバルIPアドレスが必要です。しかし、サーバ自体にはプライベートIPアドレスを割り当て、NATすることがよくあります。
4 
  
そんなことをする意味はあるのですか?
そのままグローバルIPアドレスを使えばいいと思います。
DMZには予備サーバや試験環境など複数の機器が接続されている場合があります。グローバルIPアドレスは有限なので、それらすべてにグローバルIPアドレスを割り当てることは難しいケースがあります。また、サーバをDCに移設した場合に、グローバルIPアドレスが変わった場合にも便利です。サーバの設定変更は必要がなく、NAT変換だけですみます。

ここでは、以下のシンプルな仮想環境でNATの様子を確認ください。
3
(仮想)インターネットからは1.1.1.1のグローバルIPアドレスに通信をしているつもりですが、実際にはFWでNATされて、172.16.1.1に通信をしています。
NATテーブルとしては、単純ですが、以下のようになっています。
【NATテーブル】

変換前IPアドレス 変換後IPアドレス
1.1.1.1 172.16.1.1

また、NAT前のパケットと、NAT後のパケットを以下に記載します。同じシーケンスNOですが、宛先IPアドレスだけが変換されています。

▼NAT変換前

▼NAT変換後

3.NAPT(Network Address Port Translation)

(1)NAPT概要

・IPマスカレードと同じこと。正しくはNAPT。製品によっては、NAT+と表現するものもあるようだ。
・情報処理試験では、古くはIPマスカレードという表現を用いていたが、ここ最近ではNAPTである。答案に書くときは、「IPマスカレード」という表現を使わず、必ずNAPTと書くべきである。
・ネットワークスペシャリスト試験の過去問(H19NW午前 問36)では、NAPTに関して次の記述がある。

TCP、UDPのポート番号を識別し、プライベートIPアドレスとグローバルIPアドレスとの対応関係を管理することによって、プライベートIPアドレスを使用するLANの複数の端末が、一つのグローバルIPアドレスを共有してインターネットにアクセスする仕組み。

・NAPTは、セキュリティ面の効果もある。H21春AP問9では、NAPTに関して、「グローバルIPアドレス数の不足を解消するとともに、社内LAN上にある機器のアドレス情報を隠ぺいするという効果も実現している。」と述べられている。

・製品の実装次第ではあるが、ポート番号は重複が無い限り、ポート番号の変換(Port Translation)はしません。
たとえば、以下

■複数の送信元IPアドレスから、異なる送信元ポートで通信した場合(一般的にはこっちになる) ※宛先IPアドレスと宛先ポート番号は恐らく重複する

変換前   変換後  
送信元IPアドレス 送信元ポート番号 変換後IPアドレス 変換後ポート番号
192.168.1.101 10001 203.0.113.1 10001
192.168.1.102 25002 203.0.113.1 25002

■複数の送信元IPアドレスから、(偶然にも)同じポートで通信した場合

変換前   変換後  
送信元IPアドレス 送信元ポート番号 変換後IPアドレス 変換後ポート番号
192.168.1.101 10001 203.0.113.1 10001
192.168.1.102 10001 203.0.113.1 10002
(2)設定例

CiscoルータでNAPTの設定をやってみましょう。

interface FastEthernet1
 ip address 203.0.113.1 255.255.255.0
 ip nat outside

interface GigabitEthernet0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside

ip nat pool patpool 203.0.113.1 203.0.113.1 netmask 255.255.255.0
ip nat inside source list 10 pool patpool overload
access-list 10 permit 192.168.1.0 0.0.0.255

※設定はもう少し簡略化できるはず。

(3)NAPTテーブルの例

見てみましょう。

Router#show  ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
tcp 203.0.113.1:50024  192.168.1.2:50024  203.0.113.2:443    203.0.113.2:443
tcp 203.0.113.1:50025  192.168.1.2:50025  203.0.113.2:443    203.0.113.2:443
・・・
tcp 203.0.113.1:50986  192.168.1.4:50986  203.0.113.2:443    203.0.113.2:443
tcp 203.0.113.1:50991  192.168.1.4:50991  203.0.113.2:443    203.0.113.2:443
・・・

※203.0.113.1という1つのIPアドレスに、192.168.1.2と192.168.1.4の複数のポートが対応していることが分かります(=1対多)。また、ポート番号は保持していますが、実際には変わっていませんね。

(4)NATとNAPTの違い

NATとNAPTの違いですが、一般的には次のように言われることでしょう。
NATは1対1のアドレス変換。NAPTは1対多のアドレス変換。
具体的には、NAPTの場合、複数のプライベートIPアドレスを1つのグローバルIPアドレスに変換します。
5

NATとNAPTの違いですが,何となく理解できません。
NATとNAPTの違いは,NATテーブルとNAPTテーブルを書いてみるとよくわかる。
①NATテーブル

変換前 変換後
200.1.1.1 192.168.1.100

②NAPTテーブル

変換前 変換後  
200.1.1.1 2000 192.168.1.100 1001
200.1.1.1 2001 192.168.1.200 1002

このように,NATテーブルはIPアドレスのみの変換テーブルを持ちます。NAT(Network Address Translation)という言葉の通りです。一方,NAPTテーブルは、NAPT(Network Address Port Translation)として名前に「Port」が入っているように、IPアドレスとポート番号の変換テーブルを持ちます。※ただ、実際のNATテーブルはどちらも同じだ。

では、ネットワークスペシャリスト試験の過去問を見てみよう。

ダイヤルアップルータやブロードバンドルータが、IPマスカレード機能を実現するために管理している情報はどれか。

ア IPアドレスと、ネットワークインターフェースカード固有のMACアドレスの対応
イ 一定時間内にアクセスしたURLとそのページの内容
ウ プライベートIPアドレス及びそのポート番号と、グローバルIPアドレス及びそのポート番号の対応
エ ホスト名とISPへ接続するたびに変わるグローバルIPアドレスの対応
(H16NW午前問25 IPマスカレード)






正解はウ