はじめに
このドキュメントでは、CiscoルータでIKEv2ルートベースのトンネル用にHSRPを使用してIPSec冗長性を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- サイト間 VPN
- ホットスタンバイルータプロトコル[HSRP]
- IPsecおよびIKEv2に関する基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- IOS XEソフトウェアバージョン17.03.08aを実行するCisco CSR1000vルータ
- Cisco IOSソフトウェアバージョン15.2を実行するレイヤ2スイッチ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ネットワーク図
プライマリ/セカンダリルータの設定
HSRPを使用した物理インターフェイスの設定
プライマリ(プライオリティが高い)ルータとセカンダリ(デフォルトのプライオリティが100)ルータの物理インターフェイスを設定します。
プライマリルータ:
interface GigabitEthernet1 ip address 10.106.60.20 255.255.255.0 standby 1 ip 10.106.60.22 standby 1 priority 105 standby 1 preempt standby 1 name VPN-HSRP
セカンダリルータ:
interface GigabitEthernet1 ip address 10.106.60.21 255.255.255.0 standby 1 ip 10.106.60.22 standby 1 preempt standby 1 name VPN-HSRP
注:両方のルータが正常に起動して実行している場合でも、デフォルトプライマリルータをアクティブピアにするため、プライオリティをより高く設定してください。この例では、プライマリのプライオリティは105に設定されていますが、セカンダリルータのプライオリティは100(HSRPのデフォルト)に設定されています。
IKEv2プロポーザルとポリシーの設定
任意の暗号化、ハッシュ、およびDHグループを使用してIKEv2プロポーザルを設定し、IKEv2ポリシーにマッピングします。
crypto ikev2 proposal prop-1
encryption aes-cbc-256
integrity sha256
group 14
crypto ikev2 policy IKEv2_POL
proposal prop-1
キーリングの設定
ピアの認証に使用される事前共有キーを保存するようにキーリングを設定します。
crypto ikev2 keyring keys
peer 10.106.70.10
address 10.106.70.10
pre-shared-key local C!sco123
pre-shared-key remote C!sco123
IKEv2プロファイルの設定
IKEv2プロファイルを設定し、キーリングを接続します。ローカルアドレスをHSRPに使用されている仮想IPアドレスに設定し、リモートアドレスをルータのインターネット側インターフェイスのIPとして設定します。
crypto ikev2 profile IKEv2_PROF
match identity remote address 10.106.70.10 255.255.255.255
identity local address 10.106.60.22
authentication remote pre-share
authentication local pre-share
keyring local keys
IPSec トランスフォーム セットを設定します
IPSecトランスフォームセットを使用して、暗号化とハッシュのフェーズ2パラメータを設定します。
crypto ipsec transform-set ipsec-prop esp-aes 256 esp-sha256-hmac
IPSecプロファイルの設定
IKEv2プロファイルとIPsecトランスフォームセットをマッピングするようにIPsecプロファイルを設定します。IPsecプロファイルがトンネルインターフェイスに適用されます。
crypto ipsec profile IPsec_PROF
set transform-set ipsec-prop
set ikev2-profile IKEv2_PROF
仮想トンネルインターフェイスの設定
仮想トンネルインターフェイスを設定して、トンネルの送信元と宛先を指定します。これらのIPは、トンネル上のトラフィックの暗号化に使用されます。次に示すように、IPsecプロファイルがこのインターフェイスにも適用されていることを確認します。
interface Tunnel0
ip address 10.10.10.10 255.255.255.0
tunnel source 10.106.60.22
tunnel mode ipsec ipv4
tunnel destination 10.106.70.10
tunnel protection ipsec profile IPsec_PROF
注:HSRPに使用される仮想IPをトンネル送信元として指定する必要があります。物理インターフェイス(このシナリオではGigabitEthernet1)を使用すると、トンネルネゴシエーションが失敗します。
ダイナミックルーティングとスタティックルーティングの設定
要件とネットワーク設計に応じて、ダイナミックルーティングプロトコルやスタティックルートを使用してルーティングを設定する必要があります。この例では、EIGRPとスタティックルートの組み合わせを使用して、アンダーレイ通信と、サイト間トンネル上のオーバーレイデータトラフィックのフローを確立します。
router eigrp 10
network 10.10.10.0 0.0.0.255
network 10.106.60.0 0.0.0.255
ip route 192.168.30.0 255.255.255.0 Tunnel0
注:トンネルインターフェイスサブネット(このシナリオでは10.10.10.0/24)がアドバタイズされていることを確認します。
ピアルータの設定
IKEv2プロポーザルとポリシーの設定
任意の暗号化、ハッシュ、およびDHグループを使用してIKEv2プロポーザルを設定し、IKEv2ポリシーにマッピングします。
crypto ikev2 proposal prop-1
encryption aes-cbc-256
integrity sha256
group 14
crypto ikev2 policy IKEv2_POL
proposal prop-1
キーリングの設定
ピアの認証に使用される事前共有キーを保存するようにキーリングを設定します。
crypto ikev2 keyring keys
peer 10.106.60.22
address 10.106.60.22
pre-shared-key local C!sco123
pre-shared-key remote C!sco123
注:ここで使用するピアIPアドレスは、ピアのHSRP設定で設定された仮想IPアドレスです。プライマリ/セカンダリピアの物理インターフェイスIPにキーリングを設定していないことを確認します。
IKEv2プロファイルの設定
IKEv2プロファイルを設定し、キーリングを接続します。ローカルアドレスをルータのインターネット側インターフェイスのIPとして設定し、リモートアドレスをプライマリ/セカンダリピアでHSRPに使用される仮想IPアドレスに設定します。
crypto ikev2 profile IKEv2_PROF
match identity remote address 10.106.60.22 255.255.255.255
identity local address 10.106.70.10
authentication remote pre-share
authentication local pre-share
keyring local keys
IPSec トランスフォーム セットを設定します
IPSecトランスフォームセットを使用して、暗号化とハッシュのフェーズ2パラメータを設定します。
crypto ipsec transform-set ipsec-prop esp-aes 256 esp-sha256-hmac
IPSecプロファイルの設定
IKEv2プロファイルとIPsecトランスフォームセットをマッピングするようにIPsecプロファイルを設定します。IPsecプロファイルがトンネルインターフェイスに適用されます。
crypto ipsec profile IPsec_PROF
set transform-set ipsec-prop
set ikev2-profile IKEv2_PROF
仮想トンネルインターフェイスの設定
仮想トンネルインターフェイスを設定して、トンネルの送信元と宛先を指定します。トンネルの宛先は、プライマリ/セカンダリピアでHSRPに使用する仮想IPとして設定する必要があります。次に示すように、IPsecプロファイルがこのインターフェイスにも適用されていることを確認します。
interface Tunnel0
ip address 10.10.10.11 255.255.255.0
tunnel source GigabitEthernet1
tunnel mode ipsec ipv4
tunnel destination 10.106.60.22
tunnel protection ipsec profile IPsec_PROF
ダイナミックルーティングとスタティックルーティングの設定
他のエンドポイントと同様に、ダイナミックルーティングプロトコルまたはスタティックルートを使用して必要なルートを設定します。
router eigrp 10
network 10.10.10.0 0.0.0.255
network 10.106.70.0 0.0.0.255
ip route 192.168.10.0 255.255.255.0 Tunnel0
確認
予想される動作を理解するために、次の3つのシナリオを紹介します。
シナリオ 1.プライマリルータとセカンダリルータの両方がアクティブ
プライマリルータは高いプライオリティで設定されているため、このルータではIPSecトンネルがネゴシエートされ、確立されます。2台のルータの状態を確認するには、show standbyコマンドを使用できます。
pri-router#show standby
GigabitEthernet1 - Group 1
State is Active
7 state changes, last state change 00:00:21
Virtual IP address is 10.106.60.22
Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.864 secs
Preemption enabled
Active router is local
Standby router is 10.106.60.21, priority 100 (expires in 9.872 sec)
Priority 105 (configured 105)
Group name is "VPN-HSRP" (cfgd)
FLAGS: 1/1
sec-router#show standby
GigabitEthernet1 - Group 1
State is Standby
11 state changes, last state change 00:00:49
Virtual IP address is 10.106.60.22
Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.888 secs
Preemption enabled
Active router is 10.106.60.20, priority 105 (expires in 8.768 sec)
Standby router is local
Priority 100 (default 100)
Group name is "VPN-HSRP" (cfgd)
FLAGS: 0/1
トンネルに対するフェーズ1(IKEv2)とフェーズ2(IPsec)のセキュリティアソシエーションを確認するには、show crypto ikev2 saコマンドとshow crypto ipsec saコマンドを使用します。
pri-router#show crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.60.22/500 10.106.70.10/500 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/444 sec
IPv6 Crypto IKEv2 SA
pri-router#show crypto ipsec sa
interface: Tunnel0
Crypto map tag: Tunnel0-head-0, local addr 10.106.60.22
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer 10.106.70.10 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 36357, #pkts encrypt: 36357, #pkts digest: 36357
#pkts decaps: 36354, #pkts decrypt: 36354, #pkts verify: 36354
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.106.60.22, remote crypto endpt.: 10.106.70.10
plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0x4967630D(1231512333)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0xBA711B5E(3127974750)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel, }
conn id: 2216, flow_id: CSR:216, sibling_flags FFFFFFFF80000048, crypto map: Tunnel0-head-0
sa timing: remaining key lifetime (k/sec): (4607986/3022)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x4967630D(1231512333)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel, }
conn id: 2215, flow_id: CSR:215, sibling_flags FFFFFFFF80000048, crypto map: Tunnel0-head-0
sa timing: remaining key lifetime (k/sec): (4607992/3022)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
シナリオ 2.プライマリルータが非アクティブで、セカンダリルータがアクティブ
プライマリルータで停止またはダウンが発生した場合、セカンダリルータがアクティブルータになり、サイト間トンネルがこのルータとネゴシエートされます。
セカンダリルータのHSRP状態は、再度show standby コマンドを使用して確認できます。
sec-router#show standby
GigabitEthernet1 - Group 1
State is Active
12 state changes, last state change 00:00:37
Virtual IP address is 10.106.60.22
Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.208 secs
Preemption enabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "VPN-HSRP" (cfgd)
FLAGS: 1/1
さらに、この中断が発生した場合は、次のログも確認します。これらのログには、セカンダリルータが現在アクティブであり、トンネルが確立されていることも示されています。
*Jul 18 10:28:21.881: %HSRP-5-STATECHANGE: GigabitEthernet1 Grp 1 state Standby -> Active
*Jul 18 10:28:44.647: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
フェーズ1とフェーズ2のセキュリティアソシエーションを確認するには、次に示すようにshow crypto ikev2 saとshow crypto ipsec saを再度使用します。
sec-router#show crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.60.22/500 10.106.70.10/500 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/480 sec
IPv6 Crypto IKEv2 SA
sec-router# show crypto ipsec sa
interface: Tunnel0
Crypto map tag: Tunnel0-head-0, local addr 10.106.60.22
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer 10.106.70.10 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 112, #pkts encrypt: 112, #pkts digest: 112
#pkts decaps: 112, #pkts decrypt: 112, #pkts verify: 112
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.106.60.22, remote crypto endpt.: 10.106.70.10
plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0xFC4207BF(4232185791)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x5F6EE796(1601103766)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel, }
conn id: 2170, flow_id: CSR:170, sibling_flags FFFFFFFF80000048, crypto map: Tunnel0-head-0
sa timing: remaining key lifetime (k/sec): (4607988/3107)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0xFC4207BF(4232185791)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel, }
conn id: 2169, flow_id: CSR:169, sibling_flags FFFFFFFF80000048, crypto map: Tunnel0-head-0
sa timing: remaining key lifetime (k/sec): (4607993/3107)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
シナリオ 3.プライマリルータがバックアップされ、セカンダリルータがスタンバイになります
プライマリルータが復旧してダウンしなくなった後、プライオリティの設定が高くなり、セカンダリルータがスタンバイモードになるため、プライマリルータは再びアクティブルータになります。
このシナリオでは、この移行が発生すると、プライマリルータとセカンダリルータでこれらのログが表示されます。
プライマリルータでは、次のログが表示されます。
*Jul 18 11:47:46.590: %HSRP-5-STATECHANGE: GigabitEthernet1 Grp 1 state Listen -> Active
*Jul 18 11:48:07.945: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
セカンダリルータで次のログが表示され、セカンダリルータが再びスタンバイルータになったことが示されます。
*Jul 18 11:47:46.370: %HSRP-5-STATECHANGE: GigabitEthernet1 Grp 1 state Active -> Speak
*Jul 18 11:47:52.219: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to down
*Jul 18 11:47:57.806: %HSRP-5-STATECHANGE: GigabitEthernet1 Grp 1 state Speak -> Standby
フェーズ1とフェーズ2のセキュリティアソシエーションのステータスを確認するには、show crypto ikev2 saとshow crypto ipsec saを使用して同じことを確認します。
注:稼働しているルータに複数のトンネルが設定されている場合は、show crypto session remote X.X.X.Xコマンドとshow crypto ipsec sa peer X.X.X.Xコマンドを使用して、トンネルのフェーズ1とフェーズ2のステータスを確認できます。
トラブルシュート
ここでは、設定のトラブルシューティングに使用できる情報を示します。
次のデバッグは、IKEv2トンネルのトラブルシューティングのために有効にできます。
debug crypto ikev2
debug crypto ikev2 error
debug crypto ikev2 internal
debug crypto ipsec
debug crypto ipsec error
debug crypto ipsec message
注:トンネルを1つだけトラブルシューティングする場合(デバイスが実稼動中の場合など)、次のコマンドを使用して条件付きデバッグを有効にする必要があります。 debug crypto condition peer ipv4 X.X.X.X.