소개
이 문서에서는 Cisco 라우터에서 IKEv2 경로 기반 터널용 HSRP를 사용하여 IPsec 이중화를 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 사이트 대 사이트 VPN
- HSRP(Hot Standby Router Protocol)
- IPsec 및 IKEv2에 대한 기본 지식
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- IOS XE Software를 실행하는 Cisco CSR1000v 라우터, 버전 17.03.08a
- Cisco IOS Software, 버전 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 Transform-Set 구성
IPsec transform-set을 사용하여 암호화 및 해싱의 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 Transform-Set 구성
IPsec transform-set을 사용하여 암호화 및 해싱의 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
다음을 확인합니다.
예상되는 행동을 이해하기 위해 다음 세 가지 시나리오를 제시한다.
시나리오 1. 기본 및 보조 라우터가 모두 활성 상태임
기본 라우터가 더 높은 우선순위로 구성되었으므로 IPsec 터널이 협상되고 이 라우터에서 설정됩니다. 두 라우터의 상태를 확인하려면 명령을 사용할 수 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
참고: 하나의 터널만 트러블슈팅하려면(디바이스가 프로덕션 중일 경우), 명령을 사용하여 조건부 디버그를 활성화해야 합니다. debug crypto condition peer ipv4 X.X.X.X.