JANOG 51 NETCON 問題解説 (Level 3-3)
JANOG 51 にスタッフ(NETCON委員)として参加させていただきました。 作成した問題について、回答と解説を記載します。 私の作成した問題は以下となっています。
Level 3-3 IPsec & NAT 問題
技術要素
IPsec、NAT
構成解説
CSR1000v x 5
問題文
R1とR2はISPとグローバルIPアドレスで接続しており、 それぞれの配下のルータ:IPsec1/IPsec2を使用して 東京と山梨県富士吉田市で拠点間VPNを構築しようとしています。 あなたは山梨県富士吉田市側拠点のR1とIPsec1の設定作業中です。 IKE Phase1/Phase 2に使用するパラメータはすでに共有されており、 その部分の設定は完了しましたが、IPsecが張れません。 すると突然、東京側で作業をしている上司から連絡があり、 「今日は妻の誕生日なんだ!」とさっさと帰ってしまいました。 あなたは自力でIPsec1ルータのTunnel0インターフェースをアップさせる必要があります。 最終的に、IPsec1で以下のようにpingが成功するようにしてください。
IPsec1# ping 2.2.2.2 so lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/10/43 ms
ただし、以下の制約があります。
・ISP/R2/IPsec2へはログインできません ・R1でIPsecを有効化してはいけません ・既存のインターフェースのIPアドレス設定を変更したり、新たなインターフェースを 追加してはいけません。
※設定を追加・修正したconfigも回答として送信してください。
問題解説
修正・追加内容
【R1】
int g2
ip nat outside
int g3
ip nat inside
ip nat inside source list 10 int g2 overload
access-list 10 permit 192.168.1.0 0.0.0.255
ip nat inside source static 192.168.1.2 150.0.0.2 ! NATトラバーサル用
【IPsec1】
ip route 124.0.0.2 255.255.255.255 192.168.1.1
int tun0
tunnel des 124.0.0.2
tunnel mode ipsec ipv4
tunnel protection ipsec profile Profile
shut
no shut
int lo0
no shut
対向拠点側の設定がまったく見えないので、NAT環境下でIPsecVPNを確立させるために必要な設定を 一つ一つ考慮して入れていく必要があります。 IPsecを張る機器(IPsec1)の上位にNAT装置(R1)がありますので、NATトラバーサルを考慮する必要があります。
ip nat inside source static udp 192.168.1.2 500 150.0.0.2 500
ip nat inside source static udp 192.168.1.2 4500 150.0.0.2 4500
※本来は上記がセオリーですが、containerlabでは何故か「%Port 500 is being used by system」となり 設定できない場合があるので、今回は ip nat inside source static 192.168.1.2 150.0.0.2 でも 正解となります。 ただし、この設定は対向拠点のIPsec2がイニシエータとなった場合に必要な設定であり、 今回は対向のIPsec2側に static nat が設定されているので、IPsec1側がイニシエータになった場合には 設定が入っていなくてもVPNが確立されます。 通常はどちらがイニシエータになっても良いように、両方に設定しますが、 今回の問題にはイニシエータの制限はないので、static nat 設定が抜けていても IPsecトンネルが張れていれば正解としています。
多くの方が正解し、かつ static nat の設定もしっかりと入れて回答してくださいました。
ちなみにこの問題は、Level 3-1 のHQ2とBRの設定がヒントになっています。 Level 3-1 を正解できた方は、この問題も正解されていることが多いようでした。 トンネルのDestinationとなるIPアドレス 124.0.0.2 へのルーティングも考慮する必要があります。
この点の考慮が漏れてしまい、tunnel0 がなかなかアップしない方もおられたかと思います。
ルーティングについての制約事項はありませんので、次のようなデフォルトルートを使用しても 正解となっています。
ip route 0.0.0.0 0.0.0.0 192.168.1.1
なお、IPsec1の g2 のサブネットマスクが 255.255.255.252 となっており
トポロジ図と異なっていますが、今回のトラブルの直接の原因ではありません。
この部分は修正しても修正しなくてもどちらでも正解となっています。
またトラブルシュートそのものとは全く関係ありませんが、
上司が突然帰ってしまうシチュエーションは、JANOG 50 の問題 Level 3-4 への オマージュとなっています。
こちらも解き応えのある非常に良い問題ですので、ぜひ検証してみてください!
初期コンフィグ
ISP
host ISP no ip domain lookup int g2 ip add 150.0.0.1 255.255.255.252 no shut int g3 ip add 124.0.0.1 255.255.255.252 no shut |
R1
host R1 no ip domain lookup int g2 ip add 150.0.0.2 255.255.255.252 ! ip nat outside no shut int g3 ip add 192.168.1.1 255.255.255.252 ! ip nat inside no shut ip route 0.0.0.0 0.0.0.0 150.0.0.1 ! ip nat inside source list 10 int g2 over ! access-list 10 permit 192.168.1.0 0.0.0.255 ! ip nat inside source static 192.168.1.2 150.0.0.2 |
R2
host R2 no ip domain lookup int g2 ip add 124.0.0.2 255.255.255.252 ip nat outside no shut int g3 ip add 192.168.2.1 255.255.255.252 ip nat inside no shut ip route 0.0.0.0 0.0.0.0 124.0.0.1 ip nat inside source list 10 int g2 over access-list 10 permit 192.168.2.0 0.0.0.255 ip nat inside source static 192.168.2.2 124.0.0.2 |
IPsec1
host IPsec1 no ip domain lookup int g2 ip add 192.168.1.2 255.255.255.252 no shut int lo0 ip add 1.1.1.1 255.255.255.255 ip ospf 1 area 0 shut crypto isakmp key 0 cisco address 124.0.0.2 crypto isakmp policy 10 encr 3des authe pre group 24 crypto ipsec trans Trans esp-des esp-sha-hmac mode trans crypto ipsec profile Profile set trans Trans int tun0 ip add 10.10.10.10 255.255.255.255 tunnel so g2 ! tunnel des 124.0.0.2 tunnel des 124.0.0.1 ! tunnel mode ipsec ipv4 ! tunnel protection ipsec profile Profile ip ospf 1 area 0 ! ip route 124.0.0.2 255.255.255.255 192.168.1.1 |
IPsec2
host IPsec2 no ip domain lookup int g2 ip add 192.168.2.2 255.255.255.252 no shut int lo0 ip add 2.2.2.2 255.255.255.255 ip ospf 1 area 0 crypto isakmp key 0 cisco address 150.0.0.2 crypto isakmp policy 10 encr 3des authe pre group 24 crypto ipsec trans Trans esp-des esp-sha-hmac crypto ipsec profile Profile set trans Trans int tun0 ip add 20.20.20.20 255.255.255.255 tunnel so g2 tunnel des 150.0.0.2 tunnel mode ipsec ipv4 tunnel protection ipsec profile Profile ip ospf 1 area 0 ip route 150.0.0.2 255.255.255.255 192.168.2.1 |
Comments