소개
이 문서에서는 FMC에서 관리하는 FTD(FirePOWER Threat Defense)의 사이트 대 사이트 VPN에 대한 컨피그레이션 예를 제공합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- VPN에 대한 기본적인 이해
- Firepower Management Center 경험
- ASA 명령줄 경험
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco FTD 6.5
- ASA 9.10(1)32
- IKEv2
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
구성
FTD with FirePower Management Center의 컨피그레이션으로 시작합니다.
1단계. VPN 토폴로지를 정의합니다.
1. Devices(디바이스) > VPN > Site To Site(사이트 대 사이트)로 이동합니다. Add VPN(VPN 추가)에서 이 이미지에 표시된 대로 Firepower Threat Defense Device(Firepower Threat Defense 디바이스)를 클릭합니다.

2. Create New VPN Topology(새 VPN 토폴로지 생성) 상자가 나타납니다. VPN에 식별 가능한 이름을 지정합니다.
네트워크 토폴로지: 포인트 투 포인트
IKE 버전: IKEv2
이 예에서는 엔드포인트를 선택하면 노드 A가 FTD이고 노드 B가 ASA입니다. 이 이미지에 표시된 대로 토폴로지에 디바이스를 추가하려면 녹색 더하기 버튼을 클릭합니다.

3. FTD를 첫 번째 엔드포인트로 추가합니다.
암호화 맵이 배치되는 인터페이스를 선택합니다. IP 주소는 디바이스 컨피그레이션에서 자동으로 채워져야 합니다.
이 이미지에 표시된 대로 Protected Networks 아래에서 녹색 더하기 기호를 클릭하여 이 VPN에서 암호화할 서브넷을 선택합니다.

4. 녹색 더하기 기호를 클릭하면 여기에 네트워크 개체가 생성됩니다.
5. 암호화해야 하는 FTD에 로컬 서브넷을 모두 추가합니다. Add(추가)를 클릭하여 Selected Networks(선택한 네트워크)로 이동합니다. 이제 이 이미지에 표시된 대로 OK(확인)를 클릭합니다.
FTDSubnet = 10.10.113.0/24

노드 A: (FTD) 엔드포인트가 완료되었습니다. 이미지에 표시된 대로 노드 B의 녹색 더하기 기호를 클릭합니다.

노드 B는 ASA입니다. FMC에서 관리하지 않는 디바이스는 엑스트라넷으로 간주됩니다.
6. 디바이스 이름 및 IP 주소를 추가합니다. 이미지에 표시된 대로 녹색 더하기 기호를 클릭하여 보호된 네트워크를 추가합니다.

7. 이 이미지에 표시된 대로 암호화해야 하는 ASA 서브넷을 선택하고 선택한 네트워크에 추가합니다.
ASASubnet = 10.10.110.0/24

2단계. IKE 매개변수를 구성합니다.
이제 두 엔드포인트가 모두 IKE/IPSEC 컨피그레이션을 거칩니다.
1. IKE 탭에서 IKEv2 초기 교환에 사용되는 매개변수를 지정합니다. 이미지에 표시된 대로 녹색 더하기 기호를 클릭하여 새 IKE 정책을 생성합니다.

2. 새 IKE 정책에서 연결의 1단계 수명 및 우선순위 번호를 지정합니다. 이 문서에서는 Integrity(SHA256), Encryption(AES-256), PRF(SHA256) 및 Diffie-Hellman Group(Group 14) 등의 초기 교환에 대해 다음 매개변수를 사용합니다.
참고: 디바이스의 모든 IKE 정책은 선택한 정책 섹션에 있는 내용과 상관없이 원격 피어로 전송됩니다. 원격 피어와 일치하는 첫 번째 IKE 정책이 VPN 연결에 대해 선택됩니다. 우선 순위 필드를 사용하여 어떤 정책을 먼저 전송할지 선택합니다. 우선 순위 1이 먼저 전송됩니다.




3. 매개변수가 추가되면 이 정책을 선택하고 인증 유형을 선택합니다.
4. 사전 공유 키 설명서를 선택합니다. 이 문서에서는 PSK cisco123이 사용됩니다.

3단계. IPsec 매개변수를 구성합니다.
1. IPsec에서 연필을 클릭하여 변환 세트를 수정하고 새 IPsec 제안을 생성합니다(이 이미지에 표시됨).

2. 새 IKEv2 IPsec 제안을 생성하려면 녹색 더하기 기호를 클릭하고 2단계 매개변수를 입력합니다.
ESP Encryption > AES-GCM-256을 선택합니다. 암호화에 GCM 알고리즘을 사용할 경우 해시 알고리즘이 필요하지 않습니다. GCM을 사용하면 해시 함수가 기본 제공됩니다.

3. 새 IPsec 제안이 생성되면 선택한 변형 집합에 추가합니다.

