簡介
本文件說明可能會影響通用路由封裝 (GRE) 通道介面狀態的不同條件。
背景資訊
GRE隧道設計為完全無狀態。這意味著每個隧道端點不保留有關遠端隧道端點的狀態或可用性的任何資訊。
因此,預設情況下,如果隧道的遠端無法訪問,本地隧道終點路由器無法使GRE隧道介面的線路協定關閉。
將介面標籤為「down」(關閉)的功能(在這種情況下)用於刪除路由表中使用該介面作為出站介面的任何靜態路由。
具體來說,如果介面的線路協定更改為「down」,表示該介面的所有靜態路由都將從路由表中刪除。
這允許安裝備用(浮動)靜態路由或策略型路由(PBR),以便選擇備用下一跳或介面。
此外,當介面更改狀態時,還有其他應用程式會觸發;例如,「backup interface <b-interface>」。
四種不同的隧道狀態
GRE通道介面存在四種可能的狀態:
- 啟動/啟動-這表示通道功能完全正常並傳遞流量。它處於管理性啟用狀態,並且其協定也處於啟用狀態。
- Administratively down/down -這意味著該介面已透過管理方式關閉。
- Up/down -這意味著,即使隧道處於管理性啟動狀態,某些情況也會導致介面上的線路協定關閉。
- 重置/關閉-當軟體重置隧道時,這通常是臨時狀態。當使用本身是IP位址的下一躍點伺服器(NHS)錯誤設定通道時,通常會發生這種情況。
當首次建立隧道介面並且沒有對其應用其他配置時,預設情況下不會關閉該介面:
Router#show run interface tunnel 1
Building configuration...
Current configuration : 40 bytes
!
interface Tunnel1
no ip address
end
在此狀態下,介面始終為up/down:
Router(config-if)#do show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 172.16.52.1 YES NVRAM administratively down down
GigabitEthernet0/1 10.36.128.49 YES NVRAM down down
GigabitEthernet0/2 unassigned YES NVRAM down down
GigabitEthernet0/3 unassigned YES NVRAM down down
Loopback1 192.168.2.1 YES NVRAM up up
Tunnel1 unassigned YES unset up down
這是因為介面已透過管理方式啟用,但由於它沒有隧道源或隧道目標,因此線路協定處於關閉狀態。
若要使此介面正常運作,必須設定有效的通道來源和通道目的地:
Router#show run interface tunnel 1
Building configuration...
Current configuration : 113 bytes
!
interface Tunnel1
ip address 10.1.1.1 255.255.255.0
tunnel source Loopback1
tunnel destination 10.0.0.1
end
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 172.16.52.1 YES NVRAM up up
GigabitEthernet0/1 10.36.128.49 YES NVRAM down down
GigabitEthernet0/2 unassigned YES NVRAM down down
GigabitEthernet0/3 unassigned YES NVRAM down down
Loopback0 unassigned YES unset up up
Loopback1 192.168.2.1 YES manual up up
Tunnel1 10.1.1.1 YES manual up up
之前的序列顯示:
- 有效的通道來源包含本身處於up/up狀態且已在其上設定IP位址的任何介面。
- 例如,如果隧道源已更改為Loopback0,則即使Loopback0處於up/up狀態,隧道介面也會關閉:
Router(config)#interface tunnel 1
Router(config-if)#tunnel source loopback 0
Router(config-if)#
*Sep 6 19:51:31.043: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
- 有效的通道目的地是可以路由的。但是,它不必可到達,可透過以下ping測試看到:
Router#show ip route 10.0.0.1
% Network not in table
Router#show ip route | inc 0.0.0.0
Gateway of last resort is 172.16.52.100 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 172.16.52.100
Router#ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
到目前為止,通道已配置為點對點(P2P) GRE通道,這是預設設定。
如果要將此隧道更改為多點GRE (mGRE)隧道,則啟動狀態所需的所有條件都是有效的隧道源。
注意:mGRE隧道可以有許多隧道目標,因此不能用於控制隧道介面狀態。
Router#show run interface tunnel 1
Building configuration...
Current configuration : 129 bytes
!
interface Tunnel1
ip address 10.1.1.1 255.255.255.0
no ip redirects
tunnel source Loopback1
tunnel mode gre multipoint
end
Router#show ip interface brief | include Tunnel
Tunnel1 10.1.1.1 YES manual up up
在任何時候,如果通道介面以管理方式關閉,通道都會立即進入管理性關閉/關閉狀態:
Router#show run interface tunnel 1
Building configuration...
Current configuration : 50 bytes
!
interface Tunnel1
no ip address
shutdown
end
Router#show ip interface brief | include Tunnel
Tunnel1 unassigned YES unset administratively down down
P2P GRE隧道狀態
通常,P2P GRE隧道介面在配置了有效的隧道源地址或已啟用介面和可路由的隧道目標IP地址(如前面所示)後會立即出現。
路由器上的線路協定本地關閉
在正常情況下,GRE隧道處於打開/關閉狀態的原因只有三個:
- 沒有通往通道目的地位址的路由(包括預設路由)。
- 錨定通道來源的介面已關閉。
- 通往通道目的地址的路由會透過通道本身,從而導致遞迴。
這三項規則(missing、路由、介面停止和錯誤路由的通道目的地)是通道端點上路由器的本地問題。
它們不包括介入網路或與GRE隧道相關的可配置的其他功能中出現的問題。本文檔介紹其他因素可能影響GRE隧道狀態的場景。
GRE通道Keepalive
基本規則不包括GRE隧道資料包在到達隧道另一端之前成功轉發但丟失的情況。
這會導致透過GRE隧道的資料包丟失,即使使用PBR的備用路由或透過另一介面的浮動靜態路由可能可用。
GRE通道介面上的Keepalive使用與實體介面上的Keepalive使用方式相同,可解決此問題。
使用Cisco IOS®軟體版本12.2(8)T,可以在P2P GRE通道介面上設定keepalive。透過此變更,如果keepalive在一段時間內失敗,通道介面會動態關閉。
要加深對GRE隧道Keepalive的工作方式的瞭解,請參閱GRE隧道Keepalive。
注意:GRE隧道Keepalive僅有效並且對P2P GRE隧道有效;它們無效並且對mGRE隧道沒有任何影響。
具有通道保護的GRE通道
在Cisco IOS®軟體版本15.4(3)M/15.4(3)S和更新版本中,GRE通道線路通訊協定狀態會遵循IPsec安全關聯(SA)狀態。因此,線路協定可以保持關閉,直到IPSec會話完全建立。
此問題已透過思科漏洞ID CSCum34057(最初嘗試透過思科漏洞ID CSCuj29996解決,然後透過思科漏洞ID CSCuj99287解決)。
多點GRE (mGRE)通道介面
對於mGRE隧道介面,之前的一些針對P2P隧道的檢查不適用(因為沒有固定隧道目標)。
以下是mGRE通道線路通訊協定可能處於關閉狀態的原因:
- 隧道源介面處於關閉狀態。
- 如果為動態多點VPN (DMVPN)啟用了介面狀態控制功能,並且沒有NHS響應,則線路協定將處於關閉狀態。
- 有關介面狀態控制功能的詳細資訊,請參閱DMVPN隧道運行狀況監控和恢復配置指南。
冗餘狀態的依賴項
當通道來源IP位址設定為備援IP位址(例如,熱待命路由器通訊協定虛擬IP (HSRP VIP)位址)時,通道介面狀態會追蹤備援狀態。
這會增加另一個檢查,使此類隧道介面保持線路協定關閉狀態,直到冗餘狀態更改為ACTIVE。
在本示例中,錯誤配置的ipc zone default配置導致冗餘處於協商狀態,並使此類隧道介面處於關閉狀態:
Router#show redundancy state
my state = 3 -NEGOTIATION
peer state = 1 -DISABLED
Mode = Simplex
Unit ID = 0
Maintenance Mode = Disabled
Manual Swact = disabled (system is simplex (no peer unit))
Communications = Down Reason: Simplex mode
client count = 16
client_notification_TMR = 60000 milliseconds
RF debug mask = 0x0
Router#show interface tunnel100
Tunnel100 is up, line protocol is down
Hardware is Tunnel
Internet address is 172.16.1.100/24
MTU 17912 bytes, BW 100 Kbit/sec, DLY 50000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 10.122.162.254 (GigabitEthernet0/1)
Tunnel Subblocks:
src-track:
Tunnel100 source tracking subblock associated with GigabitEthernet0/1
Set of tunnels with source GigabitEthernet0/1, 2 members (includes
iterators), on interface <OK>
Tunnel protocol/transport multi-GRE/IP
<SNIP>
疑難排解
除了前面所述的原因之外,還可使用show tunnel interface tunnel x hidden命令檢視隧道關閉原因的隧道線路狀態評估:
Router#show tunnel interface tunnel 100
Tunnel100
Mode:multi-GRE/IP, Destination UNKNOWN, Source GigabitEthernet0/1
Application ID 1: unspecified
Tunnel Subblocks:
src-track:
Tunnel100 source tracking subblock associated with GigabitEthernet0/1
Set of tunnels with source GigabitEthernet0/1, 2 members (includes
iterators), on interface <OK>
Linestate - current down
Internal linestate - current down, evaluated down - interface not up
Tunnel Source Flags: Local
Transport IPv4 Header DF bit cleared
OCE: IP tunnel decap
Provider: interface Tu100, prot 47
Performs protocol check [47]
Performs Address save check
Protocol Handler: GRE: key 0x64, opt 0x2000
ptype: ipv4 [ipv4 dispatcher: drop]
ptype: ipv6 [ipv6 dispatcher: drop]
ptype: mpls [mpls dispatcher: drop]
ptype: otv [mpls dispatcher: drop]
ptype: generic [mpls dispatcher: drop]
註:透過開放增強功能,可以更清楚地顯示隧道關閉原因,以表明原因出自冗餘狀態,因為它處於非活動狀態。此問題由思科漏洞ID CSCuq31060跟蹤。
相關資訊