소개
이 문서에서는 FMC(Firepower 관리 센터)에서 관리하는 FTD(Firepower Threat Defense)에서 VRF(Virtual Routing and Forwarding) 인식 IKEv2 사이트 대 사이트 VPN 터널을 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- VPN에 대한 기본 이해
- FMC 경험
- VRF 구현 지식
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
- Cisco FMC 버전 7.x
- Cisco FTD 버전 7.x
참고: 이 문서의 정보는 특정 랩 환경의 디바이스에서 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
가상 라우팅 및 포워딩
가상 라우팅에서는 여러 가상 라우터를 생성하여 인터페이스 그룹에 대한 별도의 라우팅 테이블을 유지 관리하여 네트워크 분리를 달성할 수 있습니다. 이렇게 하면 여러 디바이스를 사용하지 않고 네트워크 경로를 세분화하여 기능이 향상됩니다.
라우팅 인스턴스는 독립적이므로 겹치는 IP 주소를 서로 충돌하지 않고 사용할 수 있습니다. 각 VRF에는 고유한 라우팅 프로토콜 세션과 IPv4 및 IPv6 라우팅 테이블이 있습니다.
제한 사항
- VRF 인스턴스에 있는 인터페이스는 터널 엔드포인트/VPN 인터페이스로 사용할 수 없습니다.
- VPN 터널을 종료하는 데 사용되는 인터페이스는 전역 VRF에만 있을 수 있습니다.
제한 사항 1
인터페이스를 outside 가상 라우터에 추가하면 vrf_outside 사이트 대 사이트 VPN 토폴로지가 생성될 때 엔드포인트 인터페이스 선택을 위한 드롭다운에 이 인터페이스가 표시되지 않습니다.
제한 사항 2
인터페이스에 Site-to-Site VPN 토폴로지가 outside 있는 경우 VRF 인스턴스에 인터페이스를 추가할 수 없습니다. FMC는 VPN 터널의 역할을 하는 outside (WAN) 인터페이스가 엔드포인트를 사용자 지정 VRF가 아닌 전역 VRF의 일부로 종료한다는 오류를 제공합니다.
네트워크 다이어그램
구성
FTD 7.x와 다른 디바이스(ASA/FTD/라우터 또는 서드파티 벤더) 간에 IKEv2 Site-to-Site VPN 터널을 구성합니다.
로 Devices > Device Management이동합니다. 을 클릭한 Edit 다음 을 Routing선택합니다.
1단계. 그림과 Manage Virtual Routers같이 을 클릭합니다.
2단계. 를 Add Virtual Router 클릭하고 필요한 VRF 인스턴스를 추가합니다. 이 구축에는 vrf_inside이 사용됩니다.
3단계. VRF 인스턴스가 생성되면 필요한 인터페이스를 추가하는 옵션이 표시됩니다. 이 구축에서는 inside 이미지에 표시된 vrf_inside대로 인터페이스가에 추가됩니다.
4단계. 이 구축에서는 사이트 대 사이트 VPN 터널의 트래픽 선택기를 사용합니다.
Source: 192.168.70.0/24 [This network is on inside interface which is in "vrf_inside"] 192.168.80.0/24 [This network is on dmz interface which is not in any vrf instance] Destination : 192.168.10.0/24
경로 유출
VRF를 사용하면 라우터가 서로 다른 가상 네트워크에 대해 별도의 라우팅 테이블을 유지할 수 있습니다. 예외가 필요한 경우 VRF 경로 유출을 통해 일부 트래픽이 VRF 간에 라우팅될 수 있습니다. GRT(Global Routing Table)와 VRF(Virtual Routing and Forwarding) 테이블 간의 경로 유출은 고정 경로를 사용하여 수행됩니다. 두 방법 중 하나는 다음 홉 IP 주소(다중 액세스 세그먼트의 경우)를 제공하거나, 경로를 인터페이스 밖으로 가리킵니다(포인트-투-포인트 인터페이스).
VRF에서 전역으로 경로 유출
- FTD
Devices > Device Management를 선택하고 Edit 클릭합니다.
- 를
Routing 클릭합니다. 기본적으로 [전역 라우팅 속성] 페이지가 나타납니다.
- 를
Static Route 클릭합니다.
- 클릭
Add Route, 구성:
· Interface — 내부 인터페이스를 선택합니다.
· Network — vrf_inside 가상 라우터 네트워크 객체를 선택합니다(192.168.70.0/24).
· Gateway — 비워둡니다. 다른 가상 라우터로 경로를 유출할 경우 게이트웨이를 선택하지 마십시오.
경로 누수는 사이트 간 VPN의 외부(원격) 끝으로 보호되는 엔드포인트가 가상 라우터의 192.168.70.0/24 네트워크에 액세스할 수vrf_inside 있도록 합니다.
5. 이미지OK 에 표시된 대로 클릭합니다.
CLI에서 경로는 다음과 같이 표시됩니다.
route inside 192.168.70.0 255.255.255.0 1
네트워크 192.168.70.0/24은 인터페이스에inside 직접 연결되지만 네트워크가 VRF 인스턴스에 있으므로 GRT에서 이 네트워크를 볼 수 없습니다. 이 경로를 GRT에서 이용할 수 있도록 하기 위해 경로가 (에서)로 vrf_inside 유출되었다Global.
Global에서 VRF로 경로 유출
- 선택
Devices > Device Management 한 후 클릭 Edit 합니다.
- 을
Routing 클릭하고 드롭다운에서 을 선택합니다vrf_inside.
- 를
Static Route 클릭합니다.
- 클릭
Add Route , 구성:
· Interface — 전역 라우터의 외부 인터페이스를 선택합니다.
· Network — 전역 가상 라우터 네트워크 객체 선택(192.168.10.0/24)
· Gateway — 비워둡니다. 다른 가상 라우터로 경로를 유출할 경우 게이트웨이를 선택하지 마십시오
이 고정 경로를 사용하면 192.168.70.0/24 네트워크의 엔드포인트가 사이트 간 VPN 터널을 통과하는 192.168.10.0/24에 대한 연결을 시작할 수 있습니다.
5. 이미지OK에 표시된 대로 클릭합니다.
CLI에서 경로는 다음과 같이 표시됩니다.
route vrf vrf_inside outside 192.168.10.0 255.255.255.0 1
다음을 확인합니다.
구성이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오. 모든 출력은 네트워크 다이어그램에 표시된 FTD에서 수집됩니다.
FTD# show vrf Name VRF ID Description Interfaces vrf_inside 1 inside
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 route inside 192.168.70.0 255.255.255.0 1
FTD# show run route vrf vrf_inside route vrf vrf_inside outside 192.168.10.0 255.255.255.0 1
FTD# show route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set S 10.0.0.0 255.0.0.0 [1/0] via 10.106.50.1, outside C 10.106.50.0 255.255.255.0 is directly connected, outside L 10.106.50.212 255.255.255.255 is directly connected, outside V 192.168.10.0 255.255.255.0 connected by VPN (advertised), outside S 192.168.70.0 255.255.255.0 [1/0] is directly connected, inside C 192.168.80.0 255.255.255.0 is directly connected, dmz L 192.168.80.1 255.255.255.255 is directly connected, dmz
FTD# show crypto ikev2 sa IKEv2 SAs: Session-id:8, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 444445753 10.106.50.212/500 10.197.224.175/500 READY RESPONDER Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:19, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/11 sec Child sa: local selector 192.168.70.0/0 - 192.168.70.255/65535 remote selector 192.168.10.0/0 - 192.168.10.255/65535 ESP spi in/out: 0x5e950adb/0x47acd2dc
FTD# show crypto ipsec sa peer 10.197.224.175 peer address: 10.197.224.175 Crypto map tag: CSM_outside_map, seq num: 2, local addr: 10.106.50.212 access-list vrf-crypto-acl extended permit ip 192.168.70.0 255.255.255.0 192.168.10.0 255.255.255.0 local ident (addr/mask/prot/port): (192.168.70.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) current_peer: 10.197.224.175 #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4 #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #TFC rcvd: 0, #TFC sent: 0 #Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0 #send errors: 0, #recv errors: 0 local crypto endpt.: 10.106.50.212/500, remote crypto endpt.: 10.197.224.175/500 path mtu 1500, ipsec overhead 74(44), media mtu 1500 PMTU time remaining (sec): 0, DF policy: copy-df ICMP error validation: disabled, TFC packets: disabled current outbound spi: 47ACD2DC current inbound spi : 5E950ADB inbound esp sas: spi: 0x5E950ADB (1586825947) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 10, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4193279/28774) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x0000001F outbound esp sas: spi: 0x47ACD2DC (1202508508) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 10, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4147199/28774) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001
문제 해결
이 섹션에서는 설정 문제 해결을 위해 사용할 수 있는 정보를 제공합니다.
FTD# show crypto ipsec sa peer 10.197.224.175 peer address: 10.197.224.175 Crypto map tag: CSM_outside_map, seq num: 2, local addr: 10.106.50.212 access-list vrf-crypto-acl extended permit ip 192.168.70.0 255.255.255.0 192.168.10.0 255.255.255.0 local ident (addr/mask/prot/port): (192.168.70.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) current_peer: 10.197.224.175 #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 >>>> Packets received from remote end gets decapsulated but there are not encaps for the responses #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #TFC rcvd: 0, #TFC sent: 0 #Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0 #send errors: 0, #recv errors: 0 local crypto endpt.: 10.106.50.212/500, remote crypto endpt.: 10.197.224.175/500 path mtu 1500, ipsec overhead 74(44), media mtu 1500 PMTU time remaining (sec): 0, DF policy: copy-df ICMP error validation: disabled, TFC packets: disabled current outbound spi: 490F4CD1 current inbound spi : DB5608EB inbound esp sas: spi: 0xDB5608EB (3679848683) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 11, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4008959/28761) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x0000001F outbound esp sas: spi: 0x490F4CD1 (1225739473) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 11, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4239360/28761) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001
capture capin type raw-data interface inside [Capturing - 0 bytes] >>>> Captures applied on LAN(inside) interface shows decapsulated packets are not routed into LAN network match ip host 192.168.10.2 host 192.168.70.2 FTD# show cap capin 0 packet captured 0 packet shown
capture asp type asp-drop all [Capturing - 0 bytes] >>>> ASP Captures shows decapsulated packets are being dropped on FTD FTD# show capture asp | i 192.168.70.2 145: 15:28:47.670894 192.168.10.2 > 192.168.70.2 icmp: echo request 154: 15:28:49.666545 192.168.10.2 > 192.168.70.2 icmp: echo request 171: 15:28:51.672740 192.168.10.2 > 192.168.70.2 icmp: echo request 172: 15:28:53.664928 192.168.10.2 > 192.168.70.2 icmp: echo request
FTD# packet-tracer input outside icmp 192.168.10.2 8 0 192.168.70.2 detailed >>>> Packet tracer from outside shows "no route" for 192.168.70.0/24 network Phase: 1 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x2ba3bce77330, priority=1, domain=permit, deny=false hits=171480, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=outside, output_ifc=any Result: input-interface: outside(vrfid:0) input-status: up input-line-status: up Action: drop Drop-reason: (no-route) No route to host, Drop-location: frame 0x000055d9b7e8c7ce flow (NA)/NA
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 >>>> As the network 192.168.70.0/24 is in "vrf_inside" instance, there is no route leaked from Global to vrf_inside
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 route inside 192.168.70.0 255.255.255.0 1 >>>> After leaking the route from Global to vrf_inside
FTD# show cap capin >>>> Now capture shows bi-directional traffic on LAN(inside) interface 10 packets captured 1: 15:44:32.972743 192.168.10.2 > 192.168.70.2 icmp: echo request 2: 15:44:32.974543 192.168.70.2 > 192.168.10.2 icmp: echo reply 3: 15:44:33.032209 192.168.10.2 > 192.168.70.2 icmp: echo request 4: 15:44:33.033353 192.168.70.2 > 192.168.10.2 icmp: echo reply 5: 15:44:33.089656 192.168.10.2 > 192.168.70.2 icmp: echo request 6: 15:44:33.092814 192.168.70.2 > 192.168.10.2 icmp: echo reply 7: 15:44:33.149024 192.168.10.2 > 192.168.70.2 icmp: echo request 8: 15:44:33.151878 192.168.70.2 > 192.168.10.2 icmp: echo reply 9: 15:44:33.158774 192.168.10.2 > 192.168.70.2 icmp: echo request 10: 15:44:33.161048 192.168.70.2 > 192.168.10.2 icmp: echo reply 10 packets shown
FTD# packet-tracer input outside icmp 192.168.10.2 8 0 192.168.70.2 detailed >>>> Verified packet flow using Packet tracer Phase: 1 Type: INPUT-ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: Found next-hop 0.0.0.0 using egress ifc inside(vrfid:1) -------------------Output Omitted------------------------
Phase: 8 Type: VPN Subtype: ipsec-tunnel-flow Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x2ba3bdc75cc0, priority=70, domain=ipsec-tunnel-flow, deny=false hits=7, user_data=0xea71cdc, cs_id=0x2ba3bce93e70, reverse, flags=0x0, protocol=0 src ip/id=192.168.10.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.70.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=outside(vrfid:0), output_ifc=any -------------------Output Omitted------------------------ Phase: 13 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Reverse Flow based lookup yields rule: out id=0x2ba3bd44ed40, priority=70, domain=encrypt, deny=false hits=7, user_data=0xea6e344, cs_id=0x2ba3bce93e70, reverse, flags=0x0, protocol=0 src ip/id=192.168.70.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.10.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any(vrfid:65535), output_ifc=outside Result: input-interface: outside(vrfid:0) input-status: up input-line-status: up output-interface: inside(vrfid:1) output-status: up output-line-status: up Action: drop Drop-reason: (ipsec-spoof) IPSEC Spoof detected, Drop-location: frame 0x000055d9b7e8b4d1 flow (NA)/NA
BJB에서 BDB 백엔드에 연결하는 동안 시간이 초과되었습니다. Cisco 내부 네트워크에 연결되어 있는지 확인합니다.
[close]