새로 선택한 IPsec 제안이 IKEv2 IPsec 제안 아래에 나열됩니다.
필요한 경우 여기에서 2단계 수명 및 PFS를 편집할 수 있습니다. 이 예에서는 수명이 기본값으로 설정되고 PFS가 비활성화됩니다.

선택 사항 - 액세스 제어 우회 또는 액세스 제어 정책 생성 옵션을 완료해야 합니다.
4단계. 액세스 제어를 우회합니다.
선택적으로, sysopt permit-vpn은 Advanced(고급) > Tunnel(터널)에서 활성화할 수 있습니다.
이렇게 하면 액세스 제어 정책을 사용하여 사용자의 트래픽을 검사할 가능성이 제거됩니다. 사용자 트래픽을 필터링하는 데 VPN 필터 또는 다운로드 가능한 ACL을 계속 사용할 수 있습니다. 이 명령은 전역 명령이며 이 확인란이 활성화된 경우 모든 VPN에 적용됩니다.

sysopt permit-vpn이 활성화되지 않은 경우 FTD 디바이스를 통한 VPN 트래픽을 허용하려면 액세스 제어 정책을 생성해야 합니다. sysopt permit-vpn이 활성화된 경우 액세스 제어 정책 생성을 건너뜁니다.
5단계. 액세스 제어 정책을 생성합니다.
Access Control Policies(액세스 제어 정책) 아래에서 Policies(정책) > Access Control(액세스 제어) > Access Control(액세스 제어)으로 이동하고 FTD 디바이스를 대상으로 하는 정책을 선택합니다. Rule을 추가하려면 여기 이미지에 표시된 대로 Add Rule을 클릭합니다.
내부 네트워크에서 외부 네트워크로, 외부 네트워크에서 내부 네트워크로 트래픽을 허용해야 합니다. 둘 다 수행할 규칙을 하나 생성하거나 두 개의 규칙을 생성하여 별도로 유지합니다. 이 예에서는 두 작업을 모두 수행하기 위해 하나의 규칙이 생성됩니다.


6단계. NAT 제외를 구성합니다.
VPN 트래픽에 대한 NAT Exemption 문을 구성합니다. VPN 트래픽이 다른 NAT 문에 도달하고 VPN 트래픽을 잘못 변환하지 않도록 하려면 NAT 예외가 있어야 합니다.
1. Devices(디바이스) > NAT로 이동하여 FTD를 대상으로 하는 NAT 정책을 선택합니다. Add Rule(규칙 추가) 버튼을 클릭하면 새 규칙을 생성합니다.

2. 새 고정 수동 NAT 규칙을 생성합니다. 내부 및 외부 인터페이스를 참조합니다.

3. 변환 탭 아래에서 소스 및 대상 서브넷을 선택합니다. NAT 예외 규칙이므로 이 이미지에 표시된 대로 원래 소스/대상 및 변환된 소스/대상을 동일하게 만듭니다.

4. 마지막으로, Advanced(고급) 탭으로 이동하여 no-proxy-arp 및 route-lookup을 활성화합니다.

5. 이 규칙을 저장하고 NAT 목록에서 최종 결과를 확인합니다.

