1. コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config-GigaEthernet0.0)# ip napt enable
Router(config-GigaEthernet0.0)# ip nat enable
Router(config-GigaEthernet0.0)# ip nat static <inside_local> <inside_global>
Router(config-GigaEthernet0.0)# ip nat static network <inside_network> <global_network>

2. 仕様説明

2.1. NAPT

IXシリーズのNAPT設定は非常に簡単です。Outside側のインターフェースに対して以下の1行を投入するだけです。

Router(config-GigaEthernet0.0)# ip napt enable

2.2. static NAT

static NATを行うには、まずOutside側のインターフェースに対してNATを有効にします。

Router(config-GigaEthernet0.0)# ip nat enable

グローバルアドレスとプライベートアドレスの対応について、アドレス単位の設定とネットワーク単位の設定を投入します。

Router(config-GigaEthernet0.0)# ip nat static <inside_local> <inside_global>
Router(config-GigaEthernet0.0)# ip nat static network <inside_network> <global_network>

3. 動作確認環境

以下の構成で動作確認を行います。


            ::100    ::254           .254     ::200
 +---------+ .100     .254 +--------+.254      .200 +---------+
 | Host100 +---------------+ IX2215 +---------------+ Host200 |
 +---------+          G1.0 +--------+ G0.0          +---------+
            192.168.0.0/24           150.0.0.0/24
            2001::/64                2001:150::/64
 [IX2215]
interface GigaEthernet1.0
  ip address 192.168.0.254/24
  ipv6 address 2001::254/64
  no shutdown
!
interface GigaEthernet0.0
  ip address 150.0.0.254/24
  ipv6 address 2001:150::254/64
  no shutdown
!
username cisco password plain cisco
telnet-server ip enable

初期設定の全文は以下を参照下さい。

4. NAPT PAT IPマスカレード

4.1. 設定投入

NAPTを設定し、Host100からHost200へ接続可能にします。 設定は非常に簡単で、Outside側のInterfaceにip napt enableと一行入力するだけです。

interface GigaEthernet0.0
 ip napt enable

4.2. 疎通確認

Host100からHost200への疎通が可能になるようHost100のみstaic routeを投入します。 なお、Host200にはdefault gatewayもstatic routeも設定しません。 これはNATによって疎通可能になるかどうかを確認するためです。

C:\Users\host100> route add 150.0.0.0 mask 255.255.255.0 192.168.0.254

Host100からHost200への疎通が可能になるようHost100のみstaic routeを投入します。 なお、Host200にはdefault gatewayもstatic routeも設定しません。 これはNATによって疎通可能になるかどうかを確認するためです。

C:\Users\host100> route add 150.0.0.0 mask 255.255.255.0 192.168.0.254

Host100からHost200への疎通を確認します。

C:\Users\host100> ping 150.0.0.200

150.0.0.200 に ping を送信しています 32 バイトのデータ:
150.0.0.200 からの応答: バイト数 =32 時間 <1ms TTL=127
150.0.0.200 からの応答: バイト数 =32 時間 <1ms TTL=127
150.0.0.200 からの応答: バイト数 =32 時間 <1ms TTL=127
150.0.0.200 からの応答: バイト数 =32 時間 <1ms TTL=127

150.0.0.200 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

C:\Users\host100> 

5. static NAT

5.1. 設定投入

Host100を150.0.0.100として公開します。 Outside Interfaceに以下3行の設定を投入します。 NATの有効化, アドレスのマッピング, ネットワークのマッピングの3設定のみです。

interface GigaEthernet0.0
  ip nat enable
  ip nat static 192.168.0.100 150.0.0.100
  ip nat static network 192.168.0.0/24 150.0.0.0/24

5.2. 疎通確認

Host200からHost100への疎通が可能である事を確認します。

C:\Users\host200> ping 150.0.0.100

150.0.0.100 に ping を送信しています 32 バイトのデータ:
150.0.0.100 からの応答: バイト数 =32 時間 =2ms TTL=127
150.0.0.100 からの応答: バイト数 =32 時間 <1ms TTL=127
150.0.0.100 からの応答: バイト数 =32 時間 <1ms TTL=127
150.0.0.100 からの応答: バイト数 =32 時間 <1ms TTL=127

150.0.0.100 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 2ms、平均 = 0ms

C:\Users\host200> 

確かにアドレスが変換されてHost100へ到達している事を確認するため、Host100にてパケットキャプチャを行います。 なお、この類の疎通確認は必ず行った方が良いと私は感じています。 かつて私はCisco機のstatic NATの設定ミスで、ルータがping応答を返してしまったため、Inside側までパケットが届いていない事に気づけませんでした。

No.     Time           Source                Destination           Protocol Length Info
    273 97.643963000   150.0.0.200           192.168.0.100         ICMP     74     Echo (ping) request  id=0x0001, seq=28/7168, ttl=127 (reply in 274)

Frame 273: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface 0
Ethernet II, Src: NecInfro_e2:a2:1d (00:60:b9:e2:a2:1d), Dst: HewlettP_4b:85:11 (e4:11:5b:4b:85:11)
Internet Protocol Version 4, Src: 150.0.0.200 (150.0.0.200), Dst: 192.168.0.100 (192.168.0.100)
Internet Control Message Protocol

IXのshowコマンドにより、アドレス変換が行われた事を確認します。

Router(config)# show ip nat translation
Interface: GigaEthernet0.0
NAT Cache - 2 entry, 510 free, 2 peak, 2 create, 0 overflow
Codes: S - Static
  Inside Address  Outside Address Time
S 192.168.0.100   150.0.0.100     3308
S 192.168.0.255   150.0.0.255     3303
Router(config)#

6. default gateway 設定

実環境ではインターネットへのルーティングを設定しなければ疎通可能になりません。 動作確認可能な検証環境は構築できていませんが、Host200をデフォルトゲートウェイとする ルーティングを設定します。

ip route 0.0.0.0/0 150.0.0.254

"show ip route"コマンドで、デフォルトゲートウェイを確認します。

R254(config)# show ip route
IP Routing Table - 3 entries, 1 hidden, 2044 frees
Entries: 2 Connected, 1 Static, 0 RIP, 0 OSPF, 0 BGP
Codes: C - Connected, S - Static, R - RIP, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, B - BGP
       * - Candidate default, s - Summary
Timers: Age
S*   0.0.0.0/0 [1/1] via 150.0.0.254, GigaEthernet0.0, 0:00:03
     150.0.0.0/16 is subnetted, 1 subnets
C      150.0.0.0/24 [0/1] is directly connected, GigaEthernet0.0, 0:00:03
C    192.168.0.0/24 [0/1] is directly connected, GigaEthernet1.0, 0:23:29
R254(config)#