cisco双方向NATの設定と陥りやすい間違いを詳しく解説

今回は双方向NATについてご紹介をさせて頂きます。

その前にNATについて簡単に説明をさせて頂きますと、NATとは、Network Address Translationの略でIPアドレスを変換する技術です。

一般的には、プライベートIPアドレスをグローバルIPアドレスに変換する技術とされています。多くの企業様では社内ではプライベートアドレスを使用していて、インターネットに接続する際はグローバルIPアドレスに変換して通信ができるようになっています。

NATにもソースNAT、ディスチネーションNATがあります。それぞれ送信元アドレスの変換、宛先アドレスの変換を行うことを意味しています。

今回ご紹介する双方向NATとは、1台のNAT機能を持ったデバイスで内部の送信元アドレス、および外部の送信元アドレスを同時にNAT変換を行うことを言います。

例えば、ご覧のネットワークがある場合
insideの送信元を、192.168.4.1 から192.168.2.3へ
また、 outsideの送信元を192.168.3.1 から 192.168.1.3 へとIPアドレスを変換します。

cisco双方向NATの設定と陥りやすい間違いを詳しく解説

 

この双方向NATのメリットは、
 内部ホストと外部ホストの両方が相手のネットワークを意識する必要が無い。
 内部ホストと外部ホストともにデフォルトゲートウェイの設定をしなくても通信ができる
 お互いの実IPアドレスを知らなくても通信可能な双方向NATです。

などのメリットがあります。

では、実際に設定をしてみましょう。

cisco双方向NATの設定と陥りやすい間違いを詳しく解説

要件はこのとおりで、
・大阪RT、名古屋RTともにお互い相手のnetworkを知らない。
・大阪RTは東京RTの192.168.1.3しか知らない。
・名古屋RTも東京RTの192.168.2.3しか知らない。

前回、第26回で無料のciscoシミュレーションソフトである「パケットトレーサー」をご紹介させて頂きました。
今回は実際にそのパケットトレーサーを使用しながら設定したいと思います。

まず、最初に大阪RTの設定ですが、このようにとてもシンプルです。
見てお分かりのように名古屋RTへのルーティング192.168.3.0/24は入っておりません。

Osaka_RT#sh run
Building configuration…

Current configuration : 821 bytes
!
version 15.1
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Osaka_RT
!
ip cef
no ipv6 cef
!
license udi pid CISCO2901/K9 sn FTX152438F9-
!
spanning-tree mode pvst
!
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.240
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 192.168.4.254 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
line con 0
logging synchronous
login
!
line aux 0
!
line vty 0 4
logging synchronous
login
!
end

同様に、名古屋RTの設定も行います。
大阪RTへのルーティング192.168.4.0/24は設定されていません。
また、スタティックルートされたパケットが到着しているかどうかを確認する為、gi0/0にアクセスリストを追加しております。

Nagoya_RT#sh run
Building configuration…

Current configuration : 880 bytes
!
version 15.1
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Nagoya_RT
!
ip cef
no ipv6 cef
!
license udi pid CISCO2901/K9 sn FTX152463Q1-
!
spanning-tree mode pvst
!
interface GigabitEthernet0/0
ip address 192.168.2.1 255.255.255.240
ip access-group 100 in
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 192.168.3.254 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
access-list 100 permit ip any any
!
line con 0
logging synchronous
login
!
line aux 0
!
line vty 0 4
logging synchronous
login
!
!
!
end

東京RTの設定ポイントは、この3つのコマンドです。

ip nat inside source static 192.168.4.1 192.168.2.3
ip nat outside source static 192.168.3.1 192.168.1.3
ip route 192.168.1.3 255.255.255.255 gi0/1

上の2つのコマンドでは、
inside側の送信元IPアドレス192.168.4.1を192.168.2.3へ、
outside側の送信元IPアドレス192.168.3.1を192.168.1.3へNAT変換しています。

ここで注意したいのは送信元IPアドレス192.168.4.1を192.168.2.3へ変換するということは、送信先192.168.2.3が192.168.4.1へNAT変換されるということでもあります。

また、3つ目のコマンドは、192.168.1.3へのルートを追加しています。
これはinside側の処理がルーティングをしてからNAT変換される為、このルーティングコマンドがないと通信できませんのでご注意下さい。

outside側はNAT変換してからルーティングされるので特別なルーティングは不要です。

そしてこちらが東京RTの設定です。

Tokyo_RT#sh run
Building configuration…

Current configuration : 1226 bytes
!
version 15.1
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Tokyo_RT
!
ip cef
no ipv6 cef
!
license udi pid CISCO2901/K9 sn FTX1524U402-
!
spanning-tree mode pvst
!
interface GigabitEthernet0/0
ip address 192.168.1.2 255.255.255.240
ip access-group 101 in
ip nat inside
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 192.168.2.2 255.255.255.240
ip access-group 102 out
ip nat outside
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip nat inside source static 192.168.4.1 192.168.2.3
ip nat outside source static 192.168.3.1 192.168.1.3
ip classless
ip route 192.168.1.3 255.255.255.255 GigabitEthernet0/1
ip route 192.168.4.0 255.255.255.0 192.168.1.1
ip route 192.168.3.0 255.255.255.0 192.168.2.1
!
ip flow-export version 9
!
!
access-list 101 permit ip any host 192.168.1.3
access-list 102 permit ip any host 192.168.3.1
!
line con 0
logging synchronous
login
!
line aux 0
!
line vty 0 4
logging synchronous
login
!
end

youtubeでもご紹介しておりますのでぜひご覧ください。