スポンサーリンク
スポンサーリンク

[cisco] nat inside source static

【概要】
・送信元IPアドレスをNATする(Configと構成図 掲載)
・NAT後のアドレスは、ルータのOutboundのIFのIPアドレスにする

ドキュメントを見ると、[Inside local]や[Inside global]とという単語が出てくるが
混乱する場合は、とりあえず以下の理解で問題ない。

  • [Inside local] ⇒ NAT前のアドレス
  • [Inside global] ⇒ NAT後のアドレス

構成

static-nat_1-1

  • 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)

static-nat_2-1

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をまとめると以下になる。

  1. PC1:宛先はPC1のデフォルトゲートウェイになる。
  2. R3:宛先は10.23.1.2 (これは自身が持っているConnectなので、Routing設定不要)
  3. R2:宛先は10.12.1.1 (これは自身が持っているConnectなので、Routing設定不要)
  4. R1:宛先は192.168.1.100 (これは自身が持っているConnectなので、Routing設定不要)

よって、上記1~4より帰りのルーティングは設定する必要がない。

Packet Captureで確認

CiscoCMLはPacket Captureが容易なため、最後に各ポイントでのPacket Captureを掲載。
想定通りの送信元IP / 宛先IP となっている。

PC1 → PC2での (PC1とR1間)のCaputre 

cap1

PC1 → PC2での (R1とR2間)のCaputre

cap2

PC1 → PC2での (R2とR3間)のCaputre

cap3

PC1 → PC2での (R3とPC2間)のCaputre

cap4

PC2 → PC1での (PC2とR3間)のCaputre

PC2 → PC1での (R3とR2間)のCaputre

cap6

PC2 → PC1での (R2とR1間)のCaputre

cap7

PC2 → PC1での (R1とPC1間)のCaputre

cap8

NATALL
スポンサーリンク
スポンサーリンク