소개
이 문서에서는 데이터 플레인 트래픽에 대한 물리적 인터페이스(비터널)와 함께 IPsec VTI(Virtual Tunnel Interface)를 사용하여 eBGP(Border Gateway Protocol) 인접 관계를 보호하는 방법에 대해 설명합니다.이 구성의 이점은 다음과 같습니다.
- 데이터 기밀성, 재전송 방지, 신뢰성 및 무결성으로 BGP 네이버 세션의 완벽한 프라이버시.
- 데이터 플레인 트래픽은 터널 인터페이스의 MTU(Maximum Transmission Unit) 오버헤드로 제한되지 않습니다.고객은 성능에 영향을 주거나 단편화 없이 표준 MTU 패킷(1500바이트)을 전송할 수 있습니다.
- SPI(Security Policy Index) 암호화/해독 기능은 BGP 컨트롤 플레인 트래픽으로 제한되므로 엔드포인트 라우터의 오버헤드가 줄어듭니다.
이 컨피그레이션의 이점은 데이터 플레인이 터널링 인터페이스의 제한에 제한되지 않는다는 것입니다.설계상, 데이터 플레인 트래픽은 IPsec 보안 상태가 아닙니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 주제에 대해 알고 있는 것이 좋습니다.
- eBGP 컨피그레이션 및 검증 기본 사항
- 경로 맵을 사용하는 BGP PA(Policy Accounting) 조작
- ISAKMP(Basic Internet Security Association and Key Management Protocol) 및 IPsec 정책 기능
사용되는 구성 요소
이 문서의 정보는 Cisco IOS® Software Release 15.3(1.3)T를 기반으로 하지만 지원되는 다른 버전은 작동합니다.IPsec 컨피그레이션은 암호화 기능이므로 코드 버전에 이 기능 집합이 포함되어 있는지 확인하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
주의:이 문서의 컨피그레이션 예제에서는 사용자 환경에 적합하거나 적합하지 않을 수 있는 적당한 암호 알고리즘을 사용합니다.다양한 암호 그룹 및 키 크기의 상대적 보안에 대한 자세한 내용은 Next Generation Encryption 백서를 참조하십시오.
구성
참고:이 섹션에 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용합니다.
네트워크 다이어그램
구성
다음 단계를 완료하십시오.
- R1의 사전 공유 키로 R1 및 R2에서 IKE(Internet Key Exchange) 1단계 매개변수 구성:
참고:DH 그룹 번호 1, 2 또는 5는 열등하다고 간주되므로 사용하지 마십시오.가능한 경우 그룹 19, 20 또는 24와 같은 ECC(Elliptic Curve Cryptography)가 있는 DH 그룹을 사용합니다. AES(Advanced Encryption Standard) 및 SHA256(Secure Hash Algorithm 256)은 각각 DES(Data Encryption Standard)/3DES 및 MD5(Message Digest 5)/SHA1보다 뛰어난 것으로 간주됩니다.프로덕션 환경에서는 "cisco" 비밀번호를 사용하지 마십시오.
R1 구성
R1(config)#crypto isakmp policy 1
R1(config-isakmp)#encr aes
R1(config-isakmp)#hash sha256
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 19
R1(config-isakmp)exit
R1(config)#crypto isakmp key CISCO address 12.0.0.2
R2 구성
R2(config)#crypto isakmp policy 1
R2(config-isakmp)#encr aes
R2(config-isakmp)#hash sha256
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#group 19
R2(config-isakmp)exit
R2(config)#crypto isakmp key CISCO address 12.0.0.1
- R1 및 R2의 NVRAM에 있는 사전 공유 키에 대한 레벨 6 비밀번호 암호화를 구성합니다. 이렇게 하면 라우터가 손상되었을 때 일반 텍스트로 저장된 사전 공유 키가 읽히지 않을 가능성이 줄어듭니다.
R1(config)#key config-key password-encrypt CISCOCISCO
R1(config)#password encryption aes
R2(config)#key config-key password-encrypt CISCOCISCO
R2(config)#password encryption aes
참고:레벨 6 비밀번호 암호화가 활성화되면 활성 컨피그레이션에서는 더 이상 사전 공유 키의 일반 텍스트 버전을 표시하지 않습니다.
!
R1#show run | include key
crypto isakmp key 6 \Nd`]dcCW\E`^WEObUKRGKIGadiAAB address 12.0.0.2
!
- R1 및 R2에서 IKE 단계 2 매개변수를 구성합니다.
R1 구성
R1(config)#crypto ipsec transform-set TRANSFORM-SET esp-aes 256 esp-sha256 ah-sha256-hmac
R1(config)#crypto ipsec profile PROFILE
R1(ipsec-profile)#set transform-set TRANSFORM-SET
R1(ipsec-profile)#set pfs group19
R2 구성
R2(config)#crypto ipsec transform-set TRANSFORM-SET esp-aes 256 esp-sha256 ah-sha256-hmac
R2(config)#crypto ipsec profile PROFILE
R2(ipsec-profile)#set transform-set TRANSFORM-SET
R2(ipsec-profile)#set pfs group19
참고:PFS(Perfect Forward Secrecy)를 설정하는 것은 선택 사항이지만 IKE 2단계 SA 설정에서 새로운 대칭 키 생성이 필요하므로 VPN 강도를 향상시킵니다.
- R1 및 R2에서 터널 인터페이스를 구성하고 IPsec 프로필을 사용하여 보안을 유지합니다.
R1 구성
R1(config)#interface tunnel 12
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R1(config-if)#tunnel source Ethernet0/0
R1(config-if)#tunnel mode ipsec ipv4
R1(config-if)#tunnel destination 12.0.0.2
R1(config-if)#tunnel protection ipsec profile PROFILE
R2 구성
R2(config)#interface tunnel 12
R2(config-if)#ip address 1.1.1.2 255.255.255.0
R2(config-if)#tunnel source Ethernet0/0
R2(config-if)#tunnel mode ipsec ipv4
R2(config-if)#tunnel destination 12.0.0.1
R2(config-if)#tunnel protection ipsec profile PROFILE
- R1 및 R2에서 BGP를 구성하고 루프백0 네트워크를 BGP에 알립니다.
R1 구성
R1(config)#router bgp 65510
R1(config-router)#neighbor 1.1.1.2 remote-as 65511
R1(config-router)#network 10.0.0.0 mask 255.255.255.0
R2 구성
R2(config)#router bgp 65511
R2(config-router)#neighbor 1.1.1.1 remote-as 65510
R2(config-router)#network 20.0.0.0 mask 255.255.255.0
- 터널이 아닌 물리적 인터페이스를 가리키도록 다음 hop IP 주소를 수동으로 변경하려면 R1 및 R2에서 경로 맵을 구성합니다.인바운드 방향에 이 경로 맵을 적용해야 합니다.
R1 구성
R1(config)ip prefix-list R2-NETS seq 5 permit 20.0.0.0/24
R1(config)#route-map CHANGE-NEXT-HOP permit 10
R1(config-route-map)#match ip address prefix-list R2-NETS
R1(config-route-map)#set ip next-hop 12.0.0.2
R1(config-route-map)#end
R1(config)#router bgp 65510
R1(config-router)#neighbor 1.1.1.2 route-map CHANGE-NEXT-HOP in
R1(config-router)#do clear ip bgp *
R1(config-router)#end
R2 구성
R2(config)#ip prefix-list R1-NETS seq 5 permit 10.0.0.0/24
R2(config)#route-map CHANGE-NEXT-HOP permit 10
R2(config-route-map)#match ip address prefix-list R1-NETS
R2(config-route-map)#set ip next-hop 12.0.0.1
R2(config-route-map)#end
R2(config)#router bgp 65511
R2(config-router)#neighbor 1.1.1.1 route-map CHANGE-NEXT-HOP in
R2(config-router)#do clear ip bgp *
R2(config-router)#end
다음을 확인합니다.
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
Output Interpreter 도구(등록된 고객만 해당)는 특정 show 명령을 지원합니다.show 명령 출력의 분석을 보려면 [출력 인터프리터 도구]를 사용합니다.
IKE 1단계와 IKE 2단계가 모두 완료되었는지 확인합니다. VTI(Virtual Tunnel Interface)의 회선 프로토콜은 IKE 2단계가 완료될 때까지 "up"으로 변경되지 않습니다.
R1#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
12.0.0.1 12.0.0.2 QM_IDLE 1002 ACTIVE
12.0.0.2 12.0.0.1 QM_IDLE 1001 ACTIVE
R1#show crypto ipsec sa | inc encaps|decaps
#pkts encaps: 88, #pkts encrypt: 88, #pkts digest: 88
#pkts decaps: 90, #pkts decrypt: 90, #pkts verify: 90
route-map을 적용하기 전에 다음 hop IP 주소는 터널 인터페이스인 BGP 인접 디바이스 IP 주소를 가리킵니다.
R1#show ip bgp
BGP table version is 2, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 20.0.0.0/24 1.1.1.2 0 0 65511 i
트래픽이 터널을 사용하는 경우 MTU는 터널 MTU로 제한됩니다.
R1#ping 20.0.0.2 size 1500 df-bit
Type escape sequence to abort.
Sending 5, 1500-byte ICMP Echos to 20.0.0.2, timeout is 2 seconds:
Packet sent with the DF bit set
*May 6 08:42:07.311: ICMP: dst (20.0.0.2): frag. needed and DF set.
*May 6 08:42:09.312: ICMP: dst (20.0.0.2): frag. needed and DF set.
*May 6 08:42:11.316: ICMP: dst (20.0.0.2): frag. needed and DF set.
*May 6 08:42:13.319: ICMP: dst (20.0.0.2): frag. needed and DF set.
*May 6 08:42:15.320: ICMP: dst (20.0.0.2): frag. needed and DF set.
Success rate is 0 percent (0/5)
R1#show interfaces tunnel 12 | inc transport|line
Tunnel12 is up, line protocol is up
Tunnel protocol/transport IPSEC/IP
Tunnel transport MTU 1406 bytes <---
R1#ping 20.0.0.2 size 1406 df-bit
Type escape sequence to abort.
Sending 5, 1406-byte ICMP Echos to 20.0.0.2, timeout is 2 seconds:
Packet sent with the DF bit set
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/6 ms
route-map을 적용한 후 IP 주소는 터널이 아니라 R2의 물리적 인터페이스로 변경됩니다.
R1#show ip bgp
BGP table version is 2, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 20.0.0.0/24 12.0.0.2 0 0 65511 i
터널이 표준 크기 MTU를 허용하는 대신 물리적 next hop을 사용하려면 데이터 평면을 변경합니다.
R1#ping 20.0.0.2 size 1500 df-bit
Type escape sequence to abort.
Sending 5, 1500-byte ICMP Echos to 20.0.0.2, timeout is 2 seconds:
Packet sent with the DF bit set
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/5 ms
문제 해결
현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.