簡介
本檔案介紹如何在使用Cisco IOS® XE軟體的Cisco路由器上設定多重安全關聯(多SA)虛擬通道介面(VTI)。還描述了遷移過程。多SA VTI是密碼編譯對應的(原則型)VPN配置的替代方案。它與基於加密對映的實現和其它基於策略的實現向後相容。Cisco IOS XE版本16.12及更高版本提供對此功能的支援。
必要條件
需求
Cisco建議您瞭解Cisco IOS XE路由器上的IPsec VPN配置。
採用元件
本檔案中的資訊是根據整合式服務路由器(ISR)4351,其採用Cisco IOS XE版本16.12.01a 。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
VTI優於密碼編譯對應
加密對映是物理介面的輸出功能。到不同對等體的隧道是在同一個加密對映下配置的。加密對映訪問控制清單(ACL)條目用於匹配要傳送到特定VPN對等體的流量。這種型別的配置也稱為基於策略的VPN。
對於VTI,每個VPN隧道都由一個單獨的邏輯隧道介面表示。路由表決定流量傳送到哪個VPN對等裝置。這種型別的配置也稱為基於路由的VPN。
在低於Cisco IOS XE版本16.12的版本中,VTI配置與加密對映配置不相容。隧道的兩端必須配置相同型別的VPN才能實現互操作。
在Cisco IOS XE版本16.12中,新增了新配置選項,允許隧道介面在協定級別上充當基於策略的VPN,但具有隧道介面的所有屬性。
Cisco宣佈Cisco IOS XE 17.6版中的Cisco IPsec靜態加密對映和動態加密對映功能的壽命終止日期。
VTI相對於加密對映的優勢包括:
- 更容易確定通道的開啟/關閉狀態。
- 故障排除更容易。
- 它能夠根據隧道應用服務品質(QoS)、基於區域的防火牆(ZBF)、網路地址轉換(NAT)和Netflow等功能。
- 它為所有型別的VPN隧道提供了簡化的配置。
設定
網路圖表
路由注意事項
管理員必須確保遠端網路的路由指向隧道介面。其 reverse-route
ipsec配置檔案下的選項可用於為加密ACL中指定的網路自動建立靜態路由。此類路由也可以手動新增。如果之前配置了更具體的路由,則指向物理介面而不是隧道介面,必須刪除這些路由。
組態範例
基於加密對映的IKEv1隧道到多SA sVTI的遷移
兩台路由器都預配置了基於網際網路金鑰交換版本1(IKEv1)加密對映的解決方案:
路由器A
crypto isakmp policy 10
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp key cisco123 address 192.0.2.2
!
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.0.2.2
set transform-set TSET
match address CACL
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.1 255.255.255.0
crypto map CMAP
路由器B
crypto isakmp policy 10
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp key cisco123 address 192.0.2.1
!
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.0.2.1
set transform-set TSET
match address CACL
!
ip access-list extended CACL
permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.2 255.255.255.0
crypto map CMAP
若要將路由器A遷移到多SA VTI配置,請完成以下步驟。路由器B可以保留舊的配置,也可以類似地重新配置:
- 從介面移除密碼編譯對應:
interface GigabitEthernet0/0/0
no crypto map
- 建立IPsec配置檔案。也可將Reverse-route配置為將遠端網路的靜態路由自動新增到路由表中:
crypto ipsec profile PROF
set transform-set TSET
reverse-route
- 配置隧道介面。加密ACL作為IPsec策略附加到隧道配置。通道介面上設定的IP位址不相關,但必須設定一些值。IP地址可以從物理介面借用
ip unnumbered
指令: interface Tunnel0
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
- 之後可以完全移除密碼編譯對應專案:
no crypto map CMAP 10
路由器A的最終配置
crypto isakmp policy 10
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp key cisco123 address 192.0.2.2
!
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto ipsec profile PROF
set transform-set TSET
reverse-route
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.1 255.255.255.0
!
interface Tunnel0
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
基於加密對映的IKEv2隧道到多SA sVTI的遷移
兩台路由器都預配置了基於網際網路金鑰交換版本2(IKEv2)加密對映的解決方案:
路由器A
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto ikev2 profile PROF
match identity remote address 192.0.2.2 255.255.255.255
authentication remote pre-share key cisco123
authentication local pre-share key cisco123
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.0.2.2
set transform-set TSET
set ikev2-profile PROF
match address CACL
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.1 255.255.255.0
crypto map CMAP
路由器B
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto ikev2 profile PROF
match identity remote address 192.0.2.1 255.255.255.255
authentication remote pre-share key cisco123
authentication local pre-share key cisco123
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.0.2.1
set transform-set TSET
set ikev2-profile PROF
match address CACL
!
ip access-list extended CACL
permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.2 255.255.255.0
crypto map CMAP
若要將路由器A遷移到多SA VTI配置,請完成以下步驟。路由器B可以保留舊的配置,也可以類似地重新配置。
- 從介面移除密碼編譯對應:
interface GigabitEthernet0/0/0
no crypto map
- 建立IPsec配置檔案。其
reverse-route
命令可以配置為將遠端網路的靜態路由自動新增到路由表中: crypto ipsec profile PROF
set transform-set TSET
set ikev2-profile PROF
reverse-route
- 配置隧道介面。加密ACL作為IPsec策略附加到隧道配置。通道介面上設定的IP位址不相關,但必須設定一些值。IP地址可以從物理介面借用
ip unnumbered
指令: interface Tunnel0
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
- 之後完全移除密碼編譯對應:
no crypto map CMAP 10
路由器A的最終配置
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto ikev2 profile PROF
match identity remote address 192.0.2.2 255.255.255.255
authentication remote pre-share key cisco123
authentication local pre-share key cisco123
!
crypto ipsec profile PROF
set transform-set TSET
set ikev2-profile PROF
reverse-route
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
interface GigabitEthernet0/0/0
ip address 192.0.2.1 255.255.255.0
!
interface Tunnel0
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
將VRF感知加密對映遷移到多SA VTI
此示例說明如何遷移VRF感知加密對映配置。
拓撲
加密對映配置
ip vrf fvrf
ip vrf ivrf
!
crypto keyring KEY vrf fvrf
pre-shared-key address 192.0.2.2 key cisco123
!
crypto isakmp policy 10
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp profile PROF
vrf ivrf
keyring KEY
match identity address 192.0.2.2 255.255.255.255 fvrf
!
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.0.2.2
set transform-set TSET
set isakmp-profile PROF
match address CACL
!
interface GigabitEthernet0/0/0
ip vrf forwarding fvrf
ip address 192.0.2.1 255.255.255.0
crypto map CMAP
!
interface GigabitEthernet0/0/1
ip vrf forwarding ivrf
ip address 192.168.1.1 255.255.255.0
!
ip route vrf ivrf 172.16.2.0 255.255.255.0 GigabitEthernet0/0/0 192.0.2.2
ip route vrf ivrf 192.168.2.0 255.255.255.0 GigabitEthernet0/0/0 192.0.2.2
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
以下是遷移至多SA VTI所需的步驟:
! vrf configuration under isakmp profile is only for crypto map based configuration
!
crypto isakmp profile PROF
no vrf ivrf
!
interface GigabitEthernet0/0/0
no crypto map
!
no crypto map CMAP 10
!
no ip route vrf ivrf 172.16.2.0 255.255.255.0 GigabitEthernet0/0/0 192.0.2.2
no ip route vrf ivrf 192.168.2.0 255.255.255.0 GigabitEthernet0/0/0 192.0.2.2
!
crypto ipsec profile PROF
set transform-set TSET
set isakmp-profile PROF
reverse-route
!
interface tunnel0
ip vrf forwarding ivrf
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel vrf fvrf
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
最終的VRF感知配置
ip vrf fvrf
ip vrf ivrf
!
crypto keyring KEY vrf fvrf
pre-shared-key address 192.0.2.2 key cisco123
!
crypto isakmp policy 10
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp profile PROF
keyring KEY
match identity address 192.0.2.2 255.255.255.255 fvrf
!
crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac
!
interface GigabitEthernet0/0/0
ip vrf forwarding fvrf
ip address 192.0.2.1 255.255.255.0
!
interface GigabitEthernet0/0/1
ip vrf forwarding ivrf
ip address 192.168.1.1 255.255.255.0
!
ip access-list extended CACL
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
!
crypto ipsec profile PROF
set transform-set TSET
set isakmp-profile PROF
reverse-route
!
interface tunnel0
ip vrf forwarding ivrf
ip unnumbered GigabitEthernet0/0/0
tunnel source GigabitEthernet0/0/0
tunnel mode ipsec ipv4
tunnel destination 192.0.2.2
tunnel vrf fvrf
tunnel protection ipsec policy ipv4 CACL
tunnel protection ipsec profile PROF
驗證
使用本節內容,確認您的組態是否正常運作。
Cisco CLI Analyzer(僅供已註冊客戶使用)支援 show
指令。使用Cisco CLI Analyzer檢視 show
命令輸出。
若要確認通道是否已成功交涉,可以檢查通道介面狀態。最後兩列 — Status
和 Protocol
— 顯示狀態 up
當通道運作時:
RouterA#show ip interface brief | include Interface|Tunnel0
Interface IP-Address OK? Method Status Protocol
Tunnel0 192.0.2.1 YES TFTP up up
有關當前加密會話狀態的更多詳細資訊,請參見 show crypto session
輸出。其 Session status
的 UP-ACTIVE
表示已正確協商IKE會話:
RouterA#show crypto session interface tunnel0
Crypto session current status
Interface: Tunnel0
Profile: PROF
Session status: UP-ACTIVE
Peer: 192.0.2.2 port 500
Session ID: 2
IKEv2 SA: local 192.0.2.1/500 remote 192.0.2.2/500 Active
IPSEC FLOW: permit ip 172.16.1.0/255.255.255.0 172.16.2.0/255.255.255.0
Active SAs: 2, origin: crypto map
IPSEC FLOW: permit ip 192.168.1.0/255.255.255.0 192.168.2.0/255.255.255.0
Active SAs: 2, origin: crypto map
驗證通往遠端網路的路由是否通過正確的隧道介面指向:
RouterA#show ip route 192.168.2.0
Routing entry for 192.168.2.0/24
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via Tunnel0
Route metric is 0, traffic share count is 1
RouterA#show ip cef 192.168.2.100
192.168.2.0/24
attached to Tunnel0
疑難排解
本節提供的資訊可用於對組態進行疑難排解。
要排除IKE協定協商故障,請使用以下調試:
附註:使用之前,請先參閱有關Debug命令的重要資訊 debug
指令。
! For IKEv1-based scenarios:
debug crypto isakmp
debug crypto ipsec
! For IKEv2-based scenarios:
debug crypto ikev2
debug crypto ipsec
常見問題
通道是自動啟動還是需要流量啟動通道?
與加密對映不同,無論與加密ACL匹配的資料流量是否流經路由器,多SA VTI隧道都會自動啟動。即使沒有有趣的流量,隧道也會一直保持運行。
如果流量通過VTI路由,但流量的源或目標與此通道配置為IPsec策略的加密ACL不匹配,會發生什麼情況?
不支援此類情況。只有要加密的流量才能路由到通道介面。原則型路由(PBR)只能將特定流量路由到VTI。PBR可以使用IPsec策略ACL來匹配要路由到VTI的流量。
根據配置的IPsec策略檢查每個資料包,並且必須與加密ACL匹配。如果不相符,則不會加密並以明文形式從隧道源介面傳送出去。
如果使用相同的內部VRF(iVRF)和前部VRF(fVRF)(iVRF = fVRF),則會導致路由回圈,且丟棄資料包是有原因的 Ipv4RoutingErr
.此類丟棄的統計資訊可使用 show platform hardware qfp active statistics drop
指令:
RouterA#show platform hardware qfp active statistics drop
Last clearing of QFP drops statistics : never
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
Ipv4RoutingErr 5 500
如果iVRF與fVRF不同,則在iVRF中進入隧道的資料包與IPsec策略不匹配,以明文退出fVRF中的隧道源介面。它們不會被丟棄,因為VRF之間沒有路由環路。
多SA VTI是否支援VRF、NAT、QoS等功能?
是的,所有這些功能都以與常規VTI隧道相同的方式受支援。