JANOG47 NETCON 問題解説(300-3)
問題文
「Kyoto」拠点と「Fukuoka」の2拠点のネットワーク整備を行っている
・VLAN100(192.168.0.0/24)は管理用ネットワーク
・VLAN101(192.168.1.0/24)はKyoto拠点用ネットワーク
・VLAN210(192.168.10.0/24)はサーバネットワーク
・VLAN211(192.168.11.0/24)はFukuoka拠点用ネットワーク
である。
〇サーバはKyoto拠点にのみ設置していたが、バックアップサーバをFukuoka拠点に設置することになったため、L2TPによってVLANを延長して対応することにした。
作業1 Kyotoの拠点にスイッチを1台(SWA02)を追加しSWA01と接続したのち、APP_SVをSWA02に接続する。
config
問題1
PCA01(192.168.1.61)からゲートウェイ(192.168.1.1)へpingで通信できることを確認した。
しかし、APP_SV(192.168.10.101)からKyoto拠点内のサーバ(192.168.10.11)宛にpingを打つと次のような結果になった。
なお、192.168.10.11はSWA01のスイッチに接続されているものとする。
APP_SV> ping 192.168.10.11
host (192.168.10.11) not reachable
Kyoto拠点内のサーバ(192.168.10.11)にAPP_SVからpingを打った結果が次のようになるように原因を特定し、設定を修正し、pingの結果と修正箇所を記入しなさい。
APP_SV> ping 192.168.10.11
84 bytes from 192.168.10.11 icmp_seq=1 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.11 icmp_seq=2 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.11 icmp_seq=3 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.11 icmp_seq=4 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.11 icmp_seq=5 ttl=255 time=XXX.XXXX ms
*応答時間を示すtimeの値は同じでなくてもよい
問題2
作業2 RTA01とRTB01の間でL2TP+IPSECのトンネルを張り、バックアップサーバ(BK_SV)とアプリケーションサーバ(APP_SV)が通信できるようにしたい。そこで、RTA01とRTB01にIPSEC+L2TPの設定を投入した。
作業2を行った後に、APP_SVからBK_SVにpingを打ったところ、以下のような結果になった
APP_SV> ping 192.168.10.102
host (192.168.10.102) not reachable
IPSECの設定を確認するため、RTA01において”show crypto isakmp sa”および”show crypto session”の結果を見たところ次のような結果になった
RTA01# show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
RTA01# show crypto session
L2TPの確認を行うため、RTA01において"show xconnect all”、”show l2tp”の結果を見たところ次のような結果になった
RTA01# show xconnect all
Legend: XC ST=Xconnect State S1= Segment1 State S2=Sgument2 State
UP=Up DN=Down AD=Admin Down IA=Inactive
SB=Standby HS=Hot Standby RV=Recovering NH=No Hardware
XC ST Sgment 1 S1 Segment 2 S2
------+-----------------------------+---+------------------------+----
DN pri ac Gi0/1.100:100(Eth VLAN) DN l2tp 10.1.0.12:2 DN
DN pri ac Gi0/1.210:210(Eth VLAN) DN l2tp 10.1.0.12:1 DN
RTA01#sh l2tp
%No active L2TP tunnels
Fukuoka拠点内のBK_SVサーバ(192.168.10.102)にAPP_SVからpingを打った結果、”show crypto isakmp sa”、”show crypto session”、"show xconnect all”、”show l2tp”が次のようになるように原因を特定し、設定を修正し、pingの結果と修正箇所を記入しなさい。
APP_SV> ping 192.168.10.102
84 bytes from 192.168.10.102 icmp_seq=1 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.102 icmp_seq=2 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.102 icmp_seq=3 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.102 icmp_seq=4 ttl=255 time=XXX.XXXX ms
84 bytes from 192.168.10.102 icmp_seq=5 ttl=255 time=XXX.XXXX ms
*応答時間を示すtimeの値は同じでなくてもよい
RTA01# show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
10.1.0.11 10.1.0.12 QM_IDLE 1001 ACTIVE
RTA01# show crypto session
Crypto session current status
Interface: GigabitEthernet0/0
Session status: UP-ACTIVE
Peer: 10.1.0.12 port 500
Session ID : 0
IKEv1 SA: local 10.1.0.11/500 remote 10.1.0.12/500 Active
Session ID : 0
IKEv1 SA: local 10.1.0.11/500 remote 10.1.0.12/500 Active
IPSEC FLOW: permit ip host 10.0.0.51 host 10.0.0.61
Active Sas: 2, prigin: crypto map
RTA01# show xconnect all
Legend: XC ST=Xconnect State S1= Segment1 State S2=Sgument2 State
UP=Up DN=Down AD=Admin Down IA=Inactive
SB=Standby HS=Hot Standby RV=Recovering NH=No Hardware
XC ST Sgment 1 S1 Segment 2 S2
------+-----------------------------+---+------------------------+----
UP pri ac Gi0/1.100:100(Eth VLAN) UP l2tp 10.0.0.61:2 UP
UP pri ac Gi0/1.210:210(Eth VLAN) UP l2tp 10.0.0.61:1 UP
RTA01#sh l2tp
L2TP Tunnel and Session Information Total tunnels 1 sessions 2
LocTunID RenTunID Remote Name State Remote Address Sessn L2TP Class/
Count VPDN Gtoup
3699731456 4012373309 RTB01 est 10.0.0.61 2 L2S
LocID RemID TunID Username, Intf/ State Last Chg Uniq ID
Vid, Circuit
1783066710 4012373309 3699731456 2, Gi0/1.100:100 est 03:36:22 0
3532487071 2540918322 3699731456 1, Gi0/1.210:210 est 03:36:22 0
技術要素
VLAN、L2TP、ACL、L2VPN、IPSEC
問題解説
問題1
増設したスイッチ(SWA02)とSWA01の間はport-channel接続(今回は、Staticで冗長化しています)されており、それぞれを接続しているGi0/2とGi0/3ポートはChannel-groupで設定がされている。
しかし、SWA02のVLAN210については、Gi0/3のみに設定が投入されており、Gi0/2に設定されていない。この場合、本来であれば、Port-channel1のallowed vlanに210を追加する必要がある。
また、「sh vlan」でVLAN情報を確認すると、VLAN210が表示されない。IOSスイッチでVLANを扱うには、VLANデータベースへの追加が必要である。
割と発生しやすい凡ミスですね・・・。
SWA02(config)# interface Gi0/3
SWA02(config-if)# switchport trunk allowed vlan remove 210 ←誤った設定を削除します
SWA02(config-if)# exit
SWA02(config)#vlan 210 ←VLANデータベースに追加します
SWA02(config-vlan)# exit
SWA02(config)# interface Po1
SWA02(config-if)# switchport trunk allowed vlan add 210 ←Port-channell1にVLAN210を許可します
SWA02(config-if)# end
問題2
RTA01とRTB01の間で、IPSECトンネルを張った中をL2TPのトンネルを張って通信を通しています。
まずは、正しくIPSECトンネルが張れている必要があります。設定を見てみるとISAKMPのKEY設定において、対抗側のIPアドレスが間違ってます。今回は、IPSECトンネルの中をL2TPトンネルを張りますので、IPSECトンネルの相手側IPアドレスを指定します。
ACLをみると、UDP:500番は通信許可をしているもののそれ以外は許可していません。そのため、L2TPの通信ができなくなっているのでホストアドレス固定で許可します。
また、10.0.0.51をGi0/0へルーティングする設定が必要になります。
RTB01(config)# interface Gi0/1.100 ←IPSEC設定を解除する前にIPSECトンネルを通る通信を一旦切断します。
RTB01(config-subif)# no xconnect
RTB01(config-subif)# exit
RTB01(config)# interface Gi0/1.210
RTB01(config-subif)# no xconnect
RTB01(config-subif)# exit
RTB01(config)# interface Gi0/0
RTB01(config-if)# no crypto map M1 ←IPSECトンネルを切断します。
RTB01(config-if)# exit
RTB01(config)# no crypto isakmp key janog47 address 10.0.0.51
RTB01(config)# crypto isakmp key janog47 address 10.1.0.11 ←対抗側のIPアドレスはIPSECトンネルのI/Fに振られたIPになります。
RTB01(config)# no access-list 101 permit udp host 10.1.0.11 host 10.1.0.12 eq 500 ←ISAKMPの鍵交換はできるが、それ以外の通信はDenyされる
RTB01(config)# access-list 101 permit ip host 10.1.0.11 host 10.1.0.12 ←IPSECトンネル抜けてきた通信は許可する
RTB01(config)# access-list 101 deny ip any any ←それ以外の通信は不許可
RTB01(config)# ip route 10.0.0.51 255.255.255.255 GigabitEthernet0/0 ←Gi0/0へルーティング
RTB01(config)# interface Gi0/0
RTB01(config-if)# crypto map M1 ←IPSECトンネルを張ります
RTB01(config-if)# exit
RTB01(config)# interface gi0/1.100
RTB01(config-if)# xconnect 10.0.0.51 2 encapsulation l2tpv3 pw-class WA1P ←再度L2TPのトンネルを張ります
RTB01(config-if)# exit
RTB01(config)# interface gi0/1.210
RTB01(config-if)# xconnect 10.0.0.51 1 encapsulation l2tpv3 pw-class WA1P ←再度L2TPのトンネルを張ります
IPSECトンネルを通過させるアドレスはACLで設定します。この場合、L2TPトンネルの両端となるI/Fのアドレスを設定します。
L2TPでは、xcoonectでトンネルを張りますが、xconnectのトンネルは、IPSECトンネルを抜けた後のIPアドレスを指定する必要があります。
RTA01(config)# no access-list 100 ← 間違った設定を削除
RTA01(config)# access-list 100 permit ip host 10.0.0.51 host 10.0.0.61 ← IPSECのトンネルを通すI/Fのアドレスを指定
RTA01(config)# interface Gi0/1.100
RTA01(config-subif)# no xconnect ← 間違った設定を削除
RTA01(config-subif)# xconnect 10.0.0.61 2 encapsulation l2tpv3 pw-class WB1P ← L2TPのトンネルを通すI/Fのアドレスを指定
RTA01(config-subif-xconnect)# exit
RTA01(config-subif)# exit
RTA01(config)# interface Gi0/1.210
RTA01(config-subif)# no xconnect ← 間違った設定を削除
RTA01(config-subif)# xconnect 10.0.0.61 1 encapsulation l2tpv3 pw-class WB1P← L2TPのトンネルを通すI/Fのアドレスを指定
Discussion