【概要】
・送信元IPアドレスをNATする(Configと構成図 掲載)
・NAT後のアドレスは、ルータのOutboundのIFのIPアドレスにする
ドキュメントを見ると、[Inside local]や[Inside global]とという単語が出てくるが
混乱する場合は、とりあえず以下の理解で問題ない。
- [Inside local] ⇒ NAT前のアドレス
- [Inside global] ⇒ NAT後のアドレス
構成
- R1 / R2 / R3 それぞれで 送信元IPをstaticにNATする(実環境ではあまりないかと)
- NAT後のIPは、それぞれルータのインターフェイス IPアドレスとする。
- PC1 -> PC2 に対して通信を行う場合
PC1: 例) ping 10.1.1.100 - PC2 -> PC1 に対して通信を行う場合
PC2: 例) ping 10.1.1.254 - 行きのルーティングはStaticで設定するが、帰りは必要ないので設定しない。
Config (Cisco CML利用)
R1-config <click>
hostname R1 ! interface GigabitEthernet0/0 ip address 192.168.1.254 255.255.255.0 ip nat inside ip virtual-reassembly in ! interface GigabitEthernet0/1 ip address 10.12.1.1 255.255.255.0 ip nat outside ip virtual-reassembly in ! ip nat inside source static 192.168.1.100 interface GigabitEthernet0/1 ip route 10.1.1.100 255.255.255.255 10.12.1.2 ! control-plane ! end
R2-config <click>
hostname R2 ! interface GigabitEthernet0/0 ip address 10.12.1.2 255.255.255.0 ip nat inside ip virtual-reassembly in ! interface GigabitEthernet0/1 ip address 10.23.1.2 255.255.255.0 ip nat outside ip virtual-reassembly in ! ip nat inside source static 10.12.1.1 interface GigabitEthernet0/1 ip route 10.1.1.100 255.255.255.255 10.23.1.3 ! control-plane ! end
R3-config <click>
hostname R3 ! interface GigabitEthernet0/0 ip address 10.23.1.3 255.255.255.0 ip nat inside ip virtual-reassembly in ! interface GigabitEthernet0/1 ip address 10.1.1.254 255.255.255.0 ip nat outside ip virtual-reassembly in ! ip nat inside source static 10.23.1.2 interface GigabitEthernet0/1 ! control-plane ! end
ポイント
[ip nat inside]と[ip nat outside]
インターフェイスに[ip nat inside]と[ip nat outside]を設定する。
ip nat inside source static
R1(config)#ip nat inside ? destination Destination address translation source Source address translation
今回は送信元IPをNATするので、sourceを設定する
R1(config)#ip nat inside source ? list Specify access list describing local addresses route-map Specify route-map static Specify static local->global mapping
今回はStaticNATを行うのでStaticを設定する
- [list]はACLで指定が可能
- [route-map]はroute-mapと絡ませることが可能。
設定例)ip nat inside source static 192.168.1.100 interface GigabitEthernet0/1
- 青アンダーラインは、NATする送信元IPアドレス(NAT前のアドレス)
- 赤アンダーラインは、NAT後のアドレス(今回はルータのGi0/1IPアドレスに変換)
ルーティングテーブル
① 行き(PC1->PC2)への通信に対し必要なルータには、ルーティングの設定をする
② 帰り(PC2->PC1)には追加でルーティングの設定は必要ない。※configを参照
① 行き(PC1->PC2)
PC1の宛先はPC2 (10.1.1.100)になる。
- PC1は宛先が自分の持つセグメントと異なるので、デフォルゲートとなるR1へ転送する。
- R1は宛先(10.1.1.100)を知らないので、Static routeの設定が必要。
- R2は宛先(10.1.1.100)を知らないので、Static routeの設定が必要。
- R3は宛先(10.1.1.100)をConnetとして知っているのでroutingの設置をしない。
② 帰り(PC2->PC1)
R3->PC2に到着するパケットの送信元IPと宛先IPを考える。
送信元IPは”10.1.1.254 ” 宛先IPは”10.1.1.100″でPC2に到着する。よって帰りのパケットをひっくり返るので
送信元IPは”10.1.1.100 ” 宛先IPは”10.1.1.254″ になる。
つまり、PC2 -> PC1への通信する場合、(pingならば)ping 10.1.1.254にすることでPC1への到達する。
各機器での送信元IPと宛先IPをまとめると以下になる。
- PC1:宛先はPC1のデフォルトゲートウェイになる。
- R3:宛先は10.23.1.2 (これは自身が持っているConnectなので、Routing設定不要)
- R2:宛先は10.12.1.1 (これは自身が持っているConnectなので、Routing設定不要)
- R1:宛先は192.168.1.100 (これは自身が持っているConnectなので、Routing設定不要)
よって、上記1~4より帰りのルーティングは設定する必要がない。
Packet Captureで確認
CiscoCMLはPacket Captureが容易なため、最後に各ポイントでのPacket Captureを掲載。
想定通りの送信元IP / 宛先IP となっている。
PC1 → PC2での (PC1とR1間)のCaputre
PC1 → PC2での (R1とR2間)のCaputre
PC1 → PC2での (R2とR3間)のCaputre
PC1 → PC2での (R3とPC2間)のCaputre
PC2 → PC1での (PC2とR3間)のCaputre
PC2 → PC1での (R3とR2間)のCaputre
PC2 → PC1での (R2とR1間)のCaputre
PC2 → PC1での (R1とPC1間)のCaputre