◆ 双方向NAT(Twice NAT)とは
双方向NATとは、1台のNATデバイスで「内部の送信元アドレス変換」と「外部の送信元アドレス変換」を
同時に行うNATのことです。双方向にアドレスが変換されることから、内部ホストも外部ホストの双方とも
お互いのIPアドレスを知ることなく通信することが可能です。
双方向NATを実現するためには、Cisco機器(NATデバイス)に2つのコマンドを設定する必要があります。
・ ip nat inside source static
・ ip nat outside source static
下図では、ip nat inside source static により変換される対象のアドレスを赤文字にして、ip nat outside
source static により変換される対象のアドレスを青文字にしています。先ず、下図を理解することが大切。
◆ 双方向NAT(Twice NAT)- コンフィグ設定例
下図は、内部ホストを「192.168.1.0/24」のネットワーク、外部ホストを「10.1.1.0/24」のネットワーク
に配置しています。双方向NATにより、内部ホストが通信する外部ホストを「内部ホスト」のように見せて
外部ホストが通信する内部ホストを「外部ホスト」のように見せて通信させてます。つまり、内部ホストは
通信相手を「192.168.1.20」と認識して、一方、外部ホストは通信相手を「10.1.1.20」と認識しています。
※ show ip arp で「192.168.1.20」と「10.1.1.20」がNATルータが保持しているIPアドレスと分かります。
Cisco(config) # ip nat inside source static 192.168.1.10 10.1.1.20
Cisco(config) # ip nat outside source static 10.1.1.10 192.168.1.20
Cisco(config) # interface GigabitEthernet0/1
Cisco(config-if) # ip address 192.168.1.254 255.255.255.0
Cisco(config-if) # ip nat inside
Cisco(config) # interface GigabitEthernet0/0
Cisco(config-if) # ip address 10.1.1.254 255.255.255.0
Cisco(config-if) # ip nat outside
Cisco(config) # ip route 192.168.1.20 255.255.255.255 GigabitEthernet0/0
|
最終行のスタティックルートの必要性については、ip nat outside source static の解説をご参照下さい。
Static Routeの代わりに「ip nat outside source static 10.1.1.10 192.168.1.20
add-route」でもOK。
上記の双方向NATをコンフィグ設定すると、以下のNATテーブルが静的に設定されます。この状態により
内部ホスト、外部ホストともに、当然ながらデフォルトゲートウェイの設定をしなくても、NATルータを
越えて通信することができます。これがお互いの実IPアドレスを知らなくても通信可能な双方向NATです。
show ip nat translation 表示結果 |
Inside global |
Inside local |
Outside local |
Outside global |
10.1.1.20 |
192.168.1.10 |
--- |
--- |
--- |
--- |
192.168.1.20 |
10.1.1.10 |
|