04-GRE配置
本章节下载: 04-GRE配置 (672.76 KB)
GRE(Generic Routing Encapsulation,通用路由封装)协议用来对某种协议(如IP、以太网)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络(如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)参与跳数计算。
如图1-5所示,属于VPN 1的两个站点Site 1和Site 2分别位于不同的城市,通过使用GRE隧道可以实现跨越广域网连接VPN 1的两个站点。
如图1-6所示,GRE可以和IPsec(IP Security,IP安全)配合使用,通过建立GRE over IPsec隧道,对路由协议、语音、视频等数据先进行GRE封装,再对封装后的报文进行IPsec处理。二者配合使用的优势如下:
· 提高数据在隧道中传输的安全性。
· 解决IPsec只能处理单播报文的问题。GRE可以支持组播、广播和非IP报文,先对这些报文进行GRE封装,使其成为普通的单播报文。然后,IPsec就可以对其进行进一步的处理。
· 简化IPsec的配置。由于所有报文都先经过GRE封装后再进行IPsec处理,因此只要根据GRE隧道的源/目的端地址来定义需要IPsec保护的数据流即可,不需要关注原始报文的源/目的地址。
GRE和IPsec还有另外一种配合方式,即IPsec over GRE隧道。但这种方式不能充分利用二者的优势,一般不推荐使用。
关于IPsec的详细介绍请参见“安全配置指导”中的“IPsec”。
与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接口下更多配置命令的详细介绍,请参见“VPN配置指导”中的“隧道”。
(1) 进入系统视图。
system-view
(2) 创建模式为GRE over IPv4隧道的Tunnel接口,并进入该Tunnel接口视图。
interface tunnel number mode gre
在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败。
(3) 根据乘客协议,设置Tunnel接口的IP地址。
(IPv4网络)
IPv4地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IP地址”。
(IPv6网络)
IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“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 ] | reply-check-only ]*
缺省情况下,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
缺省情况下,未设置隧道报文的不分片标志,即转发隧道报文时允许分片。
(9) (可选)配置GRE隧道转发类。
service-class service-class-value
缺省情况下,未设置GRE隧道转发类。
本配置任务仅列出了配置GRE over IPv6隧道涉及的Tunnel接口相关的基础配置命令(interface tunnel和source、destination命令),关于Tunnel接口下更多配置命令的详细介绍,请参见“VPN配置指导”中的“隧道”。
(1) 进入系统视图。
system-view
(2) 创建模式为GRE over IPv6隧道的Tunnel接口,并进入该Tunnel接口视图。
interface tunnel number mode gre ipv6
在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败。
(3) 根据乘客协议,设置Tunnel接口的IP地址。
(IPv4网络)
IPv4地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IP地址”。
(IPv6网络)
IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“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。
(7) (可选)配置GRE隧道转发类。
service-class service-class-value
缺省情况下,未设置GRE隧道转发类。
开启本功能后,对于从隧道接收的报文,如果解封装后原始IPv6报文的源或目的地址为IPv4兼容IPv6地址,则丢弃该报文。
(1) 进入系统视图。
system-view
(2) 配置丢弃含有IPv4兼容IPv6地址的IPv6报文。
tunnel discard ipv4-compatible-packet
缺省情况下,不会丢弃含有IPv4兼容IPv6地址的IPv6报文。
本命令详细介绍,请参见“VPN命令参考”中的“隧道”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后GRE的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除Tunnel接口的统计信息。
表1-1 GRE显示和维护
操作 |
命令 |
显示Tunnel接口的相关信息(本命令的详细介绍,请参见“VPN命令参考”中的“隧道”) |
display interface [ tunnel [ number ] ] [ brief [ description | down ] ] |
显示Tunnel接口的IPv6相关信息(本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6基础”) |
display ipv6 interface [ tunnel [ number ] ] [ brief ] |
清除Tunnel接口的统计信息(本命令的详细介绍,请参见“VPN命令参考”中的“隧道”) |
reset counters interface [ tunnel [ number ] ] |
清除Tunnel接口的IPv6统计信息(本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6基础”) |
reset ipv6 statistics [ slot slot-number ] |
Device A和Device B分别连接IPv4私有网络Group 1和Group 2。这两个私有网络都使用私网地址,且属于同一个VPN。通过在Device A和Device B之间建立GRE隧道,实现两个私有网络的互联。
图1-7 GRE over IPv4隧道配置组网图
(1) 配置Device A
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceA] interface tunnel 0 mode gre
[DeviceA-Tunnel0] ip address 10.1.2.1 255.255.255.0
[DeviceA-Tunnel0] source 1.1.1.1
[DeviceA-Tunnel0] destination 2.2.2.2
[DeviceA-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为1.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceA] ip route-static 2.2.2.2 24 1.1.1.2
[DeviceA] ip route-static 10.1.3.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name Untrust
[DeviceA-security-zone-Untrust] import interface Tunnel 0
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name Trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device B发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-1-grelocalout] source-zone local
[DeviceA-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 10.1.2.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 10.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 10.1.2.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 10.1.3.1
[DeviceA-security-policy-ip-1-grelocalout] action pass
[DeviceA-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device B的报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule name grelocalin
[DeviceA-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ip-2-grelocalin] destination-zone local
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 10.1.2.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 10.1.3.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 10.1.2.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 10.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] action pass
[DeviceA-security-policy-ip-2-grelocalin] quit
[DeviceA-security-policy-ip] quit
(2) 配置Device B
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.3.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceB] interface tunnel 0 mode gre
[DeviceB-Tunnel0] ip address 10.1.2.2 255.255.255.0
[DeviceB-Tunnel0] source 2.2.2.2
[DeviceB-Tunnel0] destination 1.1.1.1
[DeviceB-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2.2.2.3,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceB] ip route-static 1.1.1.1 24 2.2.2.3
[DeviceB] ip route-static 10.1.1.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name Untrust
[DeviceB-security-zone-Untrust] import interface Tunnel 0
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name Trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device A发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule 1 name grelocalout
[DeviceB-security-policy-ip-1-grelocalout] source-zone local
[DeviceB-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 10.1.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 10.1.3.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 10.1.2.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 10.1.1.1
[DeviceB-security-policy-ip-1-grelocalout] action pass
[DeviceB-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ip-2-grelocalin] destination-zone local
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 10.1.2.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 10.1.1.1
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 10.1.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 10.1.3.1
[DeviceB-security-policy-ip-2-grelocalin] action pass
[DeviceB-security-policy-ip-2-grelocalin] quit
[DeviceB-security-policy-ip] quit
# 查看Device A的Tunnel接口状态。
[DeviceA] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1476
Internet address: 10.1.2.1/24 (primary)
Tunnel source 1.1.1.1, 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 B的Tunnel接口状态。
[DeviceB] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1476
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 B可以Ping通Device A上GigabitEthernet1/0/1接口的地址。
[DeviceB] 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网络相连。通过在Device A和Device B之间建立GRE over IPv6隧道,实现两个子网穿越IPv6网络互联。
图1-8 GRE over IPv6隧道配置组网图
(1) 配置Device A
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface GigabitEthernet1/0/2
[DeviceA-GigabitEthernet1/0/2] ipv6 address 2002::1.1/64
[DeviceA-GigabitEthernet1/0/2] quit
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv6隧道。
[DeviceA] interface tunnel 0 mode gre ipv6
[DeviceA-Tunnel0] ip address 10.1.2.1 255.255.255.0
[DeviceA-Tunnel0] source 2002::1:1
[DeviceA-Tunnel0] destination 2001::2:1
[DeviceA-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2002::1:2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceA] ipv6 route-static 2001::2:1 64 2002::1:2
[DeviceA] ip route-static 10.1.3.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name Untrust
[DeviceA-security-zone-Untrust] import interface Tunnel 0
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name Trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device B发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-1-grelocalout] source-zone local
[DeviceA-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 10.1.2.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 10.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 10.1.2.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 10.1.3.1
[DeviceA-security-policy-ip-1-grelocalout] action pass
[DeviceA-security-policy-ip-1-grelocalout] quit
[DeviceA-security-policy-ip] quit
[DeviceA] security-policy ipv6
[DeviceA-security-policy-ipv6] rule name grelocalout
[DeviceA-security-policy-ipv6-1-grelocalout] source-zone local
[DeviceA-security-policy-ipv6-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ipv6-1-grelocalout] source-ip-host 2002::1:1
[DeviceA-security-policy-ipv6-1-grelocalout] destination-ip-host 2001::2:1
[DeviceA-security-policy-ipv6-1-grelocalout] action pass
[DeviceA-security-policy-ipv6-1-grelocalout] quit
[DeviceA-security-policy-ipv6] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device B的报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalin
[DeviceA-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ip-2-grelocalin] destination-zone local
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 10.1.2.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 10.1.3.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 10.1.2.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 10.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] action pass
[DeviceA-security-policy-ip-2-grelocalin] quit
[DeviceA-security-policy-ip] quit
[DeviceA] security-policy ipv6
[DeviceA-security-policy-ipv6] rule name grelocalin
[DeviceA-security-policy-ipv6-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ipv6-2-grelocalin] destination-zone local
[DeviceA-security-policy-ipv6-2-grelocalin] source-ip-host 2001::2:1
[DeviceA-security-policy-ipv6-2-grelocalin] destination-ip-host 2002::1:1
[DeviceA-security-policy-ipv6-2-grelocalin] action pass
[DeviceA-security-policy-ipv6-2-grelocalin] quit
[DeviceA-security-policy-ipv6] quit
(2) 配置Device B
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.3.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceA] interface GigabitEthernet1/0/2
[DeviceA-GigabitEthernet1/0/2] ipv6 address 2001::2.1/64
[DeviceA-GigabitEthernet1/0/2] quit
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv6隧道。
[DeviceB] interface tunnel 0 mode gre ipv6
[DeviceB-Tunnel0] ip address 10.1.2.2 255.255.255.0
[DeviceB-Tunnel0] source 2001::2:1
[DeviceB-Tunnel0] destination 2002::1:1
[DeviceB-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2001::2:2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceB] ipv6 route-static 2002::1:1 64 2001::2:2
[DeviceB] ip route-static 10.1.1.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name Untrust
[DeviceB-security-zone-Untrust] import interface Tunnel 0
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name Trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device A发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalout
[DeviceB-security-policy-ip-1-grelocalout] source-zone local
[DeviceB-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 10.1.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 10.1.3.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 10.1.2.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 10.1.1.1
[DeviceB-security-policy-ip-1-grelocalout] action pass
[DeviceB-security-policy-ip-1-grelocalout] quit
[DeviceB-security-policy-ip] quit
[DeviceB] security-policy ipv6
[DeviceB-security-policy-ipv6] rule name grelocalout
[DeviceB-security-policy-ipv6-1-grelocalout] source-zone local
[DeviceB-security-policy-ipv6-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ipv6-1-grelocalout] source-ip-host 2001::2:1
[DeviceB-security-policy-ipv6-1-grelocalout] destination-ip-host 2002::1:1
[DeviceB-security-policy-ipv6-1-grelocalout] action pass
[DeviceB-security-policy-ipv6-1-grelocalout] quit
[DeviceB-security-policy-ipv6] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ip-2-grelocalin] destination-zone local
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 10.1.2.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 10.1.1.1
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 10.1.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 10.1.3.1
[DeviceB-security-policy-ip-2-grelocalin] action pass
[DeviceB-security-policy-ip-2-grelocalin] quit
[DeviceB-security-policy-ip] quit
[DeviceB] security-policy ipv6
[DeviceB-security-policy-ipv6] rule name grelocalin
[DeviceB-security-policy-ipv6-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ipv6-2-grelocalin] destination-zone local
[DeviceB-security-policy-ipv6-2-grelocalin] source-ip-host 2002::1:1
[DeviceB-security-policy-ipv6-2-grelocalin] destination-ip-host 2001::2:1
[DeviceB-security-policy-ipv6-2-grelocalin] action pass
[DeviceB-security-policy-ipv6-2-grelocalin] quit
[DeviceB-security-policy-ipv6] quit
# 查看Device A的Tunnel接口状态。
[DeviceA] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1456
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: 1 bytes/sec, 8 bits/sec, 0 packets/sec
Last 300 seconds output rate: 1 bytes/sec, 8 bits/sec, 0 packets/sec
Input: 10 packets, 840 bytes, 0 drops
Output: 10 packets, 840 bytes, 0 drops
# 查看Device B的Tunnel接口状态。
[DeviceB] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1456
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: 1 bytes/sec, 8 bits/sec, 0 packets/sec
Last 300 seconds output rate: 1 bytes/sec, 8 bits/sec, 0 packets/sec
Input: 10 packets, 840 bytes, 0 drops
Output: 10 packets, 840 bytes, 0 drops
# 从Device B可以Ping通Device A上GigabitEthernet1/0/1接口的地址。
[DeviceB] 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-9所示,Tunnel两端接口配置正确且Tunnel两端可以ping通,但Host A和Host B之间却无法ping通。
图1-9 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隧道。
· 维护代价小。增加分支机构时,中心节点会动态学习到新增分支机构的地址,并与其建立隧道,无需手工配置。
· 分支机构接入方式灵活。中心节点动态学习隧道的目的地址,分支机构是否动态获取公网地址(如采用ADSL等拨号方式接入网络)对中心节点的配置没有影响。
· 对于分支机构使用的网关设备没有特殊要求,只要支持GRE协议,不需要特殊的协议或者私有协议来配合使用,具有较好的互通性,避免用户网络设备的重复投资。
· 支持分支机构和中心节点的GRE隧道备份,提高网络的可靠性。
点到多点GRE隧道的报文加解封装的过程与点到点GRE隧道相同。
通过点到多点GRE隧道转发报文时,设备根据报文的目的IP地址,在点到多点GRE隧道表项中查找对应的隧道目的IP地址,使用此地址作为GRE封装传输协议报文头的目的IP地址。
点到多点GRE隧道表项分为点到多点GRE隧道动态表项和点到多点GRE隧道静态表项,两者不能同时存在。
如图2-2所示,配置了点到多点GRE隧道接口的设备(Device A)接收到对端设备(Device B)发送的GRE报文后,从该报文中获取传输协议报文头的源IP地址和乘客协议报文头的源IP地址,分别作为隧道的目的IP地址和报文的目的IP地址(即分支网络的私网地址),建立一条点到多点GRE隧道动态表项。
图2-2 动态建立GRE隧道表项
点到多点GRE隧道动态表项的建立需要由分支网络的GRE报文触发,如果没有收到分支网络的GRE报文,则无法在中心节点上建立点到多点GRE隧道动态表项,为解决此问题,用户可以配置点到多点GRE隧道静态表项,静态表项包括隧道的目的IPv4地址、报文的目的IPv4地址(即分支网络的私网地址)和分支网络所属的VPN实例。
目前仅支持配置点到多点GRE隧道的IPv4静态表项。
点到多点GRE隧道支持在中心节点和分支网络之间建立多条GRE隧道,形成备份关系,提高网络的可靠性。根据备份节点的部署位置不同,可以分为分支机构的GRE隧道备份和中心节点的GRE隧道备份。
如图2-3所示,分支机构内部署多台网关设备,与中心节点之间分别建立点到多点GRE隧道。
图2-3 分支机构的GRE隧道备份
在分支机构的网关设备上创建GRE隧道时,可以设置GRE Key。中心节点根据分支机构发送的GRE报文创建点到多点GRE隧道动态表项,并从该GRE报文中获取GRE Key,记录在点到多点GRE隧道动态表项中。中心节点根据GRE Key来判断点到多点GRE隧道动态表项的优先级,并根据优先级最高的点到多点GRE隧道动态表项转发报文,优先级低的点到多点GRE隧道动态表项作为备份。
点到多点GRE隧道动态表项优先级的判断原则为:
· 未记录GRE Key的表项优先级最高;
· 记录了GRE Key的表项,Key值越小优先级越高;
· 当表项GRE Key相同时,最新学到的表项优先级高。
如图2-4所示,中心节点部署了两台网关设备,网关设备均与分支机构的网关设备建立点到多点的GRE隧道,同时两台网关设备之间建立GRE over IPv4/IPv6模式的隧道。主设备上的GRE over IPv4/IPv6模式的隧道接口作为备份接口。
图2-4 中心节点的GRE隧道备份
当主设备与分支机构之间的链路出现故障时,发送给分支机构的报文在主设备上查找不到匹配的点到多点GRE隧道动态表项,主设备通过备份接口把该报文发送给备份设备(Device B),由备份设备将报文发送到分支机构。
当主设备上存在点到多点GRE隧道动态表项时,备份接口也可以参与转发隧道的选择,根据优先级决定是否采用备份接口转发报文。如果没有为备份接口配置GRE Key,则其优先级低于所有的点到多点隧道动态表项;如果为备份接口配置了GRE Key,则与点到多点隧道动态表项中记录的GRE Key比较,Key值小的优先级高。
关于interface tunnel、source和tunnel discard ipv4-compatible-packet命令以及Tunnel接口下更多配置命令的详细介绍,请参见“VPN配置指导”和“VPN命令参考”中的“隧道”。
· 在同一设备上配置多个点到多点GRE隧道时,各Tunnel接口不能配置完全相同的源端地址。
· GRE隧道和点到多点GRE隧道不能配置相同的源端地址和目的端地址。
· 中心节点的点到多点GRE隧道接口上不能配置GRE Key。
· 中心节点的网关设备可以根据各个分支设备的内网网段,只建立一个隧道动态表项,从而降低中心设备的资源消耗。
· 点到多点GRE隧道组网中,分支网络之间无法建立隧道,不能通信。
· 在分支节点上,需要将GRE over IPv4/IPv6隧道的目的端地址配置为点到多点GRE隧道接口的源端地址。
· Tunnel接口上配置的隧道目的端地址不能与Tunnel接口的地址在同一网段。
· 在分支节点的网关设备上创建GRE隧道时,可以设置GRE Key,中心节点根据GRE Key来判断点到多点GRE隧道动态表项的优先级。
· 隧道两端可以根据各自的实际应用需要决定是否要开启GRE报文校验和功能。如果本端开启了GRE报文校验和功能,则会在发送的报文中携带校验和信息,由对端来对报文进行校验和验证。对端是否对收到的报文进行校验和验证,取决于报文中是否携带校验和信息,与对端的配置无关。
· 如果封装前报文的目的地址与Tunnel接口的地址不在同一个网段,则必须配置通过Tunnel接口到达报文目的地址的路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,指定到达报文目的地址的路由出接口为本端Tunnel接口;也可以配置动态路由,在Tunnel接口、与私网相连的接口上分别使能动态路由协议,由动态路由协议来建立通过Tunnel接口转发的路由表项。
· 基于点到多点GRE隧道动态表项的GRE隧道不支持转发私网流量。
点到多点GRE隧道配置任务如下:
请根据实际组网,选择以下一项任务进行配置:
(1) 进入系统视图。
system-view
(2) 创建模式为点到多点GRE隧道的Tunnel接口,并进入该Tunnel接口视图。
interface tunnel number mode gre-p2mp [ ipv6 ]
此模式下,传输协议和乘客协议支持IPv4和IPv6。
对端设备的隧道接口应该配置为GRE over IPv4/IPv6隧道模式。
(3) 根据乘客协议,设置Tunnel接口的IP地址。
(IPv4网络)
IPv4地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IP地址”。
(IPv6网络)
IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
缺省情况下,Tunnel接口上未设置IP地址。
(4) 设置隧道的源端地址或源接口。
source { ipv4-address | ipv6-address | interface-type interface-number }
缺省情况下,未配置隧道的源端地址和源接口。
如果配置的是隧道的源端地址,则该地址将作为封装后隧道报文的源地址。
如果配置的是隧道的源接口,对于IPv4地址,该接口的主IP地址将作为封装后隧道报文的源IP地址;对于IPv6地址则该接口下的最小地址将作为封装后隧道报文的源IPv6地址。
(5) (可选)开启GRE报文校验和功能。
gre checksum
缺省情况下,GRE报文校验和功能处于关闭状态。
(6) (可选)配置点到多点GRE隧道的表项老化时间。
gre p2mp aging-time aging-time
缺省情况下,点到多点模式的GRE隧道的表项老化时间为5秒。
(7) (可选)配置点到多点GRE隧道Tunnel接口的备份接口。
gre p2mp backup-interface tunnel number
缺省情况下,未配置点到多点GRE隧道Tunnel接口的备份接口。
备份接口应为GRE over IPv4/IPv6模式的隧道接口,且指定的备份接口必须是已经存在的隧道接口。
(8) (可选)配置点到多点GRE隧道动态表项中分支内网IPv4地址掩码或IPv6地址的前缀。
gre p2mp branch-network-mask { mask | mask-length | ipv6 prefix-length }
缺省情况下,分支内网IPv4地址的掩码为255.255.255.255,即掩码长度为32;分支内网IPv6地址的前缀长度为128。
通过合理的规划各个分支设备的内网网段,使用此命令可以使得中心设备对应于每个分支设备只建立一个隧道动态表项,从而降低中心设备的资源消耗。
(9) (可选)开启下一跳主机路由学习功能。
gre p2mp nexthop-learning
缺省情况下,下一跳主机路由学习功能处于关闭状态。
仅隧道模式为点到多点的GRE over IPv4隧道的Tunnel接口支持本功能。
(10) 退回系统视图。
quit
(11) (可选)配置丢弃含有IPv4兼容IPv6地址的IPv6报文。
tunnel discard ipv4-compatible-packet
缺省情况下,不会丢弃含有IPv4兼容IPv6地址的IPv6报文。
(1) 进入系统视图。
system-view
(2) 创建GRE P2MP隧道模板,并进入GRE P2MP隧道模板视图。
gre p2mp-template template-name
(3) 配置GRE P2MP隧道的映射表项。
map [ vpn-instance vpn-instance-name ] 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业务配置指导”中的“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报文校验和功能处于关闭状态。
(10) (可选)配置GRE P2MP隧道模板映射表项下发静态路由的优先级。
tunnel route-static [ preference preference-value ]
缺省情况下,隧道表项下发静态路由优先级为60,参数preference取值范围为1~255。
在完成上述配置后,在任意视图下执行display命令可以显示配置后点到多点GRE隧道的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除点到多点GRE隧道的相关信息。
表2-1 点到多点GRE隧道的显示和维护
操作 |
命令 |
显示点到多点GRE隧道接口的隧道动态表项信息 |
display gre p2mp tunnel-table interface tunnel number [ ipv4 | ipv6 ] |
显示点到多点GRE隧道静态表项的报文统计信息 |
display gre p2mp tunnel-table statistics interface tunnel number [ vpn-instance vpn-instance-name ] [ branch-network-address branch-network-address { mask | mask-length } ] |
清除点到多点GRE隧道动态表项信息 |
reset gre p2mp tunnel-table interface tunnel number [ destination { dest-address | ipv6 dest-ipv6-address } tunnel-destination { tunnel-dest-address | ipv6 unnel-dest-address } ] |
清除点到多点GRE隧道静态表项的报文统计信息 |
reset gre p2mp tunnel-table statistics interface tunnel number [ vpn-instance vpn-instance-name ] [ branch-network-address branch-network-address { mask | mask-length } ] |
某企业拥有一个中心网络和众多分支机构;分支机构和中心网络之间建立GRE隧道,实现隧道两侧内网主机互通;分支机构之间不会互相访问。如图2-5所示,为了简化配置,在中心节点网关设备Device A上配置点到多点GRE隧道接口,使中心节点网络可以与多个分支网络动态建立GRE隧道。在各分支节点上配置GRE over IPv4隧道接口,使分支网络可以和中心网络建立GRE隧道。
图2-5 基本点到多点GRE隧道配置组网图
设备 |
接口 |
IP地址 |
安全域 |
Device A |
GE1/0/1 |
11.1.1.1/24 |
Untrust |
GE1/0/2 |
192.168.11.1/24 |
Trust |
|
Tunnel0 |
192.168.22.1/24 |
Untrust |
|
Device B |
GE1/0/1 |
11.1.2.2/24 |
Untrust |
GE1/0/2 |
192.168.12.1/24 |
Trust |
|
Tunnel0 |
192.168.22.2/24 |
Untrust |
|
Device C |
GE1/0/1 |
11.1.3.3/24 |
Untrust |
GE1/0/2 |
192.168.13.1/24 |
Trust |
|
Tunnel0 |
192.168.22.3/24 |
Untrust |
本举例中仅以一个分支节点网关设备Device B为例说明分支节点的配置方法,其他分支节点的配置与Device B上的配置类似。
(1) 配置Device A
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 11.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel0接口,并指定隧道模式为点到多点GRE隧道。
[DeviceA] interface tunnel 0 mode gre-p2mp
[DeviceA-Tunnel0] ip address 192.168.22.1 255.255.255.0
[DeviceA-Tunnel0] source 11.1.1.1
[DeviceA-Tunnel0] gre p2mp branch-network-mask 255.255.255.0
[DeviceA-Tunnel0] gre p2mp aging-time 20
[DeviceA-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceA] ip route-static 11.1.2.2 24 11.1.1.2
[DeviceA] ip route-static 192.168.12.0 255.255.255.0 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name Untrust
[DeviceA-security-zone-Untrust] import interface Tunnel 0
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name Trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device B发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-1-grelocalout] source-zone local
[DeviceA-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 11.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 192.168.22.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 192.168.11.1
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 11.1.2.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.12.1
[DeviceA-security-policy-ip-1-grelocalout] action pass
[DeviceA-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device B的报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule name grelocalin
[DeviceA-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ip-2-grelocalin] destination-zone local
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 11.1.2.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.12.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 11.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 192.168.22.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 192.168.11.1
[DeviceA-security-policy-ip-2-grelocalin] action pass
[DeviceA-security-policy-ip-2-grelocalin] quit
[DeviceA-security-policy-ip] quit
(2) 配置Device B
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 11.1.2.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceB] interface tunnel 0 mode gre
[DeviceB-Tunnel0] ip address 192.168.22.2 255.255.255.0
[DeviceB-Tunnel0] source 11.1.2.2
[DeviceB-Tunnel0] destination 11.1.1.1
[DeviceB-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.2.3,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceB] ip route-static 11.1.1.1 24 11.1.2.3
[DeviceB] ip route-static 192.168.11.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name Untrust
[DeviceB-security-zone-Untrust] import interface Tunnel 0
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name Trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device A发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalout
[DeviceB-security-policy-ip-1-grelocalout] source-zone local
[DeviceB-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 11.1.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 192.168.22.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 192.168.12.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 11.1.1.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 192.168.11.1
[DeviceB-security-policy-ip-1-grelocalout] action pass
[DeviceB-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ip-2-grelocalin] destination-zone local
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 11.1.1.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 192.168.11.1
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 11.1.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 192.168.22.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 192.168.12.1
[DeviceB-security-policy-ip-2-grelocalin] action pass
[DeviceB-security-policy-ip-2-grelocalin] quit
[DeviceB-security-policy-ip] quit
# 完成以上配置后,查看Device A上的点到多点GRE隧道表项。此时Device A上不存在点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:0
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
# 在Host B上Ping Host A,可以Ping通。
# 再次查看Device A上的点到多点GRE隧道表项。此时,分支节点发往中心节点的报文已经触发Device A建立点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:1
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.12.0 255.255.255.0 11.1.2.2 5
某企业中心机构在内网出口处采用双网关进行备份,企业分支节点Device C上创建两条GRE隧道,一条与中心节点网关Device A相连,另一条与中心节点的备份网关Device B相连。正常情况下,报文通过Device A和Device C之间的隧道转发;当Device A和Device C之间的链路出现故障时,报文通过Device B和Device C之间的隧道转发。
为了满足上述需求,需要在Device A和Device B上分别创建连接分支网络的点到多点GRE隧道,并在Device A和Device B之间创建一条GRE over IPv4隧道。Device A上该GRE over IPv4隧道接口作为点到多点GRE隧道接口的备份接口,当Device A找不到分支网络对应的点到多点GRE隧道表项时,将报文发给Device B,由Device B负责将报文转发给分支网络。
为了避免出现环路,在Device B上不要将连接Device A的隧道接口Tunnel1配置为点到多点GRE隧道接口的备份接口。
图2-6 中心节点备份的点到多点GRE隧道配置组网图
设备 |
接口 |
IP地址 |
安全域 |
Device A |
GE1/0/1 |
11.1.1.1/24 |
Untrust |
GE1/0/2 |
10.1.1.1/24 |
Trust |
|
GE1/0/3 |
192.168.11.1/24 |
Trust |
|
Tunnel0 |
172.168.1.1/24 |
Untrust |
|
Tunnel1 |
192.168.22.1/24 |
Trust |
|
Device B |
GE1/0/1 |
11.1.2.2/24 |
Untrust |
GE1/0/2 |
10.1.1.2/24 |
Trust |
|
GE1/0/3 |
192.168.11.2/24 |
Trust |
|
Tunnel0 |
172.168.2.2/24 |
Untrust |
|
Tunnel1 |
192.168.22.2/24 |
Trust |
|
Device C |
GE1/0/1 |
11.1.3.3/24 |
Untrust |
GE1/0/2 |
192.168.12.1/24 |
Trust |
|
Tunnel0 |
172.168.1.3/24 |
Untrust |
|
Tunnel1 |
172.168.2.3/24 |
Untrust |
(1) 配置Device A
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 11.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel1接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceA] interface tunnel 1 mode gre
[DeviceA-Tunnel1] ip address 192.168.22.1 255.255.255.0
[DeviceA-Tunnel1] source 10.1.1.1
[DeviceA-Tunnel1] destination 10.1.1.2
[DeviceA-Tunnel1] quit
# 创建Tunnel0接口,并指定隧道模式为点到多点GRE隧道。
[DeviceA] interface tunnel 0 mode gre-p2mp
[DeviceA-Tunnel0] ip address 172.168.1.1 255.255.255.0
[DeviceA-Tunnel0] source 11.1.1.1
[DeviceA-Tunnel0] gre p2mp branch-network-mask 255.255.255.0
[DeviceA-Tunnel0] gre p2mp aging-time 20
[DeviceA-Tunnel0] gre p2mp backup-interface tunnel 1
[DeviceA-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceA] ip route-static 11.1.3.3 24 11.1.1.2
[DeviceA] ip route-static 192.168.12.0 255.255.255.0 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name Untrust
[DeviceA-security-zone-Untrust] import interface Tunnel 0
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name Trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] import interface Tunnel 1
[DeviceA-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device C发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-1-grelocalout] source-zone local
[DeviceA-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 11.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 172.168.1.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 192.168.11.1
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 11.1.3.3
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 172.168.1.3
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.12.1
[DeviceA-security-policy-ip-1-grelocalout] action pass
[DeviceA-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device C的报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule name grelocalin
[DeviceA-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ip-2-grelocalin] destination-zone local
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 11.1.3.3
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 172.168.1.3
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.12.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 11.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 172.168.1.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 192.168.11.1
[DeviceA-security-policy-ip-2-grelocalin] action pass
[DeviceA-security-policy-ip-2-grelocalin] quit
[DeviceA-security-policy-ip] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device B发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-3-grelocalout] source-zone local
[DeviceA-security-policy-ip-3-grelocalout] destination-zone trust
[DeviceA-security-policy-ip-3-grelocalout] source-ip-host 10.1.1.1
[DeviceA-security-policy-ip-3-grelocalout] source-ip-host 192.168.22.1
[DeviceA-security-policy-ip-3-grelocalout] source-ip-host 192.168.11.1
[DeviceA-security-policy-ip-3-grelocalout] destination-ip-host 10.1.1.2
[DeviceA-security-policy-ip-3-grelocalout] destination-ip-host 192.168.22.2
[DeviceA-security-policy-ip-3-grelocalout] destination-ip-host 192.168.12.1
[DeviceA-security-policy-ip-3-grelocalout] action pass
[DeviceA-security-policy-ip-3-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device B的报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule 4 name grelocalin
[DeviceA-security-policy-ip-4-grelocalin] source-zone trust
[DeviceA-security-policy-ip-4-grelocalin] destination-zone local
[DeviceA-security-policy-ip-4-grelocalin] source-ip-host 10.1.1.2
[DeviceA-security-policy-ip-4-grelocalin] source-ip-host 192.168.22.2
[DeviceA-security-policy-ip-4-grelocalin] source-ip-host 192.168.12.1
[DeviceA-security-policy-ip-4-grelocalin] destination-ip-host 10.1.1.1
[DeviceA-security-policy-ip-4-grelocalin] destination-ip-host 192.168.22.1
[DeviceA-security-policy-ip-4-grelocalin] destination-ip-host 192.168.11.1
[DeviceA-security-policy-ip-4-grelocalin] action pass
[DeviceA-security-policy-ip-4-grelocalin] quit
[DeviceA-security-policy-ip] quit
(2) 配置Device B
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 11.1.2.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 创建Tunnel0接口,并指定隧道模式为点到多点GRE隧道。
[DeviceB] interface tunnel 0 mode gre-p2mp
[DeviceB-Tunnel0] ip address 172.168.2.2 255.255.255.0
[DeviceB-Tunnel0] source 11.1.2.2
[DeviceB-Tunnel0] gre p2mp branch-network-mask 255.255.255.0
[DeviceB-Tunnel0] gre p2mp aging-time 20
[DeviceB-Tunnel0] quit
# 创建Tunnel1接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceB] interface tunnel 1 mode gre
[DeviceB-Tunnel1] ip address 192.168.22.2 255.255.255.0
[DeviceB-Tunnel1] source 10.1.1.2
[DeviceB-Tunnel1] destination 10.1.1.1
[DeviceB-Tunnel1] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.2.3,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceB] ip route-static 11.1.3.3 24 11.1.2.3
[DeviceB] ip route-static 192.168.12.1 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name Untrust
[DeviceB-security-zone-Untrust] import interface Tunnel 0
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name Trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-trust] import interface Tunnel 1
[DeviceB-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device C发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalout
[DeviceB-security-policy-ip-1-grelocalout] source-zone local
[DeviceB-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 11.1.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 172.168.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 192.168.11.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 11.1.3.3
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 172.168.2.3
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 192.168.12.1
[DeviceB-security-policy-ip-1-grelocalout] action pass
[DeviceB-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device C的报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ip-2-grelocalin] destination-zone local
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 11.1.3.3
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 172.168.2.3
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 192.168.12.1
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 11.1.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 172.168.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 192.168.11.1
[DeviceB-security-policy-ip-2-grelocalin] action pass
[DeviceB-security-policy-ip-2-grelocalin] quit
[DeviceB-security-policy-ip] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device A发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalout
[DeviceB-security-policy-ip-3-grelocalout] source-zone local
[DeviceB-security-policy-ip-3-grelocalout] destination-zone trust
[DeviceB-security-policy-ip-3-grelocalout] source-ip-host 10.1.1.2
[DeviceB-security-policy-ip-3-grelocalout] source-ip-host 192.168.22.2
[DeviceB-security-policy-ip-3-grelocalout] source-ip-host 192.168.12.1
[DeviceB-security-policy-ip-3-grelocalout] destination-ip-host 10.1.1.1
[DeviceB-security-policy-ip-3-grelocalout] destination-ip-host 192.168.22.1
[DeviceB-security-policy-ip-3-grelocalout] destination-ip-host 192.168.11.1
[DeviceB-security-policy-ip-3-grelocalout] action pass
[DeviceB-security-policy-ip-3-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-4-grelocalin] source-zone trust
[DeviceB-security-policy-ip-4-grelocalin] destination-zone local
[DeviceB-security-policy-ip-4-grelocalin] source-ip-host 10.1.1.1
[DeviceB-security-policy-ip-4-grelocalin] source-ip-host 192.168.22.1
[DeviceB-security-policy-ip-4-grelocalin] source-ip-host 192.168.11.1
[DeviceB-security-policy-ip-4-grelocalin] destination-ip-host 10.1.1.2
[DeviceB-security-policy-ip-4-grelocalin] destination-ip-host 192.168.22.2
[DeviceB-security-policy-ip-4-grelocalin] destination-ip-host 192.168.12.1
[DeviceB-security-policy-ip-4-grelocalin] action pass
[DeviceB-security-policy-ip-4-grelocalin] quit
[DeviceB-security-policy-ip] quit
(3) 配置Device C
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ip address 11.1.3.3 255.255.255.0
[DeviceC-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
#创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceC] interface tunnel 0 mode gre
[DeviceC-Tunnel0] ip address 172.168.1.3 255.255.255.0
[DeviceC-Tunnel0] source 11.1.3.3
[DeviceC-Tunnel0] destination 11.1.1.1
[DeviceC-Tunnel0] quit
[DeviceC] ip route-static 192.168.11.0 255.255.255.0 tunnel 0 preference 1
# 创建Tunnel1接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceC] interface tunnel 1 mode gre
[DeviceC-Tunnel1] ip address 172.168.2.3 255.255.255.0
[DeviceC-Tunnel1] source 11.1.3.3
[DeviceC-Tunnel1] destination 11.1.2.2
[DeviceC-Tunnel1] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.3.4,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceC] ip route-static 11.1.1.1 24 11.1.3.4
[DeviceC] ip route-static 11.1.2.2 24 11.1.3.4
[DeviceC] ip route-static 192.168.11.0 255.255.255.0 tunnel 0 preference 1
[DeviceC] ip route-static 192.168.11.0 255.255.255.0 tunnel 1 preference 10
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceC] security-zone name Untrust
[DeviceC-security-zone-Untrust] import interface Tunnel 0
[DeviceC-security-zone-Untrust] import interface Tunnel 1
[DeviceC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceC-security-zone-Untrust] quit
[DeviceC] security-zone name Trust
[DeviceC-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceC-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device C可以向Device A和Device B发送报文,具体配置步骤如下。
[DeviceC] security-policy ip
[DeviceC-security-policy-ip] rule name grelocalout
[DeviceC-security-policy-ip-1-grelocalout] source-zone local
[DeviceC-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 11.1.3.3
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 172.168.1.3
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 172.168.2.3
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 192.168.12.1
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 11.1.1.1
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 11.1.2.2
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 172.168.1.1
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.2
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 192.168.11.1
[DeviceC-security-policy-ip-1-grelocalout] action pass
[DeviceC-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device C可以接收和处理来自Device A和Device B的报文,具体配置步骤如下。
[DeviceC-security-policy-ip] rule name grelocalin
[DeviceC-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceC-security-policy-ip-2-grelocalin] destination-zone local
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 11.1.1.1
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 11.1.2.2
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 172.168.1.1
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.2
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 192.168.11.1
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 11.1.3.3
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 172.168.1.3
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 172.168.2.3
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 192.168.12.1
[DeviceC-security-policy-ip-2-grelocalin] action pass
[DeviceC-security-policy-ip-2-grelocalin] quit
[DeviceC-security-policy-ip] quit
Device A和Device C之间的链路出现故障时,Device C必须能够感知到该故障,并将转发报文的路径切换到Device B和Device C之间的链路上,否则Device B无法学习到点到多点GRE隧道表项。
如果Device A和Device C之间直连,则在Device C上配置静态路由即可保证Device C能够感知链路故障;如果Device A和Device C之间非直连,则需要采用以下两种方式之一使得Device C能够感知链路故障:
· 在Device A、Device B和Device C上配置动态路由协议。
· 在Device C上配置静态路由与Track项关联,通过Track项监测静态路由是否有效。Track项的详细介绍,请参见“网络管理和监控配置指导”中的“Track”。
# 完成以上配置后,在Host C上Ping Host A,可以Ping通。查看Device A和Device B 上的点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:1
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.12.0 255.255.255.0 11.1.3.3 10
以上显示信息表示Device A上存在到达分支网络的点到多点GRE隧道表项,发往分支网络的报文通过Device A转发。
# 使Device A到Device C的隧道中断。
[DeviceC] interface tunnel 0
[DeviceC-Tunnel0] shutdown
[DeviceC-Tunnel0] quit
# 经过点到多点GRE隧道表项老化时间(20秒)后,查看Device A上的点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:0
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
# 在Host C上Ping Host A。查看Device B上的点到多点GRE隧道表项。
[DeviceB] display gre p2mp tunnel-table interface tunnel 0
Total number:1
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.12.0 255.255.255.0 11.1.3.3 10
此后,在Host A上Ping Host C,可以Ping通。
以上验证过程表示Device A和Device C之间的链路出现故障后,Device A上的点到多点GRE隧道表项在老化时间到达后被删除,Device A通过备份接口将发往分支网络的报文转发给Device B,由Device B将报文发送到分支网络。
某企业分支机构在内网出口处采用双网关进行备份,企业中心节点Device A上配置点到多点GRE隧道接口,使得Device A可以与分支机构建立两条GRE隧道:一条与分支网络网关Device B相连,另一条与分支网络的备份网关Device C相连。中心节点Device A能够根据GRE Key决定通过哪条GRE隧道向分支网络内的主机发送报文。
为了满足上述需求,需要在Device B和Device C上分别为GRE隧道配置不同的GRE Key,以便Device A根据GRE Key选择优先级高的隧道转发报文。
本例中,要求Device A优先通过与Device B连接的GRE隧道向分支网络内的主机发送报文。
图2-7 分支节点备份的点到多点GRE隧道配置组网图
设备 |
接口 |
IP地址 |
安全域 |
Device A |
GE1/0/1 |
11.1.1.1/24 |
Untrust |
GE1/0/2 |
172.17.17.1/24 |
Trust |
|
Tunnel0 |
192.168.22.1/24 |
Untrust |
|
Device B |
GE1/0/1 |
11.1.2.2/24 |
Untrust |
GE1/0/2 |
192.168.1.2/24 |
Trust |
|
Tunnel0 |
192.168.22.2/24 |
Untrust |
|
Device C |
GE1/0/1 |
11.1.3.3/24 |
Untrust |
GE1/0/2 |
192.168.1.3/24 |
Trust |
|
Tunnel0 |
192.168.22.3/24 |
Untrust |
(1) 配置Device A
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 11.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface GigabitEthernet1/0/2
[DeviceA-GigabitEthernet1/0/2] ip address 172.17.17.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/2] quit
# 创建Tunnel0接口,并指定隧道模式为点到多点GRE隧道。
[DeviceA] interface tunnel 0 mode gre-p2mp
[DeviceA-Tunnel0] ip address 192.168.22.1 255.255.255.0
[DeviceA-Tunnel0] gre p2mp branch-network-mask 255.255.255.0
[DeviceA-Tunnel0] gre p2mp aging-time 20
[DeviceA-Tunnel0] source 11.1.1.1
[DeviceA-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceA] ip route-static 11.1.2.2 24 11.1.1.2
[DeviceA] ip route-static 11.1.3.3 24 11.1.1.2
[DeviceA] ip route-static 192.168.1.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name Untrust
[DeviceA-security-zone-Untrust] import interface Tunnel 0
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name Trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device A可以向Device B和Device C发送报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name grelocalout
[DeviceA-security-policy-ip-1-grelocalout] source-zone local
[DeviceA-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 11.1.1.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 192.168.22.1
[DeviceA-security-policy-ip-1-grelocalout] source-ip-host 172.17.17.1
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 11.1.2.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 11.1.3.3
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.3
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.1.2
[DeviceA-security-policy-ip-1-grelocalout] destination-ip-host 192.168.1.3
[DeviceA-security-policy-ip-1-grelocalout] action pass
[DeviceA-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device A可以接收和处理来自Device B和Device C的报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule name grelocalin
[DeviceA-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceA-security-policy-ip-2-grelocalin] destination-zone local
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 11.1.2.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 11.1.3.3
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.3
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.1.2
[DeviceA-security-policy-ip-2-grelocalin] source-ip-host 192.168.1.3
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 11.1.1.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 192.168.22.1
[DeviceA-security-policy-ip-2-grelocalin] destination-ip-host 172.17.17.1
[DeviceA-security-policy-ip-2-grelocalin] action pass
[DeviceA-security-policy-ip-2-grelocalin] quit
[DeviceA-security-policy-ip] quit
(2) 配置Device B
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 11.1.2.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface GigabitEthernet1/0/2
[DeviceB-GigabitEthernet1/0/2] ip address 192.168.1.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/2] quit
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceB] interface tunnel 0 mode gre
[DeviceB-Tunnel0] ip address 192.168.22.2 255.255.255.0
[DeviceB-Tunnel0] source 11.1.2.2
[DeviceB-Tunnel0] destination 11.1.1.1
[DeviceB-Tunnel0] gre key 1
[DeviceB-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.2.3,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceB] ip route-static 11.1.1.1 24 11.1.2.3
[DeviceB] ip route-static 172.17.17.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name Untrust
[DeviceB-security-zone-Untrust] import interface Tunnel 0
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name Trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device B可以向Device A发送报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name grelocalout
[DeviceB-security-policy-ip-1-grelocalout] source-zone local
[DeviceB-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 11.1.2.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 192.168.22.2
[DeviceB-security-policy-ip-1-grelocalout] source-ip-host 192.168.1.2
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 11.1.1.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.1
[DeviceB-security-policy-ip-1-grelocalout] destination-ip-host 172.17.17.1
[DeviceB-security-policy-ip-1-grelocalout] action pass
[DeviceB-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device B可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name grelocalin
[DeviceB-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceB-security-policy-ip-2-grelocalin] destination-zone local
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 11.1.1.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.1
[DeviceB-security-policy-ip-2-grelocalin] source-ip-host 172.17.17.1
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 11.1.2.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 192.168.22.2
[DeviceB-security-policy-ip-2-grelocalin] destination-ip-host 192.168.1.2
[DeviceB-security-policy-ip-2-grelocalin] action pass
[DeviceB-security-policy-ip-2-grelocalin] quit
[DeviceB-security-policy-ip] quit
(3) 配置Device C
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ip address 11.1.3.3 255.255.255.0
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface GigabitEthernet1/0/2
[DeviceC-GigabitEthernet1/0/2] ip address 192.168.1.3 255.255.255.0
[DeviceC-GigabitEthernet1/0/2] quit
# 创建Tunnel0接口,并指定隧道模式为GRE over IPv4隧道。
[DeviceC] interface tunnel 0 mode gre
[DeviceC-Tunnel0] ip address 192.168.22.3 255.255.255.0
[DeviceC-Tunnel0] source 11.1.3.3
[DeviceC-Tunnel0] destination 11.1.1.1
[DeviceC-Tunnel0] gre key 2
[DeviceC-Tunnel0] quit
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为11.1.3.4,实际使用中请以具体组网情况为准,具体配置步骤如下。本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
[DeviceC] ip route-static 11.1.1.1 24 11.1.3.4
[DeviceC] ip route-static 172.17.17.0 24 tunnel 0
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceC] security-zone name Untrust
[DeviceC-security-zone-Untrust] import interface Tunnel 0
[DeviceC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceC-security-zone-Untrust] quit
[DeviceC] security-zone name Trust
[DeviceC-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceC-security-zone-Trust] quit
# 配置名称为grelocalout的安全策规则,使Device C可以向Device A发送报文,具体配置步骤如下。
[DeviceC] security-policy ip
[DeviceC-security-policy-ip] rule name grelocalout
[DeviceC-security-policy-ip-1-grelocalout] source-zone local
[DeviceC-security-policy-ip-1-grelocalout] destination-zone untrust
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 11.1.3.3
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 192.168.22.3
[DeviceC-security-policy-ip-1-grelocalout] source-ip-host 192.168.1.3
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 11.1.1.1
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 192.168.22.1
[DeviceC-security-policy-ip-1-grelocalout] destination-ip-host 172.17.17.1
[DeviceC-security-policy-ip-1-grelocalout] action pass
[DeviceC-security-policy-ip-1-grelocalout] quit
# 配置名称为grelocalin的安全策略规则,使Device C可以接收和处理来自Device A的报文,具体配置步骤如下。
[DeviceC-security-policy-ip] rule name grelocalin
[DeviceC-security-policy-ip-2-grelocalin] source-zone untrust
[DeviceC-security-policy-ip-2-grelocalin] destination-zone local
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 11.1.1.1
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 192.168.22.1
[DeviceC-security-policy-ip-2-grelocalin] source-ip-host 172.17.17.1
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 11.1.3.3
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 192.168.22.3
[DeviceC-security-policy-ip-2-grelocalin] destination-ip-host 192.168.1.3
[DeviceC-security-policy-ip-2-grelocalin] action pass
[DeviceC-security-policy-ip-2-grelocalin] quit
[DeviceC-security-policy-ip] quit
# 在Host B上配置Device C为默认网关。在Host B上Ping Host A,可以Ping通。查看Device A上的点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:1
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.1.0 255.255.255.0 11.1.3.3 2 20
# 在Host B上配置Device B为默认网关。在Host B上Ping Host A,可以Ping通。查看Device A上的点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:2
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.1.0 255.255.255.0 11.1.3.3 2 20
192.168.1.0 255.255.255.0 11.1.2.2 1 20
以上显示信息表示Device A上存在两条到达分支网络的点到多点GRE隧道表项,Device A优先选择GRE Key值小的点到多点GRE隧道表项,即通过Device B转发报文。
# 使Device A到Device B的隧道中断。
[DeviceB] interface tunnel 0
[DeviceB-Tunnel0] shutdown
# 将Host B的默认网关配置为Device C。Device B对应的点到多点GRE隧道表项老化后,在Host B上Ping Host A,仍然可以Ping通。查看Device A上的点到多点GRE隧道表项。
[DeviceA] display gre p2mp tunnel-table interface tunnel 0
Total number:1
Dest Addr Mask/Prefix Len Tunnel Dest Addr Gre Key Aging
192.168.1.0 255.255.255.0 11.1.3.3 2 10
以上显示信息表示Device A和Device B之间的链路出现故障后,Device A上只存在通过Device C将报文发送到分支网络的点到多点GRE隧道表项。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!