2011年03月09日

同一ネットワーク・アドレスのLAN間をNAT接続

とある運用中のサーバPC(計4台)を物理的に別ネットワーク(LAN2)に接続し、LAN2側からアクセスしたいという話がありまして、サーバPCの空きEthernetポートに設定するIPアドレスを聞いたところ、172.16.100.200~203/24との事。。。

こ、これは・・既にサーバPCからアクセスしているネットワークの一つと(172.16.100.0/24)同じネットワーク・アドレスじゃありませんか!

overview1

このままではサーバPCをLAN2側に172.16.100.200~203のアドレスで接続することは出来ないので、YAMAHAのルータを使って(今回の評価ではRT58iを利用しています)色々と試すことにしました。

まずは静的NAT

 
静的NATで2つのLANを接続’を参考に、早速、次のような構成を試してみました。
 
overview2

この図でいうところのPC-lan2(172.16.100.50)から172.16.100.200~203にアクセスするとルータが代理して、中間ネットワーク(lan1)側のサーバPC(192.168.100.200~203)に転送、その応答をPC-lan2に戻すようにしたいのです。
 
こちらがルータのコンフィグです。
 
#RT58i本体のIPアドレス(lan1, lan2側)
ip lan1 address 192.168.100.1/24
ip lan2 address 172.16.100.1/24

#静的NAT
ip lan2 nat descriptor 1
nat descriptor type 1 nat
nat descriptor address outer 1 172.16.100.200
nat descriptor address inner 1 192.168.100.200

#IPアドレスの対応
nat descriptor static 1 1 172.16.100.200=192.168.100.200 1
nat descriptor static 1 2 172.16.100.201=192.168.100.201 1
nat descriptor static 1 3 172.16.100.202=192.168.100.202 1
nat descriptor static 1 4 172.16.100.203=192.168.100.203 1

擬似環境を構築しPC-lan2からサーバPC1(172.16.100.200)にpingを飛ばすと、、応答がありません。。。
サーバPC1側でパケットをキャプチャすると、届いてはいるが送信元のIPアドレスが172.16.100.50(PC-lan2)のままになっているので反対側にいるPC-lan2まで戻っていないことがわかりました。

capture2
(送信元IPアドレスが172.16.100.50のまま)

てっきり、静的NAT設定するとlan2側から送信されたパケットの送信元IPアドレスをルータのlan1側アドレス(192.168.100.1)に変換してくるだろうと思っていたのですが、よく考えればそこまでするはずないですよね。
 
 

静的NAT+動的NAT(マスカレード/NAPT)


静的NATだけでは意図した動作にはならないのでルータのlan1側インタフェースに動的NAT設定を追加します。

overview3

こちらがそのコンフィグ。
 
#RT58i本体のIPアドレス(lan1, lan2側)
ip lan1 address 192.168.100.1/24
ip lan2 address 172.16.100.1/24

#静的NAT
ip lan2 nat descriptor 1
provider lan2 name LAN:
nat descriptor type 1 nat
nat descriptor address outer 1 172.16.100.200
nat descriptor address inner 1 192.168.100.200

#IPアドレスの対応
nat descriptor static 1 1 172.16.100.200=192.168.100.200 1
nat descriptor static 1 2 172.16.100.201=192.168.100.201 1
nat descriptor static 1 3 172.16.100.202=192.168.100.202 1
nat descriptor static 1 4 172.16.100.203=192.168.100.203 1

#lan1側動的NAT。lan2側の送信パケットを192.168.100.1でマスカレード。
ip lan1 nat descriptor 2
nat descriptor type 2 masquerade
nat descriptor address outer 2 192.168.100.1

PC-lan2(172.16.100.50)からサーバPC1(172.16.100.200)にpingを飛ばすと、、応答が戻ります。

ping1

さらにサーバPC1側のパケットをキャプチャしてみると、送信元のアドレスが192.168.100.1に変換されたICMPパケットが届いていることがわかります。
 
capture1

これで同一ネットワーク・アドレスを持つLAN間を接続する事ができました。

今回の構成であれば、LAN1、LAN2上にいる機器にゲートウェイ、個別ルートの設定を追加する必要は無くLAN間を接続する事ができます。
(動的NATだけであれば、lan2側の機器に中間ネットワークへのルート設定が必要になる)
 
本番環境ではRTX1200を使おうかと考えています。
 
ヤマハ ギガアクセスVPNルーター RTX1200
ヤマハ 
売り上げランキング: 2373

ヤマハルーター運用設定マニュアル RTX1200/ SRT100のGUI&コマンドラインの実践

アスキー・メディアワークス 
売り上げランキング: 14147

Posted by netbuffalo at 19:14│TrackBack(0) ネットワーク 


この記事へのトラックバックURL