19-GRE配置
本章節下載: 19-GRE配置 (410.89 KB)
GRE(Generic Routing Encapsulation,通用路由封裝)協議用來對某種協議(如IP、MPLS、以太網)的數據報文進行封裝,使這些被封裝的數據報文能夠在另一個網絡(如IP)中傳輸。封裝前後數據報文的網絡層協議可以相同,也可以不同。封裝後的數據報文在網絡中傳輸的路徑,稱為GRE隧道。GRE隧道是一個虛擬的點到點的連接,其兩端的設備分別對數據報文進行封裝及解封裝。
如圖1-1所示,GRE封裝後的報文包括如下幾個部分:
· 淨荷數據(Payload packet):需要封裝和傳輸的數據報文。淨荷數據的協議類型,稱為乘客協議(Passenger Protocol)。乘客協議可以是任意的網絡層協議。
· GRE頭(GRE header):采用GRE協議對淨荷數據進行封裝所添加的報文頭,包括封裝層數、版本、乘客協議類型、校驗和信息、Key信息等內容。添加GRE頭後的報文稱為GRE報文。對淨荷數據進行封裝的GRE協議,稱為封裝協議(Encapsulation Protocol)。
· 傳輸協議的報文頭(Delivery header):在GRE報文上添加的報文頭,以便傳輸協議對GRE報文進行轉發處理。傳輸協議(Delivery Protocol或者Transport Protocol)是指負責轉發GRE報文的網絡層協議。設備支持IPv4和IPv6兩種傳輸協議:當傳輸協議為IPv4時,GRE隧道稱為GRE over IPv4隧道;當傳輸協議為IPv6時,GRE隧道稱為GRE over IPv6隧道。
圖1-1 GRE封裝後的報文格式
下麵以圖1-2的網絡為例說明IPv6協議的報文通過GRE隧道穿越IPv4網絡進行傳輸的過程。
(1) Device A從連接IPv6 network 1的接口收到IPv6報文後,查找路由表判定此報文需要通過GRE隧道模式的Tunnel接口(本例中為Tunnel0)轉發,並將報文發給相應的Tunnel接口。
(2) GRE隧道模式的Tunnel接口收到此IPv6報文後,先在報文前封裝上GRE頭,再封裝上IPv4頭。IPv4頭中的源地址為隧道的源端地址(本例中為Device A的Interface A接口的IP地址),目的地址為隧道的目的端地址(本例中為Device B的Interface B接口的IP地址)。
(3) Device A根據封裝的IPv4頭中的目的地址查找路由表,將封裝後的IPv4報文通過GRE隧道的實際物理接口(Interface A)轉發出去。
(4) 封裝後的IPv4報文通過GRE隧道到達隧道的目的端設備Device B後,由於報文的目的地是本設備,且IPv4頭中的協議號為47(表示封裝的報文為GRE報文),Device B將此報文交給GRE協議進行解封裝處理。
(5) GRE協議先剝離掉此報文的IPv4頭,再對報文進行GRE Key驗證、校驗和驗證、報文序列號檢查等處理,處理通過後再剝離掉報文的GRE頭,將報文交給IPv6協議進行後續的轉發處理。
圖1-2 IPv6協議網絡通過GRE隧道互連
GRE支持GRE Key驗證、校驗和驗證兩種安全機製。
通過GRE Key驗證可以檢查報文的合法性。
發送方在發送的報文中攜帶本地配置的GRE Key。接收方收到報文後,將報文中的GRE Key與接收方本地配置的GRE Key進行比較,如果一致則對報文進行進一步處理,否則丟棄該報文。
通過GRE校驗和驗證可以檢查報文的完整性。
發送方根據GRE頭及Payload信息計算校驗和,並將包含校驗和信息的報文發送給對端。接收方對接收到的報文計算校驗和,並與報文中的校驗和比較,如果一致則對報文進行進一步處理,否則丟棄該報文。
GRE主要有以下幾種應用場景。
如圖1-3所示,IPv6 network 1和IPv6 network 2是運行IPv6協議的網絡,IPv4 network 1和IPv4 network 2是運行IPv4協議的網絡。在Device A和Device B之間建立GRE隧道,可以使IPv6 network 1和IPv6 network 2、IPv4 network 1和IPv4 network 2通過骨幹網互不影響地進行通信,實現兩地互通。
在IP網絡中,報文的TTL值最大為255。如果兩台設備之間的跳數超過255,它們將無法通信。通過在網絡中使用GRE隧道可以隱藏一部分跳數,從而擴大網絡的工作範圍。如圖1-4所示,使用了GRE隧道之後,Host A和Host B之間的跳數減少為3跳,GRE隧道經過的設備中隻有隧道兩端的設備(Device A和Device D)參與跳數計算。
與GRE相關的協議規範有:
· RFC 1701:Generic Routing Encapsulation (GRE)
· RFC 1702:Generic Routing Encapsulation over IPv4 networks
· RFC 2784:Generic Routing Encapsulation (GRE)
· RFC 2890:Key and Sequence Number Extensions to GRE
· GRE收發雙方的加封裝、解封裝處理,以及由於封裝造成的數據量增加,會導致使用GRE後設備的數據轉發效率有一定程度的下降。
· 隧道兩端必須都配置隧道的源端地址和目的端地址,且本端配置的源端地址(目的端地址)應該與對端配置的目的端地址(源端地址)相同。
· 在同一台設備上,隧道模式相同的Tunnel接口建議不要同時配置完全相同的源端地址和目的端地址。
· GRE隧道和點到多點GRE隧道不能配置相同的源端地址和目的端地址。
· 隧道兩端可以根據各自的實際應用需要決定是否要開啟GRE報文校驗和功能。如果本端開啟了GRE報文校驗和功能,則會在發送的報文中攜帶校驗和信息,由對端來對報文進行校驗和驗證。對端是否對收到的報文進行校驗和驗證,取決於報文中是否攜帶校驗和信息,與對端的配置無關。
· 如果封裝前報文的目的地址與Tunnel接口的地址不在同一個網段,則必須配置通過Tunnel接口到達報文目的地址的路由,以便需要進行封裝的報文能正常轉發。用戶可以配置靜態路由,指定到達報文目的地址的路由出接口為本端Tunnel接口;也可以配置動態路由,在Tunnel接口、與私網相連的接口上分別使能動態路由協議,由動態路由協議來建立通過Tunnel接口轉發的路由表項。
本配置任務僅列出了配置GRE over IPv4隧道涉及的Tunnel接口相關的基礎配置命令(interface tunnel、source、destination和tunnel dfbit enable命令),關於Tunnel接口下更多配置命令的詳細介紹,請參見“網絡互通配置指導”中的“隧道”。
(1) 進入係統視圖。
system-view
(2) 創建模式為GRE over IPv4隧道的Tunnel接口,並進入該Tunnel接口視圖。
interface tunnel number mode gre
在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗。
(3) 根據乘客協議,設置Tunnel接口的IP地址。
(IPv4網絡)
IPv4地址的配置方法,請參見“網絡互通配置指導”中的“IP地址”。
(IPv6網絡)
IPv6地址的配置方法,請參見“網絡互通配置指導”中的“IPv6基礎”。
缺省情況下,Tunnel接口上未設置IP地址。
(4) 設置隧道的源端地址或源接口。
source { ip-address | interface-type interface-number }
缺省情況下,未設置隧道的源端地址和源接口。
如果設置的是隧道的源端地址,則該地址將作為封裝後隧道報文的源IPv4地址;如果設置的是隧道的源接口,則該接口的主IP地址將作為封裝後隧道報文的源IPv4地址。
(5) 設置隧道的目的端地址。
destination ip-address
缺省情況下,未設置隧道的目的端地址。
隧道的目的端地址是對端從GRE隧道上接收報文的實際物理接口的地址,該地址將作為封裝後隧道報文的目的IPv4地址。該地址不能與Tunnel接口的地址在同一網段。
(6) (可選)開啟GRE的keepalive功能,並配置keepalive報文發送周期及最大發送次數。
keepalive [ interval [ times ] ]
缺省情況下,GRE的keepalive功能處於關閉狀態。
(7) (可選)配置GRE安全功能。
¡ 開啟GRE報文校驗和功能。
gre checksum
缺省情況下,GRE報文校驗和功能處於關閉狀態。
¡ 設置GRE類型Tunnel接口的GRE Key。
gre key key
缺省情況下,未設置GRE類型Tunnel接口的GRE Key。
隧道兩端必須設置相同的GRE Key,或者都不設置GRE Key。
(8) (可選)設置封裝後隧道報文的DF(Don’t Fragment,不分片)標誌。
tunnel dfbit enable
缺省情況下,未設置隧道報文的不分片標誌,即轉發隧道報文時允許分片。
本配置任務僅列出了配置GRE over IPv6隧道涉及的Tunnel接口相關的基礎配置命令(interface tunnel和source、destination命令),關於Tunnel接口下更多配置命令的詳細介紹,請參見“網絡互通配置指導”中的“隧道”。
(1) 進入係統視圖。
system-view
(2) 創建模式為GRE over IPv6隧道的Tunnel接口,並進入該Tunnel接口視圖。
interface tunnel number mode gre ipv6
在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗。
(3) 根據乘客協議,設置Tunnel接口的IP地址。
(IPv4網絡)
IPv4地址的配置方法,請參見“網絡互通配置指導”中的“IP地址”。
(IPv6網絡)
IPv6地址的配置方法,請參見“網絡互通配置指導”中的“IPv6基礎”。
缺省情況下,Tunnel接口上未設置IP地址。
(4) 設置隧道的源端地址或源接口。
source { ipv6-address | interface-type interface-number }
缺省情況下,未設置隧道的源端地址和源接口。
如果設置的是隧道的源端地址,則該地址將作為封裝後隧道報文的源IPv6地址;如果設置的是隧道的源接口,則該接口的地址將作為封裝後隧道報文的源IPv6地址。
(5) 設置隧道的目的端地址。
destination ipv6-address
缺省情況下,未設置隧道的目的端地址。
隧道的目的端地址是對端從GRE隧道上接收報文的實際物理接口的地址,該地址將作為封裝後隧道報文的目的IPv6地址。該地址不能與Tunnel接口的地址在同一網段。
(6) (可選)配置GRE安全功能。
¡ 開啟GRE報文校驗和功能。
gre checksum
缺省情況下,GRE報文校驗和功能處於關閉狀態。
¡ 設置GRE類型Tunnel接口的GRE Key。
gre key key
缺省情況下,未設置GRE類型Tunnel接口的GRE Key。
隧道兩端必須設置相同的GRE Key,或者都不設置GRE Key。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後GRE的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除Tunnel接口的統計信息。
表1-1 GRE顯示和維護
操作 |
命令 |
顯示Tunnel接口的相關信息(本命令的詳細介紹,請參見“網絡互通命令參考”中的“隧道”) |
display interface [ tunnel [ number ] ] [ brief [ description | down ] ] |
顯示Tunnel接口的IPv6相關信息(本命令的詳細介紹,請參見“網絡互通命令參考”中的“IPv6基礎”) |
display ipv6 interface [ tunnel [ number ] ] [ brief ] |
清除Tunnel接口的統計信息(本命令的詳細介紹,請參見“網絡互通命令參考”中的“隧道”) |
reset counters interface [ tunnel [ number ] ] |
清除Tunnel接口的IPv6統計信息(本命令的詳細介紹,請參見“網絡互通命令參考”中的“IPv6基礎”) |
reset ipv6 statistics |
AC和Device分別連接IPv4私有網絡Group 1和Group 2,這兩個私有網絡都使用私網地址。通過在AC和Device之間建立GRE over IPv4隧道,實現兩個私有網絡的互聯。
圖1-5 GRE over IPv4隧道應用組網圖
在開始下麵的配置之前,確保設備各接口的地址都已配置完畢,並且AC和Device之間路由可達。
(1) 配置AC
# 創建Tunnel0接口,並指定隧道模式為GRE over IPv4隧道。
<AC> system-view
[AC] interface tunnel 0 mode gre
# 配置Tunnel0接口的IP地址。
[AC-Tunnel0] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel0接口的源端地址(AC的Vlan-interface101的IP地址)。
[AC-Tunnel0] source 1.1.1.1
# 配置Tunnel0接口的目的端地址(Device的GE1/0/2的IP地址)。
[AC-Tunnel0] destination 2.2.2.2
[AC-Tunnel0] quit
# 配置從AC經過Tunnel0接口到Group 2的靜態路由。
[AC] ip route-static 10.1.3.0 255.255.255.0 tunnel 0
(2) 配置Device
# 創建Tunnel0接口,並指定隧道模式為GRE over IPv4隧道。
<Device> system-view
[Device] interface tunnel 0 mode gre
# 配置Tunnel0接口的IP地址。
[Device-Tunnel0] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel0接口的源端地址(Device的GE1/0/2的IP地址)。
[Device-Tunnel0] source 2.2.2.2
# 配置Tunnel0接口的目的端地址(AC的Vlan-interface101的IP地址)。
[Device-Tunnel0] destination 1.1.1.1
[Device-Tunnel0] quit
# 配置從Device經過Tunnel0接口到Group 1的靜態路由。
[Device] ip route-static 10.1.1.0 255.255.255.0 Tunnel 0
# 查看AC的Tunnel接口狀態。
[AC] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 64000
Internet address: 10.1.2.1/24 (primary)
Tunnel source 1.1.1.1 (Vlan-interface101), destination 2.2.2.2
Tunnel keepalive disabled
Tunnel TTL 255
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Device的Tunnel接口狀態。
[Device] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 64000
Internet address:10.1.2.2/24 (primary)
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel keepalive disabled
Tunnel TTL 255
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 從Device可以Ping通AC上Vlan-interface100的地址。
[Device] ping -a 10.1.3.1 10.1.1.1
Ping 10.1.1.1 (10.1.1.1) from 10.1.3.1: 56 data bytes, press CTRL_C to break
56 bytes from 10.1.1.1: icmp_seq=0 ttl=255 time=11.000 ms
56 bytes from 10.1.1.1: icmp_seq=1 ttl=255 time=1.000 ms
56 bytes from 10.1.1.1: icmp_seq=2 ttl=255 time=0.000 ms
56 bytes from 10.1.1.1: icmp_seq=3 ttl=255 time=0.000 ms
56 bytes from 10.1.1.1: icmp_seq=4 ttl=255 time=0.000 ms
--- Ping statistics for 10.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/2.400/11.000/4.317 ms
運行IPv4協議的兩個子網Group 1和Group 2通過IPv6網絡相連。通過在AC和Device之間建立GRE over IPv6隧道,實現兩個子網穿越IPv6網絡互聯。
圖1-6 GRE over IPv6隧道應用組網圖
在開始下麵的配置之前,確保設備各接口的地址都已配置完畢,並且AC和Device之間路由可達。
(1) 配置AC
# 創建Tunnel0接口,並指定隧道模式為GRE over IPv6隧道。
<AC> system-view
[AC] interface tunnel 0 mode gre ipv6
# 配置Tunnel0接口的IP地址。
[AC-Tunnel0] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel0接口的源端地址(AC的Vlan-interface101的IP地址)。
[AC-Tunnel0] source 2002::1:1
# 配置Tunnel0接口的目的端地址(Device的GE1/0/2的IP地址)。
[AC-Tunnel0] destination 2001::2:1
[AC-Tunnel0] quit
# 配置從AC經過Tunnel0接口到Group 2的靜態路由。
[AC] ip route-static 10.1.3.0 255.255.255.0 tunnel 0
(2) 配置Device
# 創建Tunnel0接口,並指定隧道模式為GRE over IPv6隧道。
<Device> system-view
[Device] interface tunnel 0 mode gre ipv6
# 配置Tunnel0接口的IP地址。
[Device-Tunnel0] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel0接口的源端地址(Device的GE1/0/2的IP地址)。
[Device-Tunnel0] source 2001::2:1
# 配置Tunnel0接口的目的端地址(AC的Vlan-interface101的IP地址)。
[Device-Tunnel0] destination 2002::1:1
[Device-Tunnel0] quit
# 配置從Device經過Tunnel0接口到Group 1的靜態路由。
[Device] ip route-static 10.1.1.0 255.255.255.0 tunnel 0
# 查看AC的Tunnel接口狀態。
[AC] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 64000
Internet address: 10.1.2.1/24 (primary)
Tunnel source 2002::1:1, destination 2001::2:1
Tunnel TTL 255
Tunnel protocol/transport GRE/IPv6
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Device的Tunnel接口狀態。
[Device] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 64000
Internet address:10.1.2.2/24 (primary)
Tunnel source 2001::2:1, destination 2002::1:1
Tunnel TTL 255
Tunnel protocol/transport GRE/IPv6
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 從Device可以Ping通AC上Vlan-interface100的地址。
[Device] ping -a 10.1.3.1 10.1.1.1
Ping 10.1.1.1 (10.1.1.1) from 10.1.3.1: 56 data bytes, press CTRL_C to break
56 bytes from 10.1.1.1: icmp_seq=0 ttl=255 time=2.000 ms
56 bytes from 10.1.1.1: icmp_seq=1 ttl=255 time=1.000 ms
56 bytes from 10.1.1.1: icmp_seq=2 ttl=255 time=1.000 ms
56 bytes from 10.1.1.1: icmp_seq=3 ttl=255 time=0.000 ms
56 bytes from 10.1.1.1: icmp_seq=4 ttl=255 time=1.000 ms
--- Ping statistics for 10.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/1.000/2.000/0.632 ms
GRE的配置相對比較簡單,但要注意配置的一致性,大部分的錯誤都可以使用調試命令debugging gre和debugging tunnel定位。這裏僅就一種錯誤進行分析。
如圖1-7所示,Tunnel兩端接口配置正確且Tunnel兩端可以ping通,但Host A和Host B之間卻無法ping通。
圖1-7 GRE排錯示例
出現該故障的原因可能是Device A或Device C上沒有到達對端網絡的路由。
(1) 在Device A和Device C分別執行display ip routing-table命令,觀察在Device A是否有經過Tunnel0接口到10.2.0.0/16的路由;在Device C是否有經過Tunnel0接口到10.1.0.0/16的路由。
(2) 如果不存在上述路由,則在係統視圖下使用ip route-static命令添加靜態路由。以Device A為例,配置如下:
[DeviceA] ip route-static 10.2.0.0 255.255.0.0 tunnel 0
點到多點GRE隧道是一個虛擬的點到多點的連接,相對於傳統的GRE隧道,點到多點GRE隧道能夠提供一個中心節點到多個分支網絡的虛擬連接。
使用傳統的GRE隧道應用於如圖2-1所示的企業網時,需要在企業中心節點和各個分支機構之間建立多條點到點GRE隧道。當企業分支機構眾多時,配置工作量巨大;如果新增分支機構,則需要在中心節點上增加配置,增加了網絡維護的負擔;此外,分支機構采用ADSL等方式撥號上網時,分支機構公網地址的不確定性也增加了中心節點配置的複雜度。
點到多點GRE隧道很好地解決了上述問題,非常適用於分支機構眾多的企業網絡。點到多點GRE隧道組網中,需要在中心節點上配置點到多點GRE模式的隧道接口(以下簡稱為點到多點GRE隧道接口)、分支機構上配置傳統的點到點GRE over IPv4/IPv6模式的隧道接口(以下簡稱為點到點GRE隧道接口),這樣就可以實現在中心節點和多個分支機構之間建立點到多點GRE隧道。
圖2-1 點到多點GRE隧道應用
點到多點GRE隧道具有如下優點:
· 配置簡單。中心節點上隻需配置點到多點GRE隧道,無需在中心節點上創建到達每個分支機構的點到點GRE隧道。
· 對於分支機構使用的網關設備沒有特殊要求,隻要支持GRE協議,不需要特殊的協議或者私有協議來配合使用,具有較好的互通性,避免用戶網絡設備的重複投資。
點到多點GRE隧道的報文加解封裝的過程與點到點GRE隧道相同。
通過點到多點GRE隧道轉發報文時,設備根據報文的目的IP地址,在點到多點GRE隧道表項中查找對應的隧道目的IP地址,使用此地址作為GRE封裝傳輸協議報文頭的目的IP地址。
目前僅支持配置點到多點GRE隧道的IPv4靜態表項。
關於interface tunnel、source命令以及Tunnel接口下更多配置命令的詳細介紹,請參見“網絡互通配置指導”和“網絡互通命令參考”中的“隧道”。
· 在同一設備上配置多個點到多點GRE隧道時,各Tunnel接口不能配置完全相同的源端地址。
· GRE隧道和點到多點GRE隧道不能配置相同的源端地址和目的端地址。
· 中心節點的點到多點GRE隧道接口上不能配置GRE Key。
· 點到多點GRE隧道組網中,分支網絡之間無法建立隧道,不能通信。
· 在分支節點上,需要將GRE over IPv4/IPv6隧道的目的端地址配置為點到多點GRE隧道接口的源端地址。
· Tunnel接口上配置的隧道目的端地址不能與Tunnel接口的地址在同一網段。
· 隧道兩端可以根據各自的實際應用需要決定是否要開啟GRE報文校驗和功能。如果本端開啟了GRE報文校驗和功能,則會在發送的報文中攜帶校驗和信息,由對端來對報文進行校驗和驗證。對端是否對收到的報文進行校驗和驗證,取決於報文中是否攜帶校驗和信息,與對端的配置無關。
· 如果封裝前報文的目的地址與Tunnel接口的地址不在同一個網段,則必須配置通過Tunnel接口到達報文目的地址的路由,以便需要進行封裝的報文能正常轉發。用戶可以配置靜態路由,指定到達報文目的地址的路由出接口為本端Tunnel接口;也可以配置動態路由,在Tunnel接口、與私網相連的接口上分別使能動態路由協議,由動態路由協議來建立通過Tunnel接口轉發的路由表項。
(1) 進入係統視圖。
system-view
(2) 創建GRE P2MP隧道模板,並進入GRE P2MP隧道模板視圖。
gre p2mp-template template-name
(3) 配置GRE P2MP隧道的映射表項。
map branch-network-address branch-network-address { mask | mask-length } tunnel-destination tunnel-dest-address [ checksum-fill checksum-value ]
缺省情況下,未配置GRE P2MP隧道的映射表項。
使用checksum-fill參數填充IPv4地址至checksum字段會導致GRE報文校驗失敗,因此,請結合實際組網要求準確使用checksum-fill參數。
(4) 退回係統視圖。
quit
(5) 創建模式為點到多點GRE隧道的Tunnel接口,並進入該Tunnel接口視圖。
interface tunnel number mode gre-p2mp
對端設備的隧道接口應該配置為GRE over IPv4隧道模式。
(6) 配置Tunnel接口的IPv4地址。
IPv4地址的配置方法,請參見“網絡互通配置指導”中的“IP地址”
缺省情況下,Tunnel接口上未配置IPv4地址。
(7) 配置隧道的源端地址或源接口。
source { ipv4-address | interface-type interface-number }
缺省情況下,未配置隧道的源端地址和源接口。
如果配置的是隧道的源端地址,則該地址將作為封裝後隧道報文的源地址。
如果配置的是隧道的源接口,對於IPv4地址,該接口的主IP地址將作為封裝後隧道報文的源IP地址。
(8) 配置GRE P2MP隧道接口與指定的GRE P2MP隧道模板關聯。
gre p2mp-template template-name
缺省情況下,未配置GRE P2MP隧道接口與指定的GRE P2MP隧道模板關聯。
指定的GRE P2MP隧道模板必須是已創建GRE P2MP隧道模板。
(9) (可選)開啟GRE報文校驗和功能。
gre checksum
缺省情況下,GRE報文校驗和功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後點到多點GRE隧道的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除點到多點GRE隧道的相關信息。
表2-1 點到多點GRE隧道的顯示和維護
操作 |
命令 |
顯示點到多點GRE隧道靜態表項的報文統計信息 |
display gre p2mp tunnel-table statistics interface tunnel number [ branch-network-address branch-network-address { mask | mask-length } ] |
清除點到多點GRE隧道靜態表項的報文統計信息 |
reset gre p2mp tunnel-table statistics interface tunnel number [ branch-network-address branch-network-address { mask | mask-length } ] |
某企業擁有一個中心網絡和眾多分支機構,分支機構和中心網絡之間建立GRE隧道,實現隧道兩側內網主機互通,中心網絡能夠主動訪問分支機構,分支機構之間不會互相訪問。如圖2-2所示,為了簡化配置,在中心節點網關設備Device A上配置點到多點GRE隧道接口,使中心節點網絡可以與多個分支網絡建立GRE隧道;在各分支節點上配置GRE over IPv4隧道接口,使分支網絡可以和中心網絡建立GRE隧道;在中心節點網關設備Device A上配置點到多點GRE隧道靜態表項使中心網絡能夠主動訪問分支機構。
圖2-2 基於點到多點GRE隧道靜態表項的GRE隧道組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Device A |
GE1/0/1 |
11.1.1.1/24 |
Device B |
GE1/0/1 |
11.1.2.1/24 |
GE1/0/2 |
192.168.11.1/24 |
GE1/0/2 |
192.168.12.1/24 |
||
Tunnel0 |
192.168.22.1/24 |
Tunnel0 |
192.168.22.2/24 |
||
Device C |
GE1/0/1 |
11.1.3.1/24 |
Device C |
Tunnel0 |
192.168.22.3/24 |
GE1/0/2 |
192.168.13.1/24 |
|
|
· 在開始下麵的配置之前,請確保設備各接口的地址都已配置完畢,並且Device A和Device B之間、Device A和Device C之間路由可達。
· 本舉例中僅以一個分支節點網關設備Device B為例說明分支節點的配置方法,其他分支節點的配置與Device B上的配置類似。
· 本舉例中僅以到達分支節點網關Device B為例,配置隧道的映射表項,到達其它分支節點的隧道配置此類似。
(1) 配置Device A
# 創建GRE P2MP隧道模板aa,並在模板aa視圖下,配置一條映射表項,分支網絡地址為192.168.12.2,掩碼長度為32,隧道目的地址為11.1.2.1。
<DeviceA> system-view
[DeviceA] gre p2mp-template aa
[DeviceA-p2mp-template-aa] map branch-network-address 192.168.12.2 32 tunnel-destination 11.1.2.1
# 創建Tunnel0接口,並指定隧道模式為點到多點GRE隧道。
[DeviceA] interface tunnel 0 mode gre-p2mp
# 配置Tunnel0接口的IP地址。
[DeviceA-Tunnel0] ip address 192.168.22.1 255.255.255.0
# 配置Tunnel0接口的源IP地址(Device A的GigabitEthernet1/0/1的IP地址)。
[DeviceA-Tunnel0] source 11.1.1.1
# 配置GRE P2MP隧道與指定的GRE P2MP隧道模板aa關聯。
[DeviceA-Tunnel0] gre p2mp-template aa
[DeviceA-Tunnel0] quit
(2) 配置Device B
# 創建Tunnel0接口,並指定隧道模式為GRE over IPv4隧道。
<DeviceB> system-view
[DeviceB] interface tunnel 0 mode gre
# 配置Tunnel0接口的IP地址。
[DeviceB-Tunnel0] ip address 192.168.22.2 255.255.255.0
# 配置Tunnel0接口的源端地址(Device B的GigabitEthernet1/0/1的IP地址)。
[DeviceB-Tunnel0] source 11.1.2.1
# 配置Tunnel0接口的目的端地址(Device A的GigabitEthernet1/0/1的IP地址)。
[DeviceB-Tunnel0] destination 11.1.1.1
[DeviceB-Tunnel0] quit
# 配置經過Tunnel0接口到達中心節點的靜態路由。
[DeviceB] ip route-static 192.168.11.0 255.255.255.0 tunnel 0
# 完成以上配置後,查看Device A上的點到多點GRE隧道表項。此時Device A上存在點到多點GRE隧道靜態表項。在Host A上Ping Host B,可以Ping通,並且能統計報文數。
[DeviceA] display gre p2mp tunnel-table statistics interface Tunnel 0
VPN-instance name: - Map number: 1
Branch network address: 192.168.12.2/32
Tunnel destination address: 11.1.2.1
Input:
5 packets, 420 bytes, 0 drops
Output:
5 packets, 420 bytes, 0 drops
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!