目次
概要
拠点間の通信は正常時は広域イーサネットを利用します。広域イーサネットの障害発生時にIPSecによるインターネットVPNによって、拠点間の通信が行えるように設定します。
ネットワーク構成
設定
【Step1:VPN-GW間のGREトンネル】
VPN-GW間でルーティングプロトコルを利用するために、GREトンネルを確立します。ルーティングプロトコルのマルチキャスト/ブロードキャストパケットをGREでカプセル化してユニキャストパケットとして扱えるようにします。また、VPN-GW間のトンネルインタフェースのネットワークアドレスは、192.168.112.0/24とします。
VPN-GW1 トンネルインタフェースの作成
------------------------- interface Tunnel0 ip address 192.168.112.10 255.255.255.0 tunnel source FastEthernet0/0.101 tunnel destination 200.2.2.20 -------------------------
VPN-GW2 トンネルインタフェースの作成
------------------------- interface Tunnel0 ip address 192.168.112.20 255.255.255.0 tunnel source FastEthernet0/0.102 tunnel destination 200.1.1.10 -------------------------
この設定により、VPN-GW間は次の図のようにTunnle0インタフェースでポイントツーポイント接続されることになります。
【Step2:VPN-GW間のGRE over IPSec】
VPN-GW間のトンネルインタフェース経由のパケットをIPSecで暗号化するための設定を行います。VPN-GW間で設定するIPSecのパラメータをまとめたものが下記の表です。
VPN-GW1 GRE over IPSec
------------------------- crypto isakmp policy 10 encryption 3des group 2 authentication pre-share crypto isakmp key cisco address 200.2.2.20 crypto ipsec transform-set IPSEC esp-3des esp-sha-hmac mode transport access-list 101 permit gre host 200.1.1.10 host 200.2.2.20 crypto map GREoverIPSec 10 ipsec-isakmp set peer 200.2.2.20 set transform-set IPSEC match address 101 interface Tunnel0 crypto map GREoverIPSec interface FastEthernet0/0.101 crypto map GREoverIPSec -------------------------
VPN-GW2 GRE over IPSec
------------------------- crypto isakmp policy 10 encryption 3des group 2 authentication pre-share crypto isakmp key cisco address 200.1.1.10 crypto ipsec transform-set IPSEC esp-3des esp-sha-hmac mode transport access-list 101 permit gre host 200.2.2.20 host 200.1.1.10 crypto map GREoverIPSec 10 ipsec-isakmp set peer 200.1.1.10 set transform-set IPSEC match address 101 interface Tunnel0 crypto map GREoverIPSec interface FastEthernet0/0.102 crypto map GREoverIPSec -------------------------
【Step3:内部ネットワークのルーティング設定】
VPN-GW間のトンネルインタフェースも含め、内部ネットワークではEIGRPによるダイナミックルーティングを行います。EIGRPを利用することで、正常時は広域イーサネット経由でパケットをルーティングできるようにします。また、広域イーサネット障害時には、自動的にEIGRPによってIPSec VPN経由でパケットをルーティングできるようにします。
内部ネットワークのIPアドレスは、先頭2バイトがすべて「192.168」で共通しています。そのため、EIGRPの設定は各ルータで共通で、次のように行います。
R1~R4/VPN-GW1、VPN-GW2 EIGRPの設定
------------------------- router eigrp 100 network 192.168.0.0 0.0.255.255 no auto-summary -------------------------
この定により、EIGRPが有効になるインタフェースをまとめたものが次の図です。
【Step4:内部ネットワークのルーティングとIPSec SAの確認】
VPN-GW間のGRE over IPSecでEIGRPを有効化したことで、定期的にEIGRP HelloパケットがVPN-GW間のGRE over IPSec上で送信されます。そのため、VPN-GWのTunnel0でEIGRPネイバーを確立します。また、IPSec SAが常時確立されます。
VPN-GW1でshow ip eigrp neighborおよびshow crypto ipsec saは次のように表示されます。
VPN-GW1 show ip eigrp neighbor/show crypto ipsec sa
------------------------- VPN-GW1#show ip eigrp neighbors IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 2 192.168.13.3 Fa0/0.13 13 00:20:37 2 200 0 5 1 192.168.13.1 Fa0/0.13 13 00:20:53 1 200 0 14 0 192.168.112.20 Tu0 10 00:21:00 40 5000 0 14 VPN-GW1#show crypto ipsec sa interface: Tunnel0 Crypto map tag: GREoverIPSec, local addr. 200.1.1.10 protected vrf: local ident (addr/mask/prot/port): (200.1.1.10/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (200.2.2.20/255.255.255.255/47/0) current_peer: 200.2.2.20:500 PERMIT, flags={origin_is_acl,} #pkts encaps: 331, #pkts encrypt: 331, #pkts digest 331 #pkts decaps: 327, #pkts decrypt: 327, #pkts verify 327 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 1, #recv errors 0 local crypto endpt.: 200.1.1.10, remote crypto endpt.: 200.2.2.20 path mtu 1476, ip mtu 1476, ip mtu idb Tunnel0 current outbound spi: A2FAC928 inbound esp sas: spi: 0xE51D474F(3843901263) transform: esp-3des esp-sha-hmac , in use settings ={Transport, } slot: 0, conn id: 2000, flow_id: 1, crypto map: GREoverIPSec sa timing: remaining key lifetime (k/sec): (4436696/1480) IV size: 8 bytes replay detection support: Y inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0xA2FAC928(2734344488) transform: esp-3des esp-sha-hmac , in use settings ={Transport, } slot: 0, conn id: 2001, flow_id: 2, crypto map: GREoverIPSec sa timing: remaining key lifetime (k/sec): (4436695/1480) IV size: 8 bytes replay detection support: Y outbound ah sas: outbound pcp sas: interface: FastEthernet0/0.101 Crypto map tag: GREoverIPSec, local addr. 200.1.1.10 protected vrf: local ident (addr/mask/prot/port): (200.1.1.10/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (200.2.2.20/255.255.255.255/47/0) current_peer: 200.2.2.20:500 PERMIT, flags={origin_is_acl,} #pkts encaps: 331, #pkts encrypt: 331, #pkts digest 331 #pkts decaps: 327, #pkts decrypt: 327, #pkts verify 327 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 1, #recv errors 0 local crypto endpt.: 200.1.1.10, remote crypto endpt.: 200.2.2.20 path mtu 1476, ip mtu 1476, ip mtu idb Tunnel0 current outbound spi: A2FAC928 inbound esp sas: spi: 0xE51D474F(3843901263) transform: esp-3des esp-sha-hmac , in use settings ={Transport, } slot: 0, conn id: 2000, flow_id: 1, crypto map: GREoverIPSec sa timing: remaining key lifetime (k/sec): (4436696/1480) IV size: 8 bytes replay detection support: Y inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0xA2FAC928(2734344488) transform: esp-3des esp-sha-hmac , in use settings ={Transport, } slot: 0, conn id: 2001, flow_id: 2, crypto map: GREoverIPSec sa timing: remaining key lifetime (k/sec): (4436695/1479) IV size: 8 bytes replay detection support: Y outbound ah sas: outbound pcp sas: -------------------------
そして、広域イーサネットが正常に稼働しているとき、拠点間の通信は広域イーサネット経由で行われます。たとえば、R3でルーティングテーブルを見ると、次のようになります。
R3 show ip route
------------------------- R3#show ip route ~省略~ Gateway of last resort is not set C 192.168.13.0/24 is directly connected, FastEthernet0/0.13 D 192.168.24.0/24 [90/33280] via 192.168.13.1, 00:25:38, FastEthernet0/0.13 D 192.168.4.0/24 [90/35840] via 192.168.13.1, 00:25:30, FastEthernet0/0.13 D 192.168.112.0/24 [90/297246976] via 192.168.13.10, 00:25:38, FastEthernet0/0.13 D 192.168.100.0/24 [90/30720] via 192.168.13.1, 00:25:38, FastEthernet0/0.13 C 192.168.3.0/24 is directly connected, FastEthernet0/0.3 -------------------------
また、R3から192.168.4.0/24へTracerouteすると、次のような結果になります。
R3 traceroute
------------------------- R3#traceroute 192.168.4.4 Type escape sequence to abort. Tracing the route to 192.168.4.4 1 192.168.13.1 4 msec 4 msec 4 msec 2 192.168.100.2 4 msec 0 msec 0 msec 3 192.168.24.4 0 msec * 0 msec -------------------------
これはTunnelインタフェースは、デフォルトでBW 9kbps、DLY 500000μsecなので、Tunnelインタフェースを経由するルートは最適ルートにならないためです。
【Step5:経路の切り替え】
経路の切り替えを確認するため、R1のFa0/0.100をシャットダウンします。
R1 Fa0/0.100 シャットダウン
------------------------- Interface FastEthernet0/0.100 shutdown -------------------------
R1のFa0/0.100をシャットダウンした後、R3のルーティングテーブルと192.168.4.0/24へのTracerouteの結果を確認します。
R3 show ip route/traceroute 192.168.4.4
------------------------- R3#show ip route ~省略~ Gateway of last resort is not set C 192.168.13.0/24 is directly connected, FastEthernet0/0.13 D 192.168.24.0/24 [90/297249536] via 192.168.13.10, 00:03:01, FastEthernet0/0.13 D 192.168.4.0/24 [90/297252096] via 192.168.13.10, 00:03:01, FastEthernet0/0.13 D 192.168.112.0/24 [90/297246976] via 192.168.13.10, 00:39:14, FastEthernet0/0.13 D 192.168.100.0/24 [90/297252096] via 192.168.13.10, 00:03:01, FastEthernet0/0.13 C 192.168.3.0/24 is directly connected, FastEthernet0/0.3 R3#traceroute 192.168.4.4 Type escape sequence to abort. Tracing the route to 192.168.4.4 1 192.168.13.10 4 msec 4 msec 4 msec 2 192.168.112.20 12 msec 12 msec 16 msec 3 192.168.24.4 12 msec * 12 msec -------------------------
このように、R1から広域イーサネット網への接続ができなくなると、EIGRPによりルーティングテーブルが書き換わり、GRE over IPSec経由でパケットが転送されていることがわかります。
【Step6:インターネットへの接続】
内部ネットワークからインターネットへ接続できるように、VPN-GW1/VPN-GW2でNATの設定を行います。送信元IPアドレスが内部ネットワークの192.168.x.xであるパケットをインターネットへルーティングするときに、VPN-GW1/VPN-GW2のグローバルアドレス(200.1.1.10または200.2.2.20)に変換します。
VPN-GW1 NAT
------------------------- ip nat inside source list 1 interface FastEthernet0/0.101 overload access-list 1 permit 192.168.0.0 0.0.255.255 interface FastEthernet0/0.13 ip nat inside interface FastEthernet0/0.101 ip nat outside -------------------------
VPN-GW2 NAT
------------------------- ip nat inside source list 1 interface FastEthernet0/0.102 overload access-list 1 permit 192.168.0.0 0.0.255.255 interface FastEthernet0/0.24 ip nat inside interface FastEthernet0/0.102 ip nat outside -------------------------
また、VPN-GW1/VPN-GW2でインターネットへルーティングするためのデフォルトルートをEIGRPへ再配送します。
VPN-GW1/VPN-GW2 デフォルトルートの再配送
------------------------- router eigrp 100 redistribute static -------------------------
デフォルトルートをEIGRPへ再配送することで、内部ネットワーク内の各ルータからインターネットへパケットを転送することができます。VPN-GW1/VPN-GW2が内部ネットワークからインターネットへパケットをルーティングするときは、送信元IPアドレスがNATによって変換されます。次の図は、R3からインターネットへの接続の様子を表したものです。