소개
이 문서에서는 SD-WAN Cisco Edge Router와 서비스 VRF를 사용하는 VPN 엔드포인트 간에 IPSec 터널을 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco SD-WAN(Software-defined Wide Area Network)
- IPSec(인터넷 프로토콜 보안)
구성 요소
이 문서는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco Edge Router 버전 17.6.1
- SD-WAN vManage 20.9.3.2
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서의 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
배경 정보에는 이 문서의 범위, 사용 편의성 및 SD-WAN에 C8000v를 사용하여 서비스측 IPSec 터널 구축의 혜택이 포함되어 있습니다.
- 컨트롤러 관리 모드의 Cisco IOS® XE 라우터와 VPN(Virtual Private Network) 엔드포인트 간의 서비스 VRF(Virtual Routing and Forwarding)에서 IPSec 터널을 구축하려면 퍼블릭 WAN(Wide Area Network)을 통해 데이터 기밀성과 무결성을 보장합니다. 또한 회사 사설 네트워크의 보안 확장을 용이하게 하고 인터넷을 통한 원격 연결을 허용하면서 높은 수준의 보안을 유지합니다.
- 서비스 VRF는 트래픽을 격리합니다. 이는 다중 클라이언트 환경에서 또는 네트워크의 서로 다른 부분 간의 세그멘테이션을 유지하는 데 특히 유용합니다. 요약하면, 이 컨피그레이션은 보안 및 연결을 향상시킵니다.
- 이 문서에서는 BGP(Border Gateway Protocol)가 SD-WAN 서비스 VRF에서 VPN 엔드포인트 뒤의 네트워크로 또는 그 반대로 네트워크를 통신하는 데 사용되는 라우팅 프로토콜이라고 간주합니다.
- BGP 컨피그레이션은 이 문서의 범위를 벗어납니다.
- 이 VPN 엔드포인트는 방화벽, 라우터 또는 IPSec 기능이 있는 모든 유형의 네트워크 디바이스일 수 있습니다. VPN 엔드포인트의 컨피그레이션은 이 문서의 범위에 속하지 않습니다.
- 이 문서에서는 라우터가 활성 제어 연결 및 서비스 VRF로 이미 온보딩되었다고 가정합니다.
IPSEC 컨피그레이션의 구성 요소
1단계 IKE(Internet Key Exchange)
IPSec 컨피그레이션 프로세스의 1단계에는 터널 엔드포인트 간의 보안 매개변수 및 인증 협상이 포함됩니다. 이러한 단계는 다음과 같습니다.
IKE 컨피그레이션
- 암호화 제안(알고리즘 및 키 길이)을 정의합니다.
- 암호화 제안, TTL(Time to Live) 및 인증을 포함하는 IKE 정책을 구성합니다.
원격 엔드 피어 구성
- 원격 단의 IP 주소를 정의합니다.
- 인증을 위해 공유 키(사전 공유 키)를 구성합니다.
2단계(IPSec) 컨피그레이션
2단계에는 터널을 통과하는 트래픽 흐름에 대한 보안 변환 및 액세스 규칙에 대한 협상이 포함됩니다. 이러한 단계는 다음과 같습니다.
IPSec 변환 세트 구성
- 암호화 알고리즘 및 인증을 포함하는 제안된 변형 집합을 정의합니다.
IPSec 정책 구성
터널 인터페이스 구성
IPSec 터널의 양쪽 끝에 터널 인터페이스를 구성합니다.
- 터널 인터페이스를 IPSec 정책과 연결합니다.
구성
CLI의 컨피그레이션
1단계. 암호화 제안을 정의합니다.
cEdge(config)# crypto ikev2 proposal p1-global
cEdge(config-ikev2-proposal)# encryption aes-cbc-128 aes-cbc-256
cEdge(config-ikev2-proposal)# integrity sha1 sha256 sha384 sha512
cEdge(config-ikev2-proposal)# group 14 15 16
2단계. 제안 정보를 포함하는 IKE 정책을 구성합니다.
cEdge(config)# crypto ikev2 policy policy1-global
cEdge(config-ikev2-policy)# proposal p1-global
3단계. 원격 단의 IP 주소를 정의합니다.
cEdge(config)# crypto ikev2 keyring if-ipsec1-ikev2-keyring
cEdge(config-ikev2-keyring)# peer if-ipsec1-ikev2-keyring-peer
cEdge(config-ikev2-keyring-peer)# address 10.4.5.226
cEdge(config-ikev2-keyring-peer)# pre-shared-key Cisco
4단계. 인증을 위해 공유 키(사전 공유 키)를 구성합니다.
cEdge(config)# crypto ikev2 profile if-ipsec1-ikev2-profile
cEdge(config-ikev2-profile)# match identity remote address
10.4.5.226 255.255.255.0
cEdge(config-ikev2-profile)# authentication remote
cEdge(config-ikev2-profile)# authentication remote pre-share
cEdge(config-ikev2-profile)# authentication local pre-share
cEdge(config-ikev2-profile)# keyring local if-ipsec1-ikev2-keyring
cEdge(config-ikev2-profile)# dpd 10 3 on-demand
cEdge(config-ikev2-profile)# no config-exchange request
cEdge(config-ikev2-profile)#
5단계. 암호화 알고리즘 및 인증을 포함하는 제안된 transform-set을 정의합니다.
cEdge(config)# crypto ipsec transform-set if-ipsec1-ikev2-transform esp-gcm 256
cEdge(cfg-crypto-trans)# mode tunnel
6단계. transform-set을 IPSec 정책과 연결합니다.
cEdge(config)# crypto ipsec profile if-ipsec1-ipsec-profile
cEdge(ipsec-profile)# set security-association lifetime kilobytes disable
cEdge(ipsec-profile)# set security-association replay window-size 512
cEdge(ipsec-profile)# set transform-set if-ipsec1-ikev2-transform
cEdge(ipsec-profile)# set ikev2-profile if-ipsec1-ikev2-profile
7단계. 인터페이스 터널을 생성하고 IPSec 정책과 연결합니다.
cEdge(config)# interface Tunnel100001
cEdge(config-if)# vrf forwarding 90
cEdge(config-if)# ip address 172.16.12.1 255.255.255.252
cEdge(config-if)# ip mtu 1500
cEdge(config-if)# tunnel source GigabitEthernet1
cEdge(config-if)# tunnel mode ipsec ipv4
cEdge(config-if)# tunnel destination 10.4.5.226
cEdge(config-if)# tunnel path-mtu-discovery
cEdge(config-if)# tunnel protection ipsec profile if-ipsec1-ipsec-profile
vManage의 CLI 애드온 템플릿에 대한 컨피그레이션
참고: 이 컨피그레이션 유형은 CLI 애드온 템플릿을 통해서만 추가할 수 있습니다.
1단계. Cisco vManage로 이동하여 로그인합니다.
2단계. Configuration(컨피그레이션) > Templates(템플릿)로 이동합니다.
3단계. Feature Templates(기능 템플릿) > Add Template(템플릿 추가)으로 이동합니다.
4단계. 모델을 필터링하고 c8000v 라우터를 선택합니다.
5단계. Other Templates(기타 템플릿)로 이동하고 Cli Add-On Template(Cli 애드온 템플릿)을 클릭합니다.
6단계. 템플릿 이름 및 설명을 추가합니다.
7단계. 명령을 추가합니다.
8단계. Save(저장)를 클릭합니다.
9단계. Device Templates(디바이스 템플릿)로 이동합니다.
10단계. 올바른 디바이스 템플릿을 선택하고 3개의 점에서 수정합니다.
11단계. Additional Templates(추가 템플릿)로 이동합니다.
12단계. CLI Add-On Template(CLI 애드온 템플릿)에서 이전에 생성한 Feature Template(기능 템플릿)을 선택합니다.
13단계. Update(업데이트)를 클릭합니다.
14단계. Attach Devices from 3 dots(3개의 점에서 디바이스 연결)를 클릭하고 템플릿을 푸시할 올바른 라우터를 선택합니다.
다음을 확인합니다.
설정이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
show ip interface brief 명령을 실행하여 IPSec 터널의 상태를 확인합니다.
cEdge#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet1 10.4.5.224 YES other up up
--- output omitted ---
Tunnel100001 172.16.12.1 YES other up up
cEdge#
문제 해결
디바이스에 설정된 IKEv2 세션에 대한 자세한 정보를 표시하려면 show crypto ikev2 session 명령을 실행합니다.
cEdge#show crypto ikev2 session
IPv4 Crypto IKEv2 Session
Session-id:1, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote fvrf/ivrf Status
1 10.4.5.224/500 10.4.5.225/500 none/90 READY
Encr: AES-CBC, keysize: 128, PRF: SHA1, Hash: SHA96, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/207 sec
Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535
remote selector 0.0.0.0/0 - 255.255.255.255/65535
ESP spi in/out: 0xFC13A6B7/0x1A2AC4A0
IPv6 Crypto IKEv2 Session
cEdge#
show crypto ipsec sa interface Tunnel10001 명령을 실행하여 IPSec SA(Security Association)에 대한 정보를 표시합니다.
cEdge#show crypto ipsec sa interface Tunnel100001
interface: Tunnel100001
Crypto map tag: Tunnel100001-head-0, local addr 10.4.5.224
protected vrf: 90
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.4.5.225 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 38, #pkts encrypt: 38, #pkts digest: 38
#pkts decaps: 39, #pkts decrypt: 39, #pkts verify: 39
#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.4.5.224, remote crypto endpt.: 10.4.5.225
plaintext mtu 1446, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0x1A2AC4A0(439010464)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0xFC13A6B7(4229146295)
transform: esp-gcm 256 ,
in use settings ={Tunnel, }
conn id: 2001, flow_id: CSR:1, sibling_flags FFFFFFFF80000048, crypto map: Tunnel100001-head-0
sa timing: remaining key lifetime (sec): 2745
Kilobyte Volume Rekey has been disabled
IV size: 8 bytes
replay detection support: Y replay window size: 512
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x1A2AC4A0(439010464)
transform: esp-gcm 256 ,
in use settings ={Tunnel, }
conn id: 2002, flow_id: CSR:2, sibling_flags FFFFFFFF80000048, crypto map: Tunnel100001-head-0
sa timing: remaining key lifetime (sec): 2745
Kilobyte Volume Rekey has been disabled
IV size: 8 bytes
replay detection support: Y replay window size: 512
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
cEdge#
show crypto ikev2 statistics 명령을 실행하여 IKEv2 세션과 관련된 통계 및 카운터를 표시합니다.
cEdge#show crypto ikev2 statistics
--------------------------------------------------------------------------------
Crypto IKEv2 SA Statistics
--------------------------------------------------------------------------------
System Resource Limit: 0 Max IKEv2 SAs: 0 Max in nego(in/out): 40/400
Total incoming IKEv2 SA Count: 0 active: 0 negotiating: 0
Total outgoing IKEv2 SA Count: 1 active: 1 negotiating: 0
Incoming IKEv2 Requests: 0 accepted: 0 rejected: 0
Outgoing IKEv2 Requests: 1 accepted: 1 rejected: 0
Rejected IKEv2 Requests: 0 rsrc low: 0 SA limit: 0
IKEv2 packets dropped at dispatch: 0
Incoming Requests dropped as LOW Q limit reached : 0
Incoming IKEV2 Cookie Challenged Requests: 0
accepted: 0 rejected: 0 rejected no cookie: 0
Total Deleted sessions of Cert Revoked Peers: 0
cEdge#
디바이스의 활성 보안 세션에 대한 정보를 표시하려면 show crypto session 명령을 실행합니다.
cEdge#show crypto session
Crypto session current status
Interface: Tunnel100001
Profile: if-ipsec1-ikev2-profile
Session status: UP-ACTIVE
Peer: 10.4.5.225 port 500
Session ID: 1
IKEv2 SA: local 10.4.5.224/500 remote 10.4.5.225/500 Active
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
디바이스 패킷 프로세서에서 IPSec 관련 패킷 삭제에 대한 정보를 얻으려면 다음을 실행할 수 있습니다.
show platform hardware qfp active feature ipsec datapath drops clear
show platform hardware qfp active statistics 삭제
이러한 명령은 터널 인터페이스를 종료하기 전에 완료하고 종료하지 않아야 카운터와 통계를 지울 수 있습니다. 이렇게 하면 디바이스 패킷 프로세서 데이터 경로에 있는 IPsec 관련 패킷 삭제에 대한 정보를 얻을 수 있습니다.
참고: 이러한 명령은 clear 옵션을 사용하지 않고 실행할 수 있습니다. 드롭 카운터가 기록 카운터임을 강조하는 것이 중요합니다.
cEdge#show platform hardware qfp active feature ipsec datapath drops clear
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
IPSEC detailed dp drop counters cleared after display.
cEdge#
cEdge#show platform hardware qfp active statistics drop clear
Last clearing of QFP drops statistics : Thu Sep 28 01:35:11 2023
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
Ipv4NoRoute 17 3213
UnconfiguredIpv6Fia 18 2016
cEdge#
터널 인터페이스를 종료하고 종료하지 않은 후 다음 명령을 실행하여 새 통계 또는 카운터가 등록되었는지 확인할 수 있습니다.
show ip interface brief | 터널 포함100001
show platform hardware qfp active statistics drop(플랫폼 하드웨어 qfp 활성 통계 표시)
플랫폼 하드웨어 qfp 활성 기능 ipsec 데이터 경로 삭제 표시
cEdge#show ip interface brief | include Tunnel100001
Tunnel100001 169.254.21.1 YES other up up
cEdge#
cEdge#sh pl hard qfp act feature ipsec datapath drops
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
cEdge#show platform hardware qfp active statistics drop
Last clearing of QFP drops statistics : Thu Sep 28 01:35:11 2023
(5m 23s ago)
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
Ipv4NoRoute 321 60669
UnconfiguredIpv6Fia 390 42552
cEdge#
cEdge#show platform hardware qfp active feature ipsec datapath drops
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
cEdge#
유용한 명령
show crypto ipsec sa peer <peer_address> detail
show crypto ipsec sa peer <peer_address> platform
show crypto ikev2 session
show crypto ikev2 profile
show crypto isakmp policy
show crypto map
show ip static route vrf NUMBER
show crypto isakmp sa
debug crypto isakmp
debug crypto ipsec
관련 정보
IPsec Pairwise 키
Cisco Catalyst SD-WAN 보안 컨피그레이션 가이드, Cisco IOS® XE Catalyst SD-WAN 릴리스 17.x
Cisco IPsec 기술 소개