본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 FMC에서 관리하는 FTD의 IP SLA 트랙 기능을 사용하여 ISP 링크에 대한 암호화 맵 기반 장애 조치를 구성하는 방법에 대해 설명합니다.
기고자: Amanda Nava, Cisco TAC 엔지니어.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 문서에서는 FMC(Firepower Management Center)에서 관리하는 FTD(Firepower Threat Defense)의 IP SLA(Internet Protocol Service Level Agreement) 트랙 기능과 함께 백업 ISP(Internet Service Provider) 링크의 암호화 맵 기반 장애 조치를 구성하는 방법에 대해 설명합니다. 또한 두 개의 ISP가 있고 원활한 장애 조치가 필요한 경우 VPN 트래픽에 대해 NAT(Network Address Translation) 예외를 구성하는 방법에 대해서도 설명합니다.
이 시나리오에서는 VPN이 FTD에서 ASA로 향하는 VPN 피어에 ISP 인터페이스가 하나만 있는 상태로 설정됩니다. FTD는 VPN을 설정하기 위해 해당 시점에 하나의 ISP 링크를 사용합니다. 기본 ISP 링크가 중단되면 FTD가 SLA 모니터를 통해 보조 ISP 링크를 인계받고 VPN이 설정됩니다.
다음은 이 문서 전반의 예시에 사용되는 토폴로지입니다.
1. 이미지에 표시된 대로 Devices > Device Management > Interfaces로 이동합니다.
1. Devices(디바이스) > VPN > Site To Site(사이트 대 사이트)로 이동합니다. Add VPN(VPN 추가)에서 Firepower Threat Defense Device(위협 방어 디바이스)를 클릭하고 VPN을 생성한 후 Outside(외부) 인터페이스를 선택합니다.
참고: 이 문서에서는 처음부터 S2S VPN을 구성하는 방법에 대해 설명하지 않습니다. FTD의 S2S VPN 컨피그레이션에 대한 자세한 내용은 https://www.cisco.com/c/en/us/support/docs/security-vpn/ipsec-negotiation-ike-protocols/215470-site-to-site-vpn-configuration-on-ftd-ma.html을 참조하십시오.
1. Devices(디바이스) > VPN > Site To Site(사이트 대 사이트)로 이동합니다. Add VPN(VPN 추가)에서 Firepower Threat Defense Device(위협 방어 디바이스)를 클릭하고 VPN을 생성한 다음 Outside2 인터페이스를 선택합니다.
참고: Outside2 인터페이스를 사용하는 VPN 컨피그레이션은 VPN 인터페이스를 제외하고 Outside VPN 토폴로지와 정확히 동일해야 합니다.
이미지에 표시된 대로 VPN 토폴로지를 구성해야 합니다.
1. Objects(개체) > SLA Monitor(SLA 모니터) > Add SLA Monitor(SLA 모니터 추가)로 이동합니다. Add VPN(VPN 추가) 아래에서 Firepower Threat Defense Device(위협 방어 디바이스)를 클릭하고 이미지에 표시된 대로 SLA 모니터를 구성합니다.
2. SLA Monitor ID* 필드에는 외부 next-hop IP 주소를 사용합니다.
1. Devices > Routing > Static Route로 이동합니다. Add Route(경로 추가)를 선택하고 Route tracking(경로 추적) 필드의 SLA Monitor(SLA 모니터) 정보(4단계에서 생성됨)를 사용하여 Outside(기본) 인터페이스에 대한 기본 경로를 구성합니다.
2. Outside2(보조) 인터페이스에 대한 기본 경로를 구성합니다. 메트릭 값은 기본 기본 경로보다 커야 합니다. 이 섹션에 경로 추적 필드가 필요하지 않습니다.
경로는 그림과 같이 구성해야 합니다.
1. Devices(디바이스) > NAT > NAT Policy(NAT 정책)로 이동하고 FTD 디바이스를 대상으로 하는 정책을 선택합니다. Add Rule을 선택하고 ISP 인터페이스당 NAT 제외를 구성합니다(Outside 및 Outside2). NAT 규칙은 대상 인터페이스를 제외하고 동일해야 합니다.
참고: 이 시나리오에서는 두 NAT 규칙 모두 Route-lookup을 활성화해야 합니다. 그렇지 않으면 트래픽이 첫 번째 규칙에 도달하여 장애 조치 경로를 유지하지 못합니다. 경로 조회가 활성화되지 않은 경우 트래픽은 항상 (첫 번째 NAT 규칙) 외부 인터페이스를 사용하여 전송됩니다. 경로 조회가 활성화되면 트래픽은 항상 SLA 모니터를 통해 제어되는 라우팅 테이블에 유지됩니다.
1. Policies(정책) > Access Control(액세스 제어)로 이동하고 액세스 제어 정책을 선택합니다. 규칙을 추가하려면 여기 이미지에 표시된 대로 Add Rule(규칙 추가)을 클릭합니다.
Inside(내부)에서 Outside(외부) 영역(Outside1 및 Outside2)으로 하나의 규칙을 구성하면 10.10.10.0/24에서 192.168.100/24으로 원하는 트래픽을 보낼 수 있습니다.
Outside(외부) 영역(Outside1 및 Outside 2)에서 Inside(내부)로의 또 다른 규칙을 구성하면 192.168.100/24에서 10.10.10.0/24으로의 흥미로운 트래픽을 허용할 수 있습니다.
참고: 이 특정 시나리오에서 백업 피어가 IKEv2 암호화 맵에 구성되어 있으면 이 기능을 사용하려면 ASA가 9.14.1 이상 버전이어야 합니다. ASA에서 이전 버전을 실행 중인 경우 해결 방법으로 IKEv1을 사용합니다. 자세한 내용은 Cisco 버그 ID CSCud22276을 참조하십시오.
ASA의 외부 인터페이스에서 IKEv2를 활성화합니다.
Crypto ikev2 enable Outside
2. FTD에 구성된 것과 동일한 매개변수를 정의하는 IKEv2 정책을 생성합니다.
crypto ikev2 policy 1
encryption aes-256
integrity sha256
group 14
prf sha256
lifetime seconds 86400
3. ikev2 프로토콜을 허용하는 그룹 정책을 만듭니다.
group-policy IKEV2 internal
group-policy IKEV2 attributes
vpn-tunnel-protocol ikev2
4. 각 외부 FTD IP 주소(Outside1 및 Outside2)에 대한 터널 그룹을 생성합니다. 그룹 정책을 참조하고 사전 공유 키를 지정합니다.
tunnel-group 10.200.1.5 type ipsec-l2l
tunnel-group 10.200.1.5 general-attributes
default-group-policy IKEV2
tunnel-group 10.200.1.5 ipsec-attributes
ikev2 remote-authentication pre-shared-key Cisco123
ikev2 local-authentication pre-shared-key Cisco123
tunnel-group 10.201.1.5 type ipsec-l2l
tunnel-group 10.201.1.5 general-attributes
default-group-policy IKEV2
tunnel-group 10.201.1.5 ipsec-attributes
ikev2 remote-authentication pre-shared-key Cisco123
ikev2 local-authentication pre-shared-key Cisco123
5. 암호화할 트래픽을 정의하는 액세스 목록을 만듭니다. (FTD 서브넷 10.10.10.0/24) (ASA 서브넷 192.168.100.0/24)
Object network FTD-Subnet
Subnet 10.10.10.0 255.255.255.0
Object network ASA-Subnet
Subnet 192.168.100.0 255.255.255.0
access-list VPN_1 extended permit ip 192.168.100.0 255.255.255.0 10.10.10.0 255.255.255.0
6. FTD에 지정된 알고리즘을 참조하려면 ikev2 ipsec-proposal을 생성합니다.
crypto ipsec ikev2 ipsec-proposal CSM_IP_1
protocol esp encryption aes-256
protocol esp integrity sha-256
7. 컨피그레이션을 함께 연결하고 Outside1 및 Outside2 FTD IP 주소를 추가하는 암호화 맵 항목을 생성합니다.
crypto map CSM_Outside_map 1 match address VPN_1
crypto map CSM_Outside_map 1 set peer 10.200.1.5 10.201.1.5
crypto map CSM_Outside_map 1 set ikev2 ipsec-proposal CSM_IP_1
crypto map CSM_Outside_map 1 set reverse-route
crypto map CSM_Outside_map interface Outside
8. 방화벽에서 VPN 트래픽을 NAT하지 못하도록 하는 NAT 예외 문을 만듭니다.
Nat (inside,Outside) 1 source static ASA-Subnet ASA-Subnet destination static FTD-Subnet FTD-Subnet no-proxy-arp route-lookup
설정이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
명령줄에서 show crypto ikev2 sa 명령을 사용하여 VPN 상태를 확인합니다.
참고: VPN은 Outside1의 IP 주소(10.200.1.5)를 로컬로 설정합니다.
firepower# sh crypto ikev2 sa
IKEv2 SAs:
Session-id:24, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
373101057 10.200.1.5/500 10.100.1.1/500 READY RESPONDER
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/37 sec
Child sa: local selector 10.10.10.0/0 - 10.10.10.255/65535
remote selector 192.168.100.0/0 - 192.168.100.255/65535
ESP spi in/out: 0x829ed58d/0x2051ccc9
기본 경로에는 Outside1의 next-hop IP 주소가 표시됩니다.
firepower# sh 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
SI - Static InterVRF
Gateway of last resort is 10.200.1.1 to network 0.0.0.0
S* 0.0.0.0 0.0.0.0 [1/0] via 10.200.1.1, Outside1
C 10.10.10.0 255.255.255.0 is directly connected, Inside
L 10.10.10.5 255.255.255.255 is directly connected, Inside
C 10.200.1.0 255.255.255.0 is directly connected, Outside1
L 10.200.1.5 255.255.255.255 is directly connected, Outside1
C 10.201.1.0 255.255.255.0 is directly connected, Outside2
L 10.201.1.5 255.255.255.255 is directly connected, Outside2
쇼 트랙 1 출력에서 볼 수 있듯이, "Reachability is Up".
firepower# sh track 1
Track 1
Response Time Reporter 10 reachability
Reachability is Up <-----
36 changes, last change 00:00:04
Latest operation return code: OK
Latest RTT (millisecs) 1
Tracked by:
STATIC-IP-ROUTING 0
흥미로운 트래픽이 Outside1 인터페이스의 NAT 예외 규칙에 도달하는지 확인해야 합니다.
흥미로운 트래픽에 적용된 NAT 규칙을 확인하려면 "packet-tracer input Inside icmp 10.10.1 8 0 192.168.100.10 detail" 명령을 사용합니다.
firepower# packet-tracer input inside icmp 10.10.10.1 8 0 192.168.100.1 det
---------------OMITTED OUTPUT -----------------
Phase: 4
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (Inside,Outside1) source static 10.10.10.0 10.10.10.0 destination static 192.168.100.1 192.168.100.1 no-proxy-arp route-lookup description NAT EXEMPTION OUTSIDE _VPN
Additional Information:
NAT divert to egress interface Outside1(vrfid:0)
Untranslate 192.168.100.1/0 to 192.168.100.1/0
---------------OMITTED OUTPUT -----------------
Phase: 7
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (Inside,Outside1) source static 10.10.10.0 10.10.10.0 destination static 192.168.100.1 192.168.100.1 no-proxy-arp route-lookup description NAT EXEMPTION OUTSIDE _VPN
Additional Information:
Static translate 10.10.10.1/0 to 10.10.10.1/0
Forward Flow based lookup yields rule:
in id=0x2b3e09576290, priority=6, domain=nat, deny=false
hits=19, user_data=0x2b3e0c341370, cs_id=0x0, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Inside(vrfid:0), output_ifc=Outside1(vrfid:0)
Phase: 8
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x2b3e0a482330, priority=0, domain=nat-per-session, deny=true
hits=3596, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=any
---------------OMITTED OUTPUT -----------------
Phase: 12
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
out id=0x2b3e0c8d0250, priority=70, domain=encrypt, deny=false
hits=5, user_data=0x16794, cs_id=0x2b3e0b633c60, reverse, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=any(vrfid:65535), output_ifc=Outside1
Phase: 13
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
nat (Inside,Outside1) source static 10.10.10.0 10.10.10.0 destination static 192.168.100.1 192.168.100.1 no-proxy-arp route-lookup description NAT EXEMPTION OUTSIDE _VPN
Additional Information:
Forward Flow based lookup yields rule:
out id=0x2b3e095d49a0, priority=6, domain=nat-reverse, deny=false
hits=1, user_data=0x2b3e0c3544f0, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Inside(vrfid:0), output_ifc=Outside1(vrfid:0)
Phase: 14
Type: VPN
Subtype: ipsec-tunnel-flow
Result: ALLOW
Config:
Additional Information:
Reverse Flow based lookup yields rule:
in id=0x2b3e0c8ad890, priority=70, domain=ipsec-tunnel-flow, deny=false
hits=5, user_data=0x192ec, cs_id=0x2b3e0b633c60, reverse, flags=0x0, protocol=0
src ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Outside1(vrfid:0), output_ifc=any
Phase: 15
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Reverse Flow based lookup yields rule:
in id=0x2b3e0a482330, priority=0, domain=nat-per-session, deny=true
hits=3598, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=any
---------------OMITTED OUTPUT -----------------
Result:
input-interface: Inside(vrfid:0)
input-status: up
input-line-status: up
output-interface: Outside1(vrfid:0)
output-status: up
output-line-status: up
Action: allow
이 예에서는 IP SLA 모니터 컨피그레이션에 사용된 Outside1의 Next hop을 종료하여 장애 조치를 수행합니다.
firepower# sh sla monitor configuration 10
IP SLA Monitor, Infrastructure Engine-II.
Entry number: 10
Owner:
Tag:
Type of operation to perform: echo
Target address: 10.200.1.1
Interface: Outside1
Number of packets: 1
Request size (ARR data portion): 28
Operation timeout (milliseconds): 5000
Type Of Service parameters: 0x0
Verify data: No
Operation frequency (seconds): 60
Next Scheduled Start Time: Start Time already passed
Group Scheduled : FALSE
Life (seconds): Forever
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): Active
Enhanced History:
이제 기본 경로가 Outside2의 next-hop IP 주소를 사용하며 Reachability(연결성)는 Down(중단)입니다.
firepower# sh 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
SI - Static InterVRF
Gateway of last resort is 10.201.1.1 to network 0.0.0.0
S* 0.0.0.0 0.0.0.0 [2/0] via 10.201.1.1, Outside2
C 10.10.10.0 255.255.255.0 is directly connected, Inside
L 10.10.10.5 255.255.255.255 is directly connected, Inside
C 10.200.1.0 255.255.255.0 is directly connected, Outside1
L 10.200.1.5 255.255.255.255 is directly connected, Outside1
C 10.201.1.0 255.255.255.0 is directly connected, Outside2
L 10.201.1.5 255.255.255.255 is directly connected, Outside2
show track 1 출력에서 볼 수 있듯이, 이 시점에서 "연결 가능성이 떨어졌습니다."
firepower# sh track 1
Track 1
Response Time Reporter 10 reachability
Reachability is Down <----
37 changes, last change 00:17:02
Latest operation return code: Timeout
Tracked by:
STATIC-IP-ROUTING 0
firepower# packet-tracer input inside icmp 10.10.10.1 8 0 192.168.100.1 det
---------------OMITTED OUTPUT -----------------
Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (Inside,Outside2) source static 10.10.10.0 10.10.10.0 destination static 192.168.100.1 192.168.100.1 no-proxy-arp route-lookup description NAT EXEMPTION OUTSIDE _VPN
Additional Information:
Static translate 10.10.10.1/0 to 10.10.10.1/0
Forward Flow based lookup yields rule:
in id=0x2b3e0c67d470, priority=6, domain=nat, deny=false
hits=44, user_data=0x2b3e0c3170e0, cs_id=0x0, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Inside(vrfid:0), output_ifc=Outside2(vrfid:0)
---------------OMITTED OUTPUT -----------------
Phase: 9
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
out id=0x2b3e0c67bdb0, priority=70, domain=encrypt, deny=false
hits=1, user_data=0x1d4cfb24, cs_id=0x2b3e0c273db0, reverse, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=any(vrfid:65535), output_ifc=Outside2
Phase: 10
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
nat (Inside,Outside2) source static 10.10.10.0 10.10.10.0 destination static 192.168.100.1 192.168.100.1 no-proxy-arp route-lookup description NAT EXEMPTION OUTSIDE _VPN
Additional Information:
Forward Flow based lookup yields rule:
out id=0x2b3e0c6d5bb0, priority=6, domain=nat-reverse, deny=false
hits=1, user_data=0x2b3e0b81bc00, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
src ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Inside(vrfid:0), output_ifc=Outside2(vrfid:0)
Phase: 11
Type: VPN
Subtype: ipsec-tunnel-flow
Result: ALLOW
Config:
Additional Information:
Reverse Flow based lookup yields rule:
in id=0x2b3e0c8a14f0, priority=70, domain=ipsec-tunnel-flow, deny=false
hits=1, user_data=0x1d4d073c, cs_id=0x2b3e0c273db0, reverse, flags=0x0, protocol=0
src ip/id=192.168.100.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=10.10.10.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=Outside2(vrfid:0), output_ifc=any
Phase: 12
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Reverse Flow based lookup yields rule:
in id=0x2b3e0a482330, priority=0, domain=nat-per-session, deny=true
hits=3669, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=any
---------------OMITTED OUTPUT -----------------
Result:
input-interface: Inside(vrfid:0)
input-status: up
input-line-status: up
output-interface: Outside2(vrfid:0)
output-status: up
output-line-status: up
Action: allow
현재 이 설정에 사용할 수 있는 특정 문제 해결 정보가 없습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
19-Jan-2021 |
최초 릴리스 |