6. 구성이 완료되면 구성을 저장하고 FTD에 배포합니다.
7단계. ASA를 구성합니다.
- 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 FTD_GP internal
Group-policy FTD_GP attributes
Vpn-tunnel-protocol ikev2
4. 피어 FTD 공용 IP 주소에 대한 터널 그룹을 생성합니다. 그룹 정책을 참조하고 사전 공유 키를 지정합니다.
Tunnel-group 172.16.100.20 type ipsec-l2l
Tunnel-group 172.16.100.20 general-attributes
Default-group-policy FTD_GP
Tunnel-group 172.16.100.20 ipsec-attributes
ikev2 local-authentication pre-shared-key cisco123
ikev2 remote-authentication pre-shared-key cisco123
5. 암호화할 트래픽을 정의하는 액세스 목록을 생성합니다. (FTDSubnet 10.10.113.0/24) (ASASubnet 10.10.110.0/24)
Object network FTDSubnet
Subnet 10.10.113.0 255.255.255.0
Object network ASASubnet
Subnet 10.10.110.0 255.255.255.0
Access-list ASAtoFTD extended permit ip object ASASubnet object FTDSubnet
6. FTD에 지정된 알고리즘을 참조하여 ikev2 ipsec-proposal을 생성합니다.
Crypto ipsec ikev2 ipsec-proposal FTD
Protocol esp encryption aes-gcm-256
7. 구성을 연결하는 암호화 맵 항목을 생성합니다.
Crypto map outside_map 10 set peer 172.16.100.20
Crypto map outside_map 10 match address ASAtoFTD
Crypto map outside_map 10 set ikev2 ipsec-proposal FTD
Crypto map outside_map 10 interface outside
8. VPN 트래픽이 방화벽에서 NATTED되지 않도록 하는 NAT 예외 문을 만듭니다.
Nat (inside,outside) 1 source static ASASubnet ASASubnet destination static FTDSubnet FTDSubnet no-proxy-arp route-lookup
다음을 확인합니다.
참고: 현재 FMC에서 VPN 터널 상태를 검토할 방법이 없습니다. 이 기능에 대한 개선 요청 CSCvh77603이 있습니다.
VPN 터널을 통해 트래픽을 시작하려고 시도합니다. ASA 또는 FTD의 명령줄에 대한 액세스를 통해 패킷 추적기 명령으로 이 작업을 수행할 수 있습니다. VPN 터널을 가져오기 위해 packet-tracer 명령을 사용할 경우 터널이 나타나는지 확인하기 위해 두 번 실행해야 합니다. 명령을 처음 실행하면 VPN 터널이 다운되어 VPN 암호화 DROP에서 packet-tracer 명령이 실패합니다. 항상 실패하므로 방화벽의 내부 IP 주소를 패킷 추적기의 소스 IP 주소로 사용하지 마십시오.
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 10
Type: VPN
Subtype: encrypt
Result: DROP
Config:
Additional Information:
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 172.16.100.1 using egress ifc outside
Phase: 2
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
NAT divert to egress interface outside
Untranslate 10.10.110.10/0 to 10.10.110.10/0
Phase: 3
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit ip ifc Inside object-group FMC_INLINE_src_rule_268436483 ifc outside object-group FMC_INLINE_dst_rule_268436483 rule-id 268436483
access-list CSM_FW_ACL_ remark rule-id 268436483: ACCESS POLICY: FTD-Access-Control-Policy - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268436483: L7 RULE: VPN_Traffic
object-group network FMC_INLINE_src_rule_268436483
description: Auto Generated by FMC from src of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
object-group network FMC_INLINE_dst_rule_268436483
description: Auto Generated by FMC from dst of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
Additional Information:
This packet will be sent to snort for additional processing where a verdict will be reached
Phase: 5
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
Static translate 10.10.113.10/0 to 10.10.113.10/0
Phase: 10
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Result:
input-interface: Inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow
터널 상태를 모니터링하려면 FTD 또는 ASA의 CLI로 이동합니다.
다음 명령을 사용하여 FTD CLI에서 1단계 및 2단계를 확인합니다.
crypto ikev2 sa 표시
> show crypto ikev2 sa
IKEv2 SAs:
Session-id:4, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
9528731 172.16.100.20/500 192.168.200.10/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/118 sec
Child sa: local selector 10.10.113.0/0 - 10.10.113.255/65535
remote selector 10.10.110.0/0 - 10.10.110.255/65535
ESP spi in/out: 0x66be357d/0xb74c8753
문제 해결 및 디버그
초기 연결 문제
VPN을 구축할 때 터널을 협상하는 두 가지 측면이 있습니다. 따라서 모든 유형의 터널 오류를 해결할 때 대화의 양쪽을 모두 가져오는 것이 좋습니다. IKEv2 터널을 디버깅하는 방법에 대한 자세한 지침은 다음에서 확인할 수 있습니다. IKEv2 VPN을 디버깅하는 방법
터널 장애의 가장 일반적인 원인은 연결 문제입니다. 이를 확인하는 가장 좋은 방법은 디바이스에서 패킷 캡처를 가져오는 것입니다. 디바이스에서 패킷 캡처를 가져오려면 다음 명령을 사용합니다.
Capture capout interface outside match ip host 172.16.100.20 host 192.168.200.10
캡처가 제자리에 놓이면 VPN을 통해 트래픽을 전송하고 패킷 캡처에서 양방향 트래픽을 확인합니다.
다음 명령을 사용하여 패킷 캡처를 검토합니다.
show cap capout
firepower# show cap capout
4 packets captured
1: 11:51:12.059628 172.16.100.20.500 > 192.168.200.10.500: udp 690
2: 11:51:12.065243 192.168.200.10.500 > 172.16.100.20.500: udp 619
3: 11:51:12.066692 172.16.100.20.500 > 192.168.200.10.500: udp 288
4: 11:51:12.069835 192.168.200.10.500 > 172.16.100.20.500: udp 240
트래픽별 문제
흔히 발생하는 트래픽 문제는 다음과 같습니다.
- FTD 뒤에 라우팅 문제 — 내부 네트워크에서 할당된 IP 주소 및 VPN 클라이언트로 패킷을 다시 라우팅할 수 없습니다.
- 액세스 제어는 트래픽 차단을 나열합니다.
- VPN 트래픽에 대해 네트워크 주소 변환이 우회되지 않습니다.
FMC에서 관리하는 FTD의 VPN에 대한 자세한 내용은 여기에서 전체 컨피그레이션 가이드를 참조하십시오. FMC에서 관리하는 FTD 컨피그레이션 가이드