本文檔介紹使用BGP和ECMP在Cisco Secure Access和Cisco IOS XE之間配置IPSec VPN隧道並對其進行故障排除所需的步驟。
在本實驗示例中,此場景顯示,網路192.168.150.0/24的LAN網段位於Cisco IOS XE裝置之後,而192.168.200.0/24的IP池由RAVPN使用,使用者連線到安全訪問頭端。
最終目標是在Cisco IOS XE裝置和安全訪問頭端之間的VPN隧道上使用ECMP。要更好地瞭解拓撲,請參閱圖:

附註:這是一個封包流範例,您可以對任何其他流量套用相同原則,並使用Cisco IOS XE路由器後192.168.150.0/24子網路的安全網際網路存取。
建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
安全存取中的網路通道具有每單一通道1 Gbps的頻寬限制。如果您的上游/下游Internet頻寬高於1 Gbps並且您想要充分利用它,則必須使用同一安全訪問資料中心配置多個隧道,方法是將這些隧道分組到單個ECMP組中。
當您用單個網路隧道組(在單個安全接入DC內)終止多個隧道時,預設情況下,從安全接入頭端角度來看,這些隧道會形成ECMP組。一旦安全訪問頭端向本地VPN裝置傳送流量,它就會在隧道之間實現負載均衡(假設從BGP對等點接收到正確的路由)。
要在本地VPN裝置上實現相同的功能,您必須在單個路由器上配置多個VTI介面,並確保應用正確的路由配置。本文涵蓋這些場景,並解釋每個步驟。
安全訪問端必須應用一些特殊配置,才能使用BGP協定從多個VPN隧道中形成ECMP組。
配置網路隧道組:



