簡介
本檔案介紹如何在具有多個遠端外網裝置(分支)的思科安全防火牆(集線器)上設定DVTI。
背景
動態虛擬通道介面
動態虛擬通道介面(DVTI)可以為遠端訪問虛擬專用網路(VPN)提供高度安全且可擴展的連線。
DVTI可用於集中星型配置。這些通道為每個VPN會話提供按需獨立的虛擬接入介面。
1.分支發起與中心的VPN連線的IKE交換請求。
2.中心對分支進行身份驗證。
3.思科安全防火牆管理中心在集線器上分配動態虛擬模板。
4.虛擬模板在集線器上動態生成虛擬訪問介面。對於每個分支的VPN會話,此介面是唯一的。
5.中心通過虛擬接入介面與分支建立動態VTI隧道。
6.中心和分支通過隧道使用動態路由協定(BGP/OSPF/EIGRP)或受保護的網路功能(多安全關聯VTI)交換流量。
7.動態VTI的功能與任何其他介面類似,因此,只要隧道處於活動狀態,您就可以應用QoS、防火牆規則、路由協定和其他功能。
8.在HUB裝置和多個遠端/分支站點的多個靜態隧道介面上建立一個DVTI。
實施多個安全關聯VTI功能以支援基於路由的VPN和基於策略的VPN系統之間的相容性,
必要條件
- 至少有兩台思科安全防火牆裝置已在思科安全防火牆管理中心註冊,具有基本的路由配置,可分別作為一個集線器和一個輻條–1在每個裝置上使用一個環回介面,以模擬192.168.5.0/24(集線器)本地網路和192.168.6.0/24(輻條–1)遠端本地網路。
- 部署一個ASA並配置基本路由配置和IKEv2支援,使其作為spoke-2運行,並預配置一個環回介面來模擬遠端本地網路192.168.7.0/24。
- 配置一台具有基本路由配置和IKEV2支援的Cisco IOS/Cisco IOSXE路由器,使其作為spoke-3運行,並預配置一個環回介面來模擬遠端本地網路192.168.8.0/24。
需求
- 有關VPN技術和IKEv2協定的知識。
- 思科安全防火牆管理中心GUI(FMC)導航和思科安全防火牆裝置配置知識。
- 有關Cisco IOS-XE裝置的基本配置知識。
- 基本IPV4路由概念。
注意:本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
採用元件
本檔案中的資訊是根據以下軟體版本:
- 思科安全防火牆管理中心(FMC)7.3或更高版本。
- 思科安全防火牆7.3或更高版本。
- ASAv 9.20或更高版本
- Cisco CSR
注意:本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
網路圖表
注意:使用每台裝置上以前配置的環回介面來模擬所有本地和遠端子網。
組態
1.使用管理員憑據登入FMC GUI。
2.從FMC控制面板檢視中,轉至Devices,然後按一下VPN選項下的Site To Site。
3.在Site to Site控制面板中,按一下+ Site to Site VPN,建立新的Site to Site拓撲。
4.從Create New VPN Topology選單,指定新名稱並選擇Route Based(VTI)作為新拓撲的VPN型別,從IKE Version選項中檢查IKEv2協定,在Network Topology settings下選擇Hub andSpoke,然後從Hub Nodes部分按一下+圖示以指定新的Hub裝置。
5.在「新增終端」視窗中,選擇用作集線器的裝置,然後按一下Dynamic Virtual Tunnel Interface下拉選單旁邊的+圖示以建立新的DVTI。
6.從Add Virtual Tunnel Interface選單中,指定新隧道介面的名稱,將其分配給所需的Security Zone,選擇具有其IP的隧道源,然後按一下IP Address配置下的+圖示,以便在BorderIP選項旁建立新的環回介面。
Cisco建議為來自環回介面的動態介面配置借用IP。
注意:隧道源介面需要可路由並能夠到達遠端分支對等IP
7.在Add Loopback Interface視窗中,使用介面的ID指定介面名稱,然後轉至IPv4頁籤。
8.從IPv4頁籤的下拉選單的IP Type選項下選擇Use Static IP,然後指定屬於DVTI的IP地址,然後按一下OK。
註:集線器DVTI的IP地址為192.168.17.1/32。
9.在Add Virtual Tunnel Interface選單中,新日誌包顯示在下拉選單下,選擇該日誌包並按一下確定。
10.系統會提示一個Virtual Tunnel Interface Added視窗,指出已建立新的DVTI,請按一下Ok並繼續。
11.在「新增終點」視窗中,新DVTI顯示在Dynamic Virtual Tunnel Interface下拉欄下,選擇它,選中Send Virtual Tunnel Interface IP to peers框選項以及Allow incoming IKEv2 routes from the peers選項,然後按一下Protected Networks設定旁邊的+,指定中心裝置後面的網路。
注意:在本示例中,集線器上的第二個環回介面將本地OnPREM子網中的主機模擬為IP地址為192.168.5.1/24的受保護網路的一部分。
12.在Available Networks部分,確定模擬本地受保護網路和DVTI子網(192.168.17.0/24)的子網,然後按一下Add,然後按一下OK應用更改。
注意:在本文中,已使用192.168.17.0/24網路將網絡對象預配置為OnPREM。需要新增DVTI子網以保護源自隧道介面的流量。
13.確認已新增新的受保護網路對象,然後按一下確定。
14.確認新的中心裝置已新增到中心節點部分下,然後按一下分支節點部分旁邊的+,將新的端點新增為遠端分支–1。
15.在「新增終端」視窗中,選擇作為spoke-1運行的裝置,然後按一下Static Virtual Tunnel Interface下拉選單旁邊的+圖示以建立新的SVTI。
16.從Add Virtual Tunnel Interface選單中,指定新隧道介面的名稱,將其分配給所需的Security Zone,選擇具有其IP的隧道源,然後按一下IP Address配置下的「+」圖示,以便在BorderIP選項旁建立新的環回介面。
17.在Add Loopback Interface視窗中,使用介面的ID指定介面名稱,然後轉至IPv4頁籤。
18.在IPv4索引標籤中,從下拉選單的IP型別選項下選擇Use Static IP,然後指定屬於SVTI的IP地址,然後按一下OK。
注意:Spoke-1 SVTI的IP地址為192.168.17.2/32。
19.在Add Virtual Tunnel Interface選單中,新的日誌包顯示在下拉選單下,選擇它並按一下OK。
20.系統會提示一個Virtual Tunnel Interface Added視窗,指出已建立新的DVTI,請按一下Ok並繼續。
21.在「新增終點」視窗中,新SVTI顯示在StaticVirtual Tunnel Interface下拉欄下,選擇它,選中Send Virtual Tunnel Interface IP to peers選項以及Allow incoming IKEv2 routes from the peers選項,然後按一下ProtectedNetworks設定旁邊的「+」,指定分支裝置後面的網路。
注意:在本示例中,分支–1上的第二個環回介面模擬遠端網路192.168.6.1/24中的主機。
22.在Available Networks部分,識別遠端受保護網路以及VTI子網(192.168.17.0/24),然後點選Add,然後點選OK以應用更改。
註:需要新增SVTI子網以保護源自隧道介面的流量。
23.確認已新增新的受保護網路對象,然後按一下確定。
24.確認已將中心節點和分支節點新增到新拓撲中。
25.轉到IKE頁籤,然後在「KEv2 設定」下指定所需的演算法,選擇Authentication Type及其屬性。
26.轉到IPsec頁籤,在IKEv2 IPsec提議設定下指定所需的演算法,並選中Enable Reverse Route Injection選項,然後返回Endpoints頁籤。
注意:不使用動態路由協定時,需要啟用反向路由注入,以便在集線器和所有分支之間的隧道中通告OnPREM和遠端受保護網路。
27.再新增一個外網spoke-2,按一下Endpoints頁籤中的+圖示。
28.從Add Endpoint視窗從Device下的下拉選單中選擇Extranet,指定spoke-2中的裝置名稱及其對等IP地址,然後按一下OK。
29.重複步驟27和28,在外聯網中新增新的spoke-3。
註:在本文章中,CSRv1000裝置用作分支–3。
30.確認已在拓撲中新增新的外部輻條,然後按一下Save。
31.在兩個思科安全防火牆裝置上部署配置。
最終配置
思科安全防火牆中心配置
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
思科安全防火牆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配置已淘汰,因為它與分支–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
驗證
在Hub路由表中,一旦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
中心現在能夠ping通所有源自DVTI的SVTI分支介面。
注意: 「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現在能夠ping通OnPREM主機所有分支後面的遠端LAN網路。
注意: 「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進程進行故障排除,請使用以下調試命令:
ASA/Cisco Secure Firewall
debug crypto ikev2 protocol 255
debug crypto ikev2 platform 255
debug crypto ipsec
CSR
debug crypto ikev2
debug crypto ipsec