0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

久しぶりにGNS3(その11:セキュアL2トンネリング/ブリッジ:NAT)

Posted at

IPsecを伴ったL2トンネリング/ブリッジ(経路内にNATがあるケース)

その10の続き。トンネリング(IPsec)内にNAT(NAPT)がある場合の検証。NATトラバーサルを用いる。(今回は、L2トンネリングというよりIPsecの話になってしまっている。)

NATトラバーサル

NAPTは、ルーターにて、ポート番号のマッピングを行い、「複数」のローカルIPアドレスを1つのグローバルIPアドレスに割り当てるもの。今回のケース(L2TP over IPsec)では、NAPTを通過するとポート番号こと暗号化されてしまう。こで、NATトラバーサル機能を用いて、これを解決する。簡潔に言うと、IPsecによって暗号化されたパケット(ESP)にUDPヘッダを付加する。詳細については、次のサイトを参考にされたい。

トポロジー

Topology.png

末端のPCは同一セグメント(10.0.0.0/24)、固定IPアドレスがアサインされており、JPN-RouterとEU-Routerとの通信がIPsec化される。この経路の途中にNAT-Routerが存在するものとする。

設定

Ciscoサイト「PAT を実行し LAN 間 IPSec トンネルを通す IOS ルータの設定例」を参考に設定。

NAT-Router

interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside

interface FastEthernet0/1
 ip address 172.16.1.1 255.255.255.0
 ip nat outside

ip nat inside source list 1 interface FastEthernet0/1 overload

NAPT(シスコ用語ではPAT)の設定。192.168.1.0/24ネットワークが内側、172.16.1.0/24ネットワークが外側である。

JPN-Router

pseudowire-class test
 encapsulation l2tpv3
 ip local interface FastEthernet0/0

crypto isakmp policy 1
 encr 3des
 authentication pre-share
 group 2
crypto isakmp key testpwd address 172.16.1.2
crypto isakmp keepalive 60 periodic

crypto ipsec transform-set ABC esp-3des esp-sha-hmac 

crypto map To_R3 1 ipsec-isakmp 
 set peer 172.16.1.2
 set transform-set ABC 
 match address DEF

interface FastEthernet0/0
 ip address 192.168.1.2 255.255.255.0
 crypto map To_R3

interface FastEthernet0/1
 no ip address
 xconnect 172.16.1.2 1 encapsulation l2tpv3 manual pw-class test
  l2tp id 1 2

ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

ip access-list extended DEF
 permit 115 any any

こちらは、その10と同じ(3DES以外)。

EU-Router

pseudowire-class test
 encapsulation l2tpv3
 ip local interface FastEthernet0/0

crypto isakmp policy 1
 encr 3des
 authentication pre-share
 group 2
crypto isakmp key testpwd address 172.16.1.1
crypto isakmp keepalive 60 periodic
!
!
crypto ipsec transform-set ABC esp-3des esp-sha-hmac 
!
crypto map To_R2 1 ipsec-isakmp 
 set peer 172.16.1.1
 set transform-set ABC 
 match address DEF

interface FastEthernet0/0
 ip address 172.16.1.2 255.255.255.0
 crypto map To_R2

interface FastEthernet0/1
 no ip address
 xconnect 192.168.1.2 1 encapsulation l2tpv3 manual pw-class test
  l2tp id 2 1

ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

ip access-list extended DEF
 permit 115 any any

ここ(NAT外側)でのポイントは、IPsecの対向先に、NAT-Routerの外側のIPアドレスを指定することである。JPN-RouterのIPアドレスを指定しても動作しない。IKE/IPsec通信経路にNATが存在すると、自動的にNATトラバーサルを行うシスコルーターの仕様のような気がする。これについては、記事「IPSec VPN」に「NOTE R3 has to use the translated IP address because, from its perspective, it’s establishing an IPSec tunnel with 23.1.1.1:」と、類似の説明が見つかった。

検証

PC1からPC2へのping実施時のWiresharkデータ。

Switch1とNAT-Router間

IKE初期時。IKEのポート番号500が見える。
1-1stのコピー.png
その次。「Malformed Packet」とあることから、おそらく各ルーターにて経路内にNATがあることを把握したのか?
1-2ndのコピー.png
で、「UDP Encapsulation...」とUDPパケットが追加され、NATトラバーサルが始まる。ポート番号も4500に変更されている。
1-3rdのコピー.png
暗号化されたパケットにも、UDPパケットが追加されている。
1-4thのコピー.png

NAT-RouterとSwitch2間

上記のWiresharkデータに相当する状況を表示。
2-1st.png

2-2nd.png

2-3nd.png

2-4th.png

終わりに

NAT外側から起動(PC2からping)するには、、

NAT-Routerにて下記設定が必要(さきほどのCiscoサイト情報より)。

ip nat inside source static udp inside_ip 4500 interface interface 4500
ip nat inside source static udp inside_ip 500 interface interface 500

NATルーターのIPアドレス指定

末端のルーターでは対向ルーターまでの経路が通常わからないため、IPsecの対抗先として、NATを行うルーターのIPアドレスを末端のルーターで指定するのはいかがなものかと考える。最初からNATトラバーサル前提で両端ルーターの設定ができればよいと思うのだが、、、。これについて少々調べたが、Ciscoルーター以外では情報が見つかるが、Ciscoルーターでは見つからず。時間があるときに調べてみたい。同時に情報ありませんか、、、> 有識者のみなさま。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?