本節介紹必須在Cisco IOS XE路由器上應用的CLI配置。正確配置跨虛擬隧道介面的IKEv2隧道、BGP鄰居關係和ECMP負載平衡。
每個部分都有說明,並且還提到了最常見的警告。
配置IKEv2策略和IKEv2建議,這些引數定義用於IKE SA的演算法(階段1):
crypto ikev2 proposal sse-proposal
encryption aes-gcm-256
prf sha256
group 19 20
crypto ikev2 policy sse-pol
proposal sse-proposal
附註:請參閱支援的IPsec引數SSE指南中以粗體標示的建議和最佳引數。
定義解釋頭端IP地址和用於向SSE頭端進行身份驗證的預共用金鑰的IKEv2金鑰環:
crypto ikev2 keyring sse-keyring
peer sse
address 35.179.86.116
pre-shared-key local <boring_generated_password>
pre-shared-key remote <boring_generated_password>
定義要使用的IKE標識的型別、與遠端對等體匹配的型別,以及本地路由器正在向對等體傳送的IKE標識型別。SSE頭端的IKE標識為IP地址型別,並且等於SSE頭端的公共IP。
警告:要在SSE端使用相同的網路隧道組建立多個隧道,它們都必須使用相同的本地IKE標識。Cisco IOS XE不支援此類方案,因為它要求每個隧道具有唯一的本地和遠端IKE標識對。為了克服這一限制,增強了SSE頭端,以接受以下格式的IKE ID:<tunneld_id>+<suffix>@<org><hub>.sse.cisco.com
如實驗場景所述,隧道ID定義為:cat8k-dmz。在正常情況下,您會將路由器配置為將本地IKE標識傳送為cat8k-dmz@8195165-622405748-sse.cisco.com。
但是,要使用相同的網路隧道組建立多個隧道,應使用本地IKE ID:cat8k-dmz+tunnel1@8195165-622405748-sse.cisco.com和cat8k-dmz+tunnel2@8195165-622405748-sse.cisco.com。
新增到每個字串的字尾:(tunnel1和tunnel2)
附註:如前所述。本地IKE標識是本實驗場景中使用的示例。您可以定義任何您喜歡的字尾,只需確保滿足要求即可。
crypto ikev2 profile sse-ikev2-profile-tunnel1
match identity remote address 35.179.86.116 255.255.255.255
identity local email cat8k-dmz+tunnel1@8195165-622405748-sse.cisco.com
authentication remote pre-share
authentication local pre-share
keyring local sse-keyring
dpd 10 2 periodic
crypto ikev2 profile sse-ikev2-profile-tunnel2
match identity remote address 35.179.86.116 255.255.255.255
identity local email cat8k-dmz+tunnel2@8195165-622405748-sse.cisco.com
authentication remote pre-share
authentication local pre-share
keyring local sse-keyring
dpd 10 2 periodic
配置IPSec轉換集。此設定定義用於IPsec安全關聯(第2階段)的演算法:
crypto ipsec transform-set sse-transform esp-gcm 256
mode tunnel
配置使用轉換集連結IKEv2配置檔案的IPSec配置檔案:
crypto ipsec profile sse-ipsec-profile-1
set transform-set sse-transform
set ikev2-profile sse-ikev2-profile-tunnel1
crypto ipsec profile sse-ipsec-profile-2
set transform-set sse-transform
set ikev2-profile sse-ikev2-profile-tunnel2
本節介紹用作通道來源的虛擬通道介面和環回介面的配置。在前面討論的實驗場景中,您必須使用相同的公共IP地址與單個對等體建立兩個VTI介面。此外,Cisco IOS XE裝置只有一個輸出介面GigabitEthernet1。Cisco IOS XE不支援使用相同的隧道源和隧道目標配置多個VTI。
為克服此限制,您可以使用環回介面並將它們定義為各個VTI中的隧道源。
在環回和SSE公有IP地址之間實現IP連線有幾種選擇:
在此場景中,接下來的討論詳細說明了第二個選項。
配置兩個環回介面,並在每個介面下新增「ip nat inside」命令。
interface Loopback1
ip address 10.1.1.38 255.255.255.255
ip nat inside
end
interface Loopback2
ip address 10.1.1.70 255.255.255.255
ip nat inside
end
定義動態NAT訪問控制清單和NAT過載語句:
ip access-list extended NAT
10 permit ip 10.1.1.0 0.0.0.255 any
ip nat inside source list NAT interface GigabitEthernet1 overload
設定虛擬通道介面:
interface Tunnel1
ip address 169.254.0.10 255.255.255.252
tunnel source Loopback1
tunnel mode ipsec ipv4
tunnel destination 35.179.86.116
tunnel protection ipsec profile sse-ipsec-profile-1
end
!
interface Tunnel2
ip address 169.254.0.14 255.255.255.252
tunnel source Loopback2
tunnel mode ipsec ipv4
tunnel destination 35.179.86.116
tunnel protection ipsec profile sse-ipsec-profile-2
end
附註:如實驗場景所述,分配給VTI的IP地址來自不重疊的子網169.254.0.0/24。您可以使用其他子網空間,但是某些要求與BGP相關,BGP需要地址空間。
本節介紹建立與SSE頭端的BGP鄰居關係所需的配置步驟。SSE前端上的BGP進程偵聽來自子網169.254.0.0/24. 的任何IP要建立兩個VTI上的BGP對等,需要定義兩個鄰居「 169.254.0.9(Tunnel1)和169.254.0.13(Tunnel2)。 此外,您必須指定SSE控制面板中看到的Remote AS值。
自2025年11月起,所有新建立的安全訪問組織必須預設使用公共ASN 32644,以便網路隧道組中的BGP對等。在2025年11月之前建立的現有組織可以繼續使用Private ASN 64512,此前為Secure Access BGP對等體保留的Private ASN 64512。
router bgp 65000
bgp log-neighbor-changes
neighbor 169.254.0.9 remote-as 32644
neighbor 169.254.0.9 ebgp-multihop 255
neighbor 169.254.0.13 remote-as 32644
neighbor 169.254.0.13 ebgp-multihop 255
!
address-family ipv4
network 192.168.150.0
neighbor 169.254.0.9 activate
neighbor 169.254.0.13 activate
maximum-paths 2
附註:從兩個對等體接收的路由必須完全相同。預設情況下,路由器只在路由表中安裝一個。要允許路由表中安裝多個重複的路由(並啟用ECMP),必須配置「maximum-paths <number of routes>」。
您必須在SSE控制面板中看到兩個主隧道:

從Cisco IOS XE端驗證兩個隧道是否均處於就緒狀態:
wbrzyszc-cat8k#show crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.1.1.70/4500 35.179.86.116/4500 none/none READY
Encr: AES-GCM, keysize: 256, PRF: SHA256, Hash: None, DH Grp:20, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/255 sec
CE id: 0, Session-id: 6097
Local spi: A15E8ACF919656C5 Remote spi: 644CFD102AAF270A
Tunnel-id Local Remote fvrf/ivrf Status
6 10.1.1.38/4500 35.179.86.116/4500 none/none READY
Encr: AES-GCM, keysize: 256, PRF: SHA256, Hash: None, DH Grp:20, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/11203 sec
CE id: 0, Session-id: 6096
Local spi: E18CBEE82674E780 Remote spi: 39239A7D09D5B972
與兩個對等點驗證BGP鄰居關係是否為UP:
wbrzyszc-cat8k#show ip bgp summary
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
169.254.0.9 4 32644 17281 18846 160 0 0 5d23h 15
169.254.0.13 4 32644 17281 18845 160 0 0 5d23h 15
驗證路由器是否從BGP獲取了正確的路由(並且路由表中至少安裝了兩個下一跳):
wbrzyszc-cat8k#show ip route 192.168.200.0
Routing entry for 192.168.200.0/25, 2 known subnets
B 192.168.200.0 [20/0] via 169.254.0.13, 5d23h
[20/0] via 169.254.0.9, 5d23h
B 192.168.200.128 [20/0] via 169.254.0.13, 5d23h
[20/0] via 169.254.0.9, 5d23h
wbrzyszc-cat8k#show ip cef 192.168.200.0
192.168.200.0/25
nexthop 169.254.0.9 Tunnel1
nexthop 169.254.0.13 Tunnel2
啟動流量並驗證兩個通道是否已使用,且您會看到這兩個通道的封裝和解除封裝計數器正在增加:
wbrzyszc-cat8k#show crypto ipsec sa | i peer|caps
current_peer 35.179.86.116 port 4500
#pkts encaps: 1881087, #pkts encrypt: 1881087, #pkts digest: 1881087
#pkts decaps: 1434171, #pkts decrypt: 1434171, #pkts verify: 1434171
current_peer 35.179.86.116 port 4500
#pkts encaps: 53602, #pkts encrypt: 53602, #pkts digest: 53602
#pkts decaps: 208986, #pkts decrypt: 208986, #pkts verify: 208986
或者,您可以收集兩個VTI介面上的資料包捕獲,以確保流量在VTI之間實現負載均衡。請參閱在軟體上配置和捕獲嵌入式資料包指南,在Cisco IOS XE裝置上配置嵌入式資料包捕獲。在示例中,源IP為192.168.150.1的CIsco IOS XE路由器背後的主機正在從192.168.200.0/24子網向多個IP傳送ICMP請求。您可以看到,ICMP請求在通道之間均衡負載。
wbrzyszc-cat8k#show monitor capture Tunnel1 buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 114 0.000000 192.168.150.1 -> 192.168.200.2 0 BE ICMP
1 114 0.000000 192.168.150.1 -> 192.168.200.2 0 BE ICMP
10 114 26.564033 192.168.150.1 -> 192.168.200.5 0 BE ICMP
11 114 26.564033 192.168.150.1 -> 192.168.200.5 0 BE ICMP
wbrzyszc-cat8k#show monitor capture Tunnel2 buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 114 0.000000 192.168.150.1 -> 192.168.200.1 0 BE ICMP
1 114 2.000000 192.168.150.1 -> 192.168.200.1 0 BE ICMP
10 114 38.191000 192.168.150.1 -> 192.168.200.3 0 BE ICMP
11 114 38.191000 192.168.150.1 -> 192.168.200.3 0 BE ICMP
附註:Cisco IOS XE路由器上有多個ECMP負載平衡機制。預設情況下,啟用按目標負載均衡,這可以確保發往同一目標IP的流量始終採用相同的路徑。您可以配置每資料包負載均衡,這樣即使對同一目標IP也會隨機對流量進行負載均衡。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
3.0 |
10-Jul-2026
|
已更新標題、簡介、拼寫、語法、句子結構、間距、替代文字和CCW警報。 |
1.0 |
21-Oct-2024
|
初始版本 |