본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 여러 원격 엑스트라넷 장치(스포크)가 있는 Cisco Secure Firewall(허브)에서 DVTI를 구성하는 방법에 대해 설명합니다.
DVTI(Dynamic Virtual Tunnel Interface)는 원격 액세스 VPN(Virtual Private Network)을 위해 매우 안전하고 확장 가능한 연결을 제공할 수 있습니다.
DVTI는 허브 및 스포크 구성에 모두 사용할 수 있습니다. 터널은 각 VPN 세션에 대해 별도의 온디맨드 가상 액세스 인터페이스를 제공합니다.
1. 스포크가 VPN 연결을 위해 허브와 IKE 교환 요청을 시작합니다.
2. 허브가 스포크를 인증합니다.
3. Cisco Secure Firewall Management Center가 허브에 동적 가상 템플릿을 할당합니다.
4. 가상 템플릿은 허브에 가상 액세스 인터페이스를 동적으로 생성합니다. 이 인터페이스는 스포크당 VPN 세션에 대해 고유합니다.
5. 허브는 가상 액세스 인터페이스를 통해 스포크와 동적 VTI 터널을 설정합니다.
6. 허브 및 스포크는 터널을 통해 BGP/OSPF/EIGRP(Dynamic Routing Protocol) 또는 VTI(Multiple-Security Associations) 기능을 사용하여 트래픽을 교환합니다.
7. 동적 VTI는 다른 인터페이스와 마찬가지로 작동하므로 터널이 활성화되는 즉시 QoS, 방화벽 규칙, 라우팅 프로토콜 및 기타 기능을 적용할 수 있습니다.
8. 단일 DVTI가 여러 원격/스포크 사이트에 대해 HUB 디바이스 및 여러 고정 터널 인터페이스에 생성됩니다.
참고: Cisco Secure Firewall은 버전 7.3에 DVTI 지원을 추가했으며 현재 Cisco 버그 ID CSCwe13781에 따라 단일 DVTI만 지원합니다. 등록된 Cisco 사용자만 내부 Cisco 툴 및 정보에 액세스할 수 있습니다.
경로 기반 VPN과 정책 기반 VPN 시스템 간의 호환성을 지원하기 위해 다중 보안 연결 VTI 기능이 구현되었습니다.
참고: 이 문서의 정보는 특정 랩 환경의 디바이스에서 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
참고: 이 문서의 정보는 특정 랩 환경의 디바이스에서 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
참고: 모든 로컬 및 원격 서브넷은 각 디바이스에서 이전에 구성된 루프백 인터페이스로 시뮬레이션됩니다.
1. 관리자 자격 증명으로 FMC GUI에 로그인합니다.
2. FMC 대시보드 보기에서 장치로 이동하여 VPN 옵션 아래의 Site To Site(사이트 간)를 클릭합니다.
3. 사이트 대 사이트 대시보드에서 + 사이트 대 사이트 VPN을 클릭하여 새 사이트 대 사이트 토폴로지를 만듭니다.
4. [새 VPN 토폴로지 생성] 메뉴에서 새 이름을 지정하고 새 토폴로지의 VPN 유형으로 Route Based (VTI)를 선택하고 IKE Version 옵션에서 IKEv2 프로토콜을 선택한 다음 Network Topology(네트워크 토폴로지) 설정에서 Hub and Spoke(허브 및 스포크)를 선택하고 Hub Nodes(허브 노드) 섹션에서 + 아이콘을 클릭하여 새 허브 디바이스를 지정합니다.
5. 엔드포인트 추가 창에서 허브 역할을 하는 디바이스를 선택하고 동적 가상 터널 인터페이스 드롭다운 메뉴 옆의 + 아이콘을 클릭하여 새 DVTI를 생성합니다.
6. Add Virtual Tunnel Interface(가상 터널 인터페이스 추가) 메뉴에서 새 터널 인터페이스의 이름을 지정하고 원하는 보안 영역에 지정하고 해당 IP가 있는 터널 소스를 선택한 다음 IP 주소 구성 아래의 + 아이콘을 클릭하여 BorrowIP(BorrowIP) 옵션 옆에 새 루프백 인터페이스를 생성합니다.
Cisco는 루프백 인터페이스에서 동적 인터페이스에 대한 Borrowed IP를 구성하는 것을 권장합니다.
참고: 터널 소스 인터페이스는 라우팅 가능하며 원격 스포크 피어 IP에 연결할 수 있어야 합니다.
7. Add Loopback Interface(루프백 인터페이스 추가) 창에서 해당 ID로 인터페이스의 이름을 지정하고 IPv4 탭으로 이동합니다.
8. IPv4 탭의 드롭다운 메뉴에서 IP 유형 옵션 아래에서 고정 IP 사용을 선택하고 DVTI에 속하는 IP 주소를 지정한 후 확인을 클릭합니다.
참고: 허브 DVTI의 IP 주소는 192.168.17.1/32입니다.
9. Add Virtual Tunnel Interface(가상 터널 인터페이스 추가) 메뉴에서 드롭다운 메뉴 아래에 새 Loobpack이 표시되고, 이를 선택한 후 OK(확인)를 클릭합니다.
10. 새 DVTI가 생성되었음을 나타내는 Virtual Tunnel Interface Added(가상 터널 인터페이스 추가됨) 창이 나타나면 Ok(확인)를 클릭하고 계속합니다.
11. 엔드포인트 추가 창에서 Dynamic Virtual Tunnel Interface(동적 가상 터널 인터페이스) 드롭다운 표시줄 아래에 새 DVTI가 표시되고, 이를 선택하고 Send Virtual Tunnel Interface IP to peers(가상 터널 인터페이스 IP를 피어로 보내기) 상자 옵션과 Allow incoming IKEv2 routes from the peers(피어에서 들어오는 IKEv2 경로 허용) 옵션을 선택한 다음, Protected Networks(보호되는 네트워크) 설정 옆의 +를 클릭하여 허브 장치 뒤의 네트워크를 지정합니다.
참고: 이 예에서 허브의 두 번째 루프백 인터페이스는 IP 주소가 192.168.5.1/24인 보호된 네트워크의 일부로서 로컬 OnPREM 서브넷의 호스트를 시뮬레이션합니다.
12. Available Networks(사용 가능한 네트워크) 섹션에서 로컬 보호 네트워크와 DVTI 서브넷(192.168.17.0/24)을 시뮬레이션하는 서브넷을 확인하고 Add(추가)를 클릭한 다음 OK(확인)를 클릭하여 변경 사항을 적용합니다.
참고: 이 문서에서는 네트워크 개체가 192.168.17.0/24 네트워크와 함께 OnPREM으로 미리 구성되었습니다. 터널 인터페이스에서 소싱된 트래픽을 보호하려면 DVTI 서브넷을 추가해야 합니다.
13. 새 보호 네트워크 개체가 추가되었는지 확인하고 확인을 클릭합니다.
14. 새 허브 장치가 Hub Nodes 섹션 아래에 추가되었는지 확인하고 Spoke Nodes 섹션 옆에 있는 +를 클릭하여 새 엔드포인트를 원격 spoke-1로 추가합니다.
15. Add Endpoint(엔드포인트 추가) 창에서 Spoke-1로 실행되는 디바이스를 선택하고 Static Virtual Tunnel Interface(정적 가상 터널 인터페이스) 드롭다운 메뉴 옆의 + 아이콘을 클릭하여 새 SVTI를 생성합니다.
16. [가상 터널 인터페이스 추가] 메뉴에서 새 터널 인터페이스의 이름을 지정하고 원하는 보안 영역에 지정하고 해당 IP가 있는 터널 소스를 선택한 다음 IP 주소 구성 아래의 "+" 아이콘을 눌러 BorrowIP 옵션 옆에 새 루프백 인터페이스를 생성합니다.
17. Add Loopback Interface(루프백 인터페이스 추가) 창에서 해당 ID로 인터페이스의 이름을 지정하고 IPv4(IPv4) 탭으로 이동합니다.
18. IPv4 탭의 드롭다운 메뉴에서 IP Type 옵션 아래에 있는 Use Static IP(고정 IP 사용)를 선택하고 SVTI에 속하는 IP 주소를 지정한 다음 OK(확인)를 클릭합니다.
참고: Spoke-1 SVTI의 IP 주소: 192.168.17.2/32
19. Add Virtual Tunnel Interface(가상 터널 인터페이스 추가) 메뉴에서 드롭다운 메뉴 아래에 새 Loobpack이 표시되고, 이를 선택한 후 OK(확인)를 클릭합니다.
20. 새 DVTI가 생성되었음을 나타내는 Virtual Tunnel Interface Added(가상 터널 인터페이스 추가됨) 창이 나타나면 Ok(확인)를 클릭하고 계속합니다.
21. 엔드포인트 추가 창에서 새 SVTI가 StaticVirtual Tunnel Interface(StaticVirtual Tunnel 인터페이스) 드롭다운 표시줄 아래에 표시되고, 이를 선택하고 Send Virtual Tunnel Interface IP to peers(가상 터널 인터페이스 IP를 피어로 보내기) 옵션과 Allow incoming IKEv2 routes from the peers(피어에서 들어오는 IKEv2 경로 허용) 옵션을 선택한 후 Protected Networks(보호되는 네트워크) 설정 옆의 "+"를 클릭하여 스포크 디바이스의 뒤를 지정합니다.
참고: 이 예에서 spoke-1의 두 번째 루프백 인터페이스는 192.168.6.1/24의 원격 네트워크에 있는 호스트를 시뮬레이션합니다.
22. Available Networks(사용 가능한 네트워크) 섹션에서 원격 보호 네트워크와 VTI 서브넷(192.168.17.0/24)을 확인하고 Add(추가)를 클릭한 다음 OK(확인)를 클릭하여 변경 사항을 적용합니다.
참고: 터널 인터페이스로 소싱된 트래픽을 보호하려면 SVTI 서브넷을 추가해야 합니다.
23. 새 보호 네트워크 개체가 추가되었는지 확인하고 확인을 클릭합니다.
24. 허브 노드와 스포크 노드가 모두 새 토폴로지에 추가되었는지 확인합니다.
25. IKE 탭으로 이동하여 "KEv2 Settings(KEv2 설정)에서 원하는 알고리즘을 지정하고, 해당 특성으로 인증 유형을 선택합니다.
참고: 이 문서에서는 수동 사전 공유 키가 인증에 사용됩니다.
26. IPsec 탭으로 이동하여 IKEv2 IPsec Proposals settings(IKEv2 IPsec 제안 설정)에서 원하는 알고리즘을 지정하고 Enable Reverse Route Injection(역방향 경로 삽입 활성화) 옵션을 선택한 후 Endpoints(엔드포인트) 탭으로 돌아갑니다.
참고: 동적 라우팅 프로토콜이 사용되지 않는 경우 허브와 모든 스포크 간에 터널을 통해 OnPREM 및 원격 보호 네트워크를 광고하려면 Reverse Route Injection을 활성화해야 합니다.
27. 엑스트라넷 spoke-2를 하나 더 추가하고 [엔드포인트] 탭에서 + 아이콘을 클릭합니다.
28. 엔드포인트 추가 창의 장치 드롭다운 메뉴에서 엑스트라넷을 선택하고, spoke-2의 장치 이름 및 해당 피어 IP 주소를 지정하고, OK(확인)를 클릭합니다.
29. 27단계와 28단계를 반복하여 엑스트라넷에서 새 spoke-3을 추가합니다.
참고: 이 문서에서는 CSRv1000 디바이스를 spoke-3으로 사용합니다.
30. 토폴로지에 새 엑스트라네 스포크가 추가되었는지 확인하고 Save(저장)를 클릭합니다.
31. 두 Cisco Secure Firewall 장치 모두에 컨피그레이션을 구축합니다.
Cisco Secure Firewall Hub 컨피그레이션
crypto ikev2 policy 100
encryption aes-256 aes
integrity sha512 sha384 sha256 sha
group 21 20 19 14
prf sha512 sha384 sha256 sha
lifetime seconds 86400
crypto ikev2 enable inside-2820
crypto ipsec ikev2 ipsec-proposal CSM_IP_1
protocol esp encryption aes-256 aes
protocol esp integrity sha-512 sha-384 sha-256 sha-1
crypto ipsec profile FMC_IPSEC_PROFILE_2
set ikev2 ipsec-proposal CSM_IP_1
interface Virtual-Template1 type tunnel
nameif DVTI-HUB
ip unnumbered DVTI-LOOPBACK
tunnel source interface inside-2820
tunnel mode ipsec ipv4
tunnel protection ipsec profile FMC_IPSEC_PROFILE_2
tunnel-group 10.28.20.99 type ipsec-l2l
tunnel-group 10.28.20.99 general-attributes
default-group-policy .DefaultS2SGroupPolicy
tunnel-group 10.28.20.99 ipsec-attributes
virtual-template 1
ikev2 remote-authentication pre-shared-key *****
ikev2 local-authentication pre-shared-key *****
ikev2 route set interface
tunnel-group 10.28.20.100 type ipsec-l2l
tunnel-group 10.28.20.100 general-attributes
default-group-policy .DefaultS2SGroupPolicy
tunnel-group 10.28.20.100 ipsec-attributes
virtual-template 1
ikev2 remote-authentication pre-shared-key *****
ikev2 local-authentication pre-shared-key *****
ikev2 route set interface
tunnel-group 10.28.20.20 type ipsec-l2l
tunnel-group 10.28.20.20 general-attributes
default-group-policy .DefaultS2SGroupPolicy
tunnel-group 10.28.20.20 ipsec-attributes
virtual-template 1
ikev2 remote-authentication pre-shared-key *****
ikev2 local-authentication pre-shared-key *****
ikev2 route set interface
Cisco Secure Firewall Spoke-1 컨피그레이션
crypto ikev2 policy 10
encryption aes-256 aes
integrity sha512 sha384 sha256 sha
group 21 20 19 14
prf sha512 sha384 sha256 sha
lifetime seconds 86400
crypto ikev2 enable vlan2820
crypto ipsec ikev2 ipsec-proposal CSM_IP_2
protocol esp encryption aes-256 aes
protocol esp integrity sha-512 sha-384 sha-256 sha-1
crypto ipsec profile FMC_IPSEC_PROFILE_2
set ikev2 ipsec-proposal CSM_IP_2
set reverse-route
access-list CSM_IPSEC_ACL_2 extended permit ip 192.168.6.0 255.255.255.0 192.168.5.0 255.255.255.0
access-list CSM_IPSEC_ACL_2 extended permit ip 192.168.6.0 255.255.255.0 192.168.17.0 255.255.255.0
access-list CSM_IPSEC_ACL_2 extended permit ip 192.168.17.0 255.255.255.0 192.168.5.0 255.255.255.0
access-list CSM_IPSEC_ACL_2 extended permit ip 192.168.17.0 255.255.255.0 192.168.17.0 255.255.255.0
interface Tunnel1
nameif SVTI--SPOKE1
ip unnumbered SVTI-SPOKE1
tunnel source interface vlan2820
tunnel destination 10.28.20.101
tunnel mode ipsec ipv4
tunnel protection ipsec profile FMC_IPSEC_PROFILE_2
tunnel protection ipsec policy CSM_IPSEC_ACL_2
tunnel-group 10.28.20.101 type ipsec-l2l
tunnel-group 10.28.20.101 ipsec-attributes
ikev2 remote-authentication pre-shared-key *****
ikev2 local-authentication pre-shared-key *****
ikev2 route set interface
참고: Cisco ASAv spoke-2 컨피그레이션은 spoke-1의 컨피그레이션과 동일하기 때문에 생략되었습니다.
Cisco CSRv1000 spoke-3 컨피그레이션
crypto ikev2 proposal all
encryption aes-cbc-256 aes-cbc-128 aes-cbc-192
integrity sha256 sha1 sha384 sha512
group 20 14 15 21 24
crypto ikev2 policy test
match address local 10.28.20.20
proposal all
crypto ikev2 authorization policy default
route set interface Tunnel100
route set remote ipv4 192.168.8.0 255.255.255.255
crypto ikev2 profile vti
match identity remote any
identity local address 10.28.20.20
authentication remote pre-share key cisco123
authentication local pre-share key cisco123
no config-exchange request
aaa authorization group psk list default default
crypto ipsec transform-set aes256sha256 esp-aes 256 esp-sha256-hmac
mode tunnel
crypto ipsec profile vti
set security-association lifetime seconds 120
set transform-set aes256sha256
set ikev2-profile vti
reverse-route
interface Tunnel100
ip address 192.168.17.4 255.255.255.0
tunnel source GigabitEthernet1
tunnel mode ipsec ipv4
tunnel destination 10.28.20.101
tunnel protection ipsec policy ipv4 ipsec-policy
tunnel protection ipsec profile vti
ip access-list extended ipsec-policy
10 permit ip 192.168.8.0 0.0.0.255 192.168.5.0 0.0.0.255
20 permit ip 192.168.8.0 0.0.0.255 192.168.17.0 0.0.0.255
30 permit ip 192.168.17.0 0.0.0.255 192.168.5.0 0.0.0.255
40 permit ip 192.168.17.0 0.0.0.255 192.168.17.0 0.0.0.255
IKEv2 터널이 발생하는 즉시 허브 라우팅 테이블에서 가상 템플릿을 통해 수신된 모든 스포크의 경로를 확인할 수 있습니다.
firepower# show route
C 192.168.5.0 255.255.255.0 is directly connected, OnPrem-Network
L 192.168.5.1 255.255.255.255 is directly connected, OnPrem-Network
V 192.168.6.0 255.255.255.0
connected by VPN (advertised), DVTI-HUB_va146
V 192.168.7.0 255.255.255.0
connected by VPN (advertised), DVTI-HUB_va105
V 192.168.8.0 255.255.255.0
connected by VPN (advertised), DVTI-HUB_va155
V 192.168.17.0 255.255.255.0
connected by VPN (advertised), DVTI-HUB_va146
C 192.168.17.1 255.255.255.255 is directly connected, DVTI-LOOPBACK
V 192.168.17.2 255.255.255.255
connected by VPN (advertised), DVTI-HUB_va146
V 192.168.17.3 255.255.255.255
connected by VPN (advertised), DVTI-HUB_va105
V 192.168.17.4 255.255.255.255
connected by VPN (advertised), DVTI-HUB_va155
S 192.168.19.100 255.255.255.255 [1/0] via 10.28.20.20, inside-2820
허브는 이제 DVTI에서 제공된 모든 SVTI 스포크 인터페이스를 ping할 수 있습니다.
참고: "show crypto ipsec" sa 명령은 보호되는 네트워크를 통한 역방향 경로 주입이 적용될 때 생성된 다중 IPSec SA를 표시합니다.
firepower# ping 192.168.17.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.17.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/10 ms
firepower# ping 192.168.17.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.17.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
firepower# ping 192.168.17.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.17.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
firepower# show crypto ipsec sa | i cap|iden
local ident (addr/mask/prot/port): (192.168.17.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.17.0/255.255.255.0/0/0)
#pkts encaps: 15, #pkts encrypt: 15, #pkts digest: 15
#pkts decaps: 15, #pkts decrypt: 15, #pkts verify: 15
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
current outbound spi: 5A68524C
current inbound spi : DDF6D48F
spi: 0xDDF6D48F (3723941007)
spi: 0x5A68524C (1516786252)
Hub는 이제 OnPREM 호스트에서 제공된 모든 스포크 뒤에서 REMOTE-LAN 네트워크를 ping할 수 있습니다.
참고: "show crypto ipsec" sa 명령은 보호되는 네트워크를 통한 역방향 경로 주입이 적용될 때 생성된 다중 IPSec SA를 표시합니다.
firepower# ping OnPrem-Network 192.168.6.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.6.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/10 ms
firepower# ping OnPrem-Network 192.168.7.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.7.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
firepower# ping OnPrem-Network 192.168.8.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.8.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
firepower# show crypto ipsec sa | i cap|iden
local ident (addr/mask/prot/port): (192.168.5.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.6.0/255.255.255.0/0/0)
#pkts encaps: 5, #pkts encrypt: 5, #pkts digest: 5
#pkts decaps: 5, #pkts decrypt: 5, #pkts verify: 5
local ident (addr/mask/prot/port): (192.168.5.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.7.0/255.255.255.0/0/0)
#pkts encaps: 5, #pkts encrypt: 5, #pkts digest: 5
#pkts decaps: 5, #pkts decrypt: 5, #pkts verify: 5
local ident (addr/mask/prot/port): (192.168.5.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.8.0/255.255.255.0/0/0)
#pkts encaps: 5, #pkts encrypt: 5, #pkts digest: 5
#pkts decaps: 5, #pkts decrypt: 5, #pkts verify: 5
IKEv2 및 IPSEC 프로세스의 문제를 해결하려면 아래 debug 명령을 사용하십시오.
ASA/Cisco Secure Firewall
debug crypto ikev2 protocol 255
debug crypto ikev2 platform 255
debug crypto ipsec
CSR
debug crypto ikev2
debug crypto ipsec
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
03-Apr-2023 |
최초 릴리스 |