目次
概要
ハブ&スポーク構成のIPSec VPNについて、設定ミスの切り分けと修正を行います。
ネットワーク構成
次のネットワーク構成で、IPSec-VPNにより拠点間の通信を行いたいと考えています。
R1の拠点内(本社)には192.168.1.0/24のネットワークがあります。また、R2の拠点内(支社1)には192.168.2.0/24、R3の拠点内(支社2)には192.168.3.0/24のネットワークがあります。R1、R2、R3をVPNゲートウェイとして拠点間の通信のパケットをIPSecで暗号化します。拠点間の通信は、本社を中心としたハブ&スポーク構成で行います。つまり、支社間の通信はいったん本社を経由して行うことにしています。
また、インターネットへ接続するためにR1、R2、R3でNATによって拠点内のプライベートアドレスをISPに接続しているグローバルアドレスに変換できるようにしています。なお、インターネットへ通信確認は150.1.1.100のIPアドレスで行うものとします。
設定概要
下記の設定は、R1、R2、R3で現在行っている設定の抜粋です。
R1
crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key cisco address 100.2.2.2 crypto isakmp key cisco address 100.3.3.3 crypto isakmp keepalive 30 periodic ! crypto ipsec transform-set myset esp-3des esp-sha-hmac ! crypto map IPSEC 10 ipsec-isakmp set peer 100.2.2.2 set transform-set myset match address 100 crypto map IPSEC 20 ipsec-isakmp set peer 100.3.3.3 set transform-set myset match address 101 ! interface Loopback0 ip address 192.168.1.1 255.255.255.0 ip nat inside ! interface FastEthernet0/0.101 encapsulation dot1Q 101 ip address 100.1.1.1 255.255.255.0 ip nat outside crypto map IPSEC ! ip route 0.0.0.0 0.0.0.0 100.1.1.100 ! ip nat inside source route-map NO_NAT interface FastEthernet0/0.101 overload ! access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255 ! route-map NO_NAT deny 10 match ip address 100 101 ! route-map NO_NAT permit 100
R2
crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key cisco address 100.1.1.1 crypto isakmp keepalive 30 periodic ! crypto ipsec transform-set myset esp-3des esp-sha-hmac ! crypto map IPSEC 10 ipsec-isakmp set peer 100.1.1.1 set transform-set myset match address 100 ! interface Loopback0 ip address 192.168.2.2 255.255.255.0 ip nat inside ! interface FastEthernet0/0.102 encapsulation dot1Q 102 ip address 100.2.2.2 255.255.255.0 ip nat outside crypto map IPSEC ! ip route 0.0.0.0 0.0.0.0 100.2.2.100 ! ip nat inside source route-map NO_NAT interface FastEthernet0/0.102 overload ! access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 ! route-map NO_NAT deny 10 match ip address 100 ! route-map NO_NAT permit 100
R3
crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key cisco address 100.1.1.1 crypto isakmp keepalive 30 periodic ! crypto ipsec transform-set myset esp-3des esp-sha-hmac ! crypto map IPSEC 10 ipsec-isakmp set peer 100.1.1.1 set transform-set myset match address 100 ! interface Loopback0 ip address 192.168.3.3 255.255.255.0 ip nat inside ! interface FastEthernet0/0.103 encapsulation dot1Q 103 ip address 100.3.3.3 255.255.255.0 ip nat outside crypto map IPSEC ! ip route 0.0.0.0 0.0.0.0 100.3.3.100 ! ip nat inside source route-map NO_NAT interface FastEthernet0/0.103 overload ! access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 ! route-map NO_NAT deny 10 match ip address 100 ! route-map NO_NAT permit 100
トラブルの症状
本社と支社間の通信は正常に行うことができますが、支社間の通信ができません。たとえば、R1からR2およびR3へのPingは下記のように成功します。
R1からR2/R3への通信確認
R1#ping 192.168.2.2 source 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 56/72/100 ms R1#ping 192.168.3.3 source 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 8/52/80 ms
ところが、R2からR3へPingを行うと失敗します。
R2からR3への通信確認
R2#ping 192.168.3.3 source 192.168.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds: Packet sent with a source address of 192.168.2.2 ..... Success rate is 0 percent (0/5)
問題
- 本社と支社間の通信ができるのにもかかわらず、支社間の通信ができない原因は何ですか?
- 支社間の通信ができるようにするためには、どのように設定を修正すればよいですか?支社間の通信はフルメッシュではなく、ハブ&スポークで行うものとします。
解答
本社と支社間の通信ができるのにもかかわらず、支社間の通信ができない原因は何ですか?
本社R1で支社間の通信のパケットに対する暗号ACLの設定が抜けているため。
支社間の通信ができるようにするためには、どのように設定を修正すればよいですか?支社間の通信はフルメッシュではなく、ハブ&スポークで行うものとします。
R1
access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
ワンポイント
- ハブ&スポークでIPSec VPNを構築するときはハブルータでの暗号ACLに要注意
解説
ハブ&スポーク構成でIPSec VPNを構築するときには暗号ACLの設定に注意が必要です。特にハブとなるルータでの暗号ACLに注意が必要です。ネットワーク構成を再度確認しておきましょう。
このネットワーク構成において、本社のR1を中心としてハブ&スポークでIPSec VPNを構築します。つまり、SAはR1-R2間、R1-R3間で確立します。それぞれのSAで転送するIPパケットをまとめると、次のようになります。
R1-R2間のSA
192.168.1.0/24 ←→ 192.168.2.0/24 (本社LANと支社1LAN間)
192.168.3.0/24 → 192.168.2.0/24 (支社2LANから支社1LAN)
R1-R3間のSA
192.168.1.0/24 ←→ 192.168.3.0/24 (本社LANと支社2LAN間)
192.168.2.0/24 → 192.168.3.0/24 (支社1LANから支社2LAN)
ここで、要注意なのが支社1と支社2間の通信です。たとえば、支社1から支社2への通信を考えます。支社1から支社2へのIPパケットのIPアドレス情報は、次のようになります。
送信先IPアドレス:192.168.3.3
送信元IPアドレス:192.168.2.2
このIPパケットがIPSecで暗号化されR1-R2間のSAを通じて、R1へ転送されます。R1は、いったん受信したパケットを復号します。そして、再度IPSecで暗号化してR1-R3間のSAを通じてR3へ転送します。
このような通信フローを踏まえて、暗号ACLの設定をしなければいけません。R2とR3では暗号ACLの設定は問題ありません。しかし、R1で上記の通信フローを考慮した暗号ACLの設定になっていません。R1の暗号ACLは次のようになっています。
R1 show access-list
R1#show access-lists Extended IP access list 100 10 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 Extended IP access list 101 10 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
R1の暗号ACLはACL100とACL101です。ACL100はR1-R2間のSAに通すIPパケットを指定し、ACL101はR1-R3間のSAに通すIPパケットを指定しています。それぞれ本社から支社あてのIPパケットが一致するように条件が設定されています。ですが、支社間の通信を指定する条件はありません。これが支社間で通信できない原因です。
支社間の通信をR1を経由して行うためには、R1-R2間のSAに通すIPパケットを指定するACL100に送信元IPアドレスが支社2LAN、送信先IPアドレスが支社1LANの条件を追加します。同様に、R1-R3間のSAに通すIPパケットを指定するACL101に送信元IPアドレスが支社1LAN、送信元IPアドレスが支社2LANの条件を追加します。
R1 暗号ACLに支社間のアドレスを追加
access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
R1で暗号ACLの条件を追加した後、支社1から支社2への通信を行います。すると、正常に通信できるようになります。
R2からR3へPing
R2#ping 192.168.3.3 source 192.168.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds: Packet sent with a source address of 192.168.2.2 ..!!! Success rate is 60 percent (3/5), round-trip min/avg/max = 76/100/140 ms R2#ping 192.168.3.3 source 192.168.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds: Packet sent with a source address of 192.168.2.2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 24/72/124 ms
最初のPingの2回分のタイムアウトは、IPSec SAを確立するために時間がかかっているためです。
インターネットVPN
- インターネットVPNの概要
- インターネットへの接続形態
- VPNサービスとは?
- NordVPN ~セキュアなVPNサービスを手軽に利用しよう~
- IPSecの概要
- IKE ~SAの生成と管理~
- IPSec サイト間VPNの動作
- IPSec サイト間VPNの設定 ~crypto mapによる設定~
- IPSec サイト間VPNの設定例
- [演習]サイトツーサイトIPSec-VPN(crypto map)
- [演習]サイトツーサイトIPSec-VPN(VTI)
- [演習]サイトツーサイトIPSec-VPN(VTI) トラブルシューティング
- IPSec 設定ミスの切り分けと修正 Part1
- IPSec 設定ミスの切り分けと修正 Part2
- IPSec 設定ミスの切り分けと修正 Part3
- DMVPNの設定例
- DMVPN設定演習[Cisco] NHRP Phase1
- DMVPN設定演習[Cisco] NHRP Phase2
- DMVPN設定演習[Cisco] NHRP Phase3
- SSL-VPNの実現方式
- SSL-VPN(クライアントレス)の設定例 (Cisco)