• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

05-网络互通配置指导

目录

23-隧道配置

本章节下载 23-隧道配置  (310.29 KB)

23-隧道配置


1 隧道

说明

本章仅介绍隧道接口的配置,有关隧道模式的介绍请参见后续章节。

1.1  隧道简介

隧道技术是一种封装技术,即一种网络协议将其他网络协议的数据报文封装在自己的报文中,然后在网络中传输。封装后的数据报文在网络中传输的路径,称为隧道。隧道是一条虚拟的点对点连接,隧道的两端需要对数据报文进行封装及解封装。隧道技术就是指包括数据封装、传输和解封装在内的全过程。

1.2  支持的隧道技术

目前支持的隧道技术包括:

·     GRE(Generic Routing Encapsulation,通用路由封装)隧道,GRE的相关介绍和配置请参见“网络互通配置指导”中的“GRE”。

·     IPv6 over IPv4隧道。

1.3  隧道配置限制和指导

同一台设备上,多个Tunnel接口不要同时配置完全相同的目的端地址和源端地址。

 

 

 

 

1.4  配置Tunnel接口

1.4.1  功能简介

隧道两端的设备上,需要创建虚拟的三层接口,即Tunnel接口,以便隧道两端的设备利用Tunnel接口发送报文、识别并处理来自隧道的报文。

1.4.2  Tunnel接口配置任务简介

Tunnel接口配置任务如下:

(1)     创建Tunnel接口

(2)     (可选)配置封装后隧道报文的属性

(3)     (可选)恢复当前Tunnel接口的缺省配置

1.4.3  创建Tunnel接口

(1)     进入系统视图。

system-view

(2)     创建Tunnel接口,指定隧道模式,并进入Tunnel接口视图。

interface tunnel number mode { gre [ ipv6 ] | ipv6-ipv4 [ isatap ] }

在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败。

(3)     设置隧道的源端地址或源接口。

source { ipv4-address | ipv6-address | interface-type interface-number }

缺省情况下,未设置隧道的源端地址和源接口。

如果设置的是隧道的源端地址,则该地址将作为封装后隧道报文的源IP地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后隧道报文的源IP地址。

(4)     设置隧道的目的端地址。

destination { ipv4-address | ipv6-address }

缺省情况下,未设置隧道的目的端地址。

隧道的目的端地址是对端接收报文的接口的地址,该地址将作为封装后隧道报文的目的地址。

(5)     (可选)配置接口描述信息。

description text

缺省情况下,接口描述信息为“该接口的接口名 Interface”。

(6)     (可选)配置Tunnel接口的MTU值。

mtu size

缺省情况下,隧道接口的状态始终为Down时,隧道的MTU值为64000;隧道接口的状态当前为Up时,隧道的MTU值为根据隧道目的地址查找路由而得到的出接口的MTU值减隧道封装报文头长度。

(7)     (可选)配置Tunnel接口的期望带宽。

bandwidth bandwidth-value

缺省情况下,接口的期望带宽=接口的最大速率÷1000(kbps)。

期望带宽供业务模块使用,不会对接口实际带宽造成影响。

(8)     (可选)开启Tunnel接口。

undo shutdown

缺省情况下,Tunnel接口不处于Administratively DOWN状态。

1.4.4  配置封装后隧道报文的属性

(1)     进入系统视图。

system-view

(2)     进入Tunnel接口视图。

interface tunnel number

(3)     设置封装后隧道报文的ToS。

tunnel tos { copy-inner-tos | tos-value }

缺省情况下,封装后隧道报文的ToS值与封装前原始报文的ToS值相同。

(4)     设置封装后隧道报文的TTL值。

tunnel ttl ttl-value

缺省情况下,封装后隧道报文的TTL值为255。

1.4.5  恢复当前Tunnel接口的缺省配置

1. 配置限制和指导

注意

接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。

 

您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入Tunnel接口视图。

interface tunnel number

(3)     恢复当前接口的缺省配置。

default

1.5  隧道接口显示和维护

在任意视图下执行display命令可以显示隧道配置后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除Tunnel接口的统计信息。

表1-1 隧道显示和维护

操作

命令

显示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

 

1.6  隧道常见故障处理

1.6.1  Tunnel接口未处于up状态

1. 故障现象

在Tunnel接口上配置了相关的参数后(例如隧道的源端地址、目的端地址和隧道模式),Tunnel接口仍未处于up状态。

2. 故障分析

Tunnel接口未处于up状态的原因可能是隧道起点的物理接口没有处于up状态,或隧道的目的端地址不可达。

3. 处理过程

使用display interfacedisplay ipv6 interface命令查看隧道起点的物理接口状态为up还是down。如果物理接口状态是down的,请检查网络连接。

使用display ipv6 routing-tabledisplay ip routing-table命令查看是否目的端地址通过路由可达。如果路由表中没有保证隧道通讯的路由表项,请配置相关路由。


2 IPv6 over IPv4隧道

2.1  IPv6 over IPv4 隧道简介

2.1.1  IPv6 over IPv4隧道原理

图2-1所示,IPv6 over IPv4隧道是在IPv6数据报文前封装上IPv4的报文头,通过隧道使IPv6报文穿越IPv4网络,实现隔离的IPv6网络互通。IPv6 over IPv4隧道两端的设备必须支持IPv4/IPv6双协议栈,即同时支持IPv4协议和IPv6协议。

图2-1 IPv6 over IPv4隧道原理图

 

IPv6 over IPv4隧道对报文的处理过程如下:

(1)     IPv6网络中的主机发送IPv6报文,该报文到达隧道的源端设备Device A。

(2)     Device A根据路由表判定该报文要通过隧道进行转发后,在IPv6报文前封装上IPv4的报文头,通过隧道的实际物理接口将报文转发出去。IPv4报文头中的源IP地址为隧道的源端地址,目的IP地址为隧道的目的端地址。

(3)     封装报文通过隧道到达隧道目的端设备(或称隧道终点)Device B,Device B判断该封装报文的目的地是本设备后,将对报文进行解封装。

(4)     Device B根据解封装后的IPv6报文的目的地址处理该IPv6报文。如果目的地就是本设备,则将IPv6报文转给上层协议处理;否则,查找路由表转发该IPv6报文。

2.1.2  IPv6 over IPv4隧道模式分类

根据隧道终点的IPv4地址的获取方式不同,隧道分为“配置隧道”和“自动隧道”。

·     如果IPv6 over IPv4隧道终点的IPv4地址不能从IPv6报文的目的地址中自动获取,需要进行手工配置,这样的隧道称为“配置隧道”。

·     如果IPv6报文的目的地址中嵌入了IPv4地址,则可以从IPv6报文的目的地址中自动获取隧道终点的IPv4地址,这样的隧道称为“自动隧道”。

根据对IPv6报文的封装方式的不同,IPv6 over IPv4隧道分为以下几种模式。

1. IPv6 over IPv4手动隧道

IPv6 over IPv4手动隧道是点到点之间的链路。建立手动隧道需要在隧道两端手工指定隧道的源端和目的端地址。

手动隧道可以建立在连接IPv4网络和IPv6网络的两个边缘路由器之间,实现隔离的IPv6网络跨越IPv4网络通信;也可以建立在边缘路由器和IPv4/IPv6双栈主机之间,实现隔离的IPv6网络跨越IPv4网络与双栈主机通信。

2. ISATAP隧道

ISATAP隧道是点到多点的自动隧道技术,为IPv6主机通过IPv4网络接入IPv6网络提供了一个较好的解决方案。

使用ISATAP隧道时,IPv6报文的目的地址要采用特殊的ISATAP地址。ISATAP地址格式为:Prefix:0:5EFE:abcd:efgh/64。其中,64位的Prefix为任何合法的IPv6单播地址前缀;abcd:efgh为用16进制表示的32位IPv4地址(如1.1.1.1可以表示为0101:0101),该IPv4地址不要求全球唯一。通过ISATAP地址中嵌入的IPv4地址可以自动确定隧道的终点,使隧道的建立非常方便。

ISATAP隧道主要用于跨越IPv4网络在IPv6主机与边缘路由器之间、两个边缘路由器之间建立连接。

图2-2 ISATAP隧道原理图

 

2.2  IPv6 over IPv4隧道配置任务简介

IPv6 over IPv4隧道配置任务如下:

(1)     配置IPv6 over IPv4隧道

请选择以下一项任务进行配置:

¡     配置IPv6 over IPv4手动隧道

¡     配置ISATAP隧道

2.3  配置IPv6 over IPv4手动隧道

2.3.1  配置限制和指导

·     在本端设备上为隧道指定的目的端地址,应该与在对端设备上为隧道指定的源端地址相同;在本端设备上为隧道指定的源端地址,应该与在对端设备上为隧道指定的目的端地址相同。

·     在同一台设备上,隧道模式相同的Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

·     如果封装前IPv6报文的目的IPv6地址与Tunnel接口的IPv6地址不在同一个网段,则必须配置通过Tunnel接口到达目的IPv6地址的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,指定到达目的IPv6地址的路由出接口为本端Tunnel接口或下一跳为对端Tunnel接口地址。用户也可以配置动态路由,在Tunnel接口使能动态路由协议。在隧道的两端都要进行此项配置,配置的详细情况请参见“网络互通配置指导”中的“IPv6静态路由”或其他路由协议配置。

2.3.2  配置步骤

(1)     进入系统视图。

system-view

(2)     进入模式为IPv6 over IPv4手动隧道的Tunnel接口视图。

interface tunnel number [ mode ipv6-ipv4 ]

(3)     设置Tunnel接口的IPv6地址。

详细配置方法,请参见“网络互通配置指导”中的“IPv6基础”。

(4)     设置隧道的源端地址或源接口。

source { ipv4-address | interface-type interface-number }

缺省情况下,未设置隧道的源端地址和源接口。

如果设置的是隧道的源端地址,则该地址将作为封装后隧道报文的源IP地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后隧道报文的源IP地址。

(5)     设置隧道的目的端地址。

destination ipv4-address

缺省情况下,未设置隧道的目的端地址。

隧道的目的端地址是对端接收报文的接口的地址,该地址将作为封装后隧道报文的目的地址。

(6)     (可选)设置封装后隧道报文的DF(Don’t Fragment,不分片)标志。

tunnel dfbit enable

缺省情况下,未设置隧道报文的不分片标志,即转发隧道报文时允许分片。

2.3.3  IPv6 over IPv4手动隧道典型配置举例

1. 组网需求

图2-3所示,两个IPv6网络分别通过Device A和Device B与IPv4网络连接,要求在Device A和Device B之间建立IPv6 over IPv4隧道,使两个IPv6网络可以互通。由于隧道终点的IPv4地址不能从IPv6报文的目的地址中自动获取,因此,需要配置IPv6 over IPv4手动隧道。

2. 组网图

图2-3 IPv6 over IPv4手动隧道组网图

图2-4

3. 配置步骤

说明

在开始下面的配置之前,请确保Device A和Device B之间IPv4报文路由可达。

 

(1)     配置Device A

# 配置接口GigabitEthernet1/1/2的地址。

<DeviceA> system-view

[DeviceA] interface gigabitethernet 1/1/2

[DeviceA-GigabitEthernet1/1/2] ip address 192.168.100.1 255.255.255.0

[DeviceA-GigabitEthernet1/1/2] quit

# 配置接口GigabitEthernet1/1/1的IPv6地址。

[DeviceA] interface gigabitethernet 1/1/1

[DeviceA-GigabitEthernet1/1/1] ipv6 address 3002::1 64

[DeviceA-GigabitEthernet1/1/1] quit

# 创建模式为IPv6 over IPv4手动隧道的接口Tunnel0。

[DeviceA] interface tunnel 0 mode ipv6-ipv4

# 配置Tunnel0接口的IPv6地址。

[DeviceA-Tunnel0] ipv6 address 3001::1/64

# 配置Tunnel0接口的源接口为GigabitEthernet1/1/2。

[DeviceA-Tunnel0] source gigabitethernet 1/1/2

# 配置Tunnel0接口的目的端地址(Device B的GigabitEthernet1/1/2的IP地址)。

[DeviceA-Tunnel0] destination 192.168.50.1

[DeviceA-Tunnel0] quit

# 配置从Device A经过Tunnel0接口到IPv6 network 2的静态路由。

[DeviceA] ipv6 route-static 3003:: 64 tunnel 0

(2)     配置Device B

# 配置接口GigabitEthernet1/1/2的地址。

<DeviceB> system-view

[DeviceB] interface gigabitethernet 1/1/2

[DeviceB-GigabitEthernet1/1/2] ip address 192.168.50.1 255.255.255.0

[DeviceB-GigabitEthernet1/1/2] quit

# 配置接口GigabitEthernet1/1/1的IPv6地址。

[DeviceB] interface gigabitethernet 1/1/1

[DeviceB-GigabitEthernet1/1/1] ipv6 address 3003::1 64

[DeviceB-GigabitEthernet1/1/1] quit

# 创建模式为IPv6 over IPv4手动隧道的接口Tunnel0。

[DeviceB] interface tunnel 0 mode ipv6-ipv4

# 配置Tunnel0接口的IPv6地址。

[DeviceB-Tunnel0] ipv6 address 3001::2/64

# 配置Tunnel0接口的源接口为GigabitEthernet1/1/2。

[DeviceB-Tunnel0] source gigabitethernet 1/1/2

# 配置Tunnel0接口的目的端地址(Device A的GigabitEthernet1/1/2的IP地址)。

[DeviceB-Tunnel0] destination 192.168.100.1

[DeviceB-Tunnel0] quit

# 配置从Device B经过Tunnel0接口到IPv6 network 1的静态路由。

[DeviceB] ipv6 route-static 3002:: 64 tunnel 0

4. 验证配置

# 完成上述配置后,在Device A和Device B上分别执行display ipv6 interface命令,可以看出Tunnel0接口处于up状态。(具体显示信息略)

# 从Device A和Device B上可以Ping通对端的GigabitEthernet1/1/1接口的IPv6地址。下面仅以Device A为例。

[DeviceA] ping ipv6 3003::1

Ping6(56 data bytes) 3001::1 --> 3003::1, press CTRL_C to break

56 bytes from 3003::1, icmp_seq=0 hlim=64 time=45.000 ms

56 bytes from 3003::1, icmp_seq=1 hlim=64 time=10.000 ms

56 bytes from 3003::1, icmp_seq=2 hlim=64 time=4.000 ms

56 bytes from 3003::1, icmp_seq=3 hlim=64 time=10.000 ms

56 bytes from 3003::1, icmp_seq=4 hlim=64 time=11.000 ms

 

--- Ping6 statistics for 3003::1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 4.000/16.000/45.000/14.711 ms

2.4  配置ISATAP隧道

2.4.1  配置限制和指导

·     ISATAP隧道不需要配置隧道的目的端地址,因为隧道的目的端地址可以通过ISATAP地址中嵌入的IPv4地址自动获得。

·     对于自动隧道,隧道模式相同的Tunnel接口建议不要同时配置完全相同的源端地址。

·     如果封装前IPv6报文的目的IPv6地址与Tunnel接口的IPv6地址不在同一个网段,则必须配置通过Tunnel接口到达目的IPv6地址的转发路由,以便需要进行封装的报文能正常转发。对于自动隧道,用户只能配置静态路由,指定到达目的IPv6地址的路由出接口为本端Tunnel接口或下一跳为对端Tunnel接口地址,不支持动态路由。在隧道的两端都要进行转发路由的配置,配置的详细情况请参见“网络互通配置指导”中的“IPv6静态路由”。

2.4.2  配置步骤

(1)     进入系统视图。

system-view

(2)     进入模式为ISATAP隧道的Tunnel接口视图。

interface tunnel number [ mode ipv6-ipv4 isatap ]

(3)     设置Tunnel接口的IPv6地址。

详细配置方法,请参见“网络互通配置指导”中的“IPv6基础”。

(4)     设置隧道的源端地址或源接口。

source { ipv4-address | interface-type interface-number }

缺省情况下,未设置隧道的源端地址和源接口。

如果设置的是隧道的源端地址,则该地址将作为封装后隧道报文的源IP地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后隧道报文的源IP地址。

(5)     (可选)设置封装后隧道报文的DF(Don’t Fragment,不分片)标志。

tunnel dfbit enable

缺省情况下,未设置隧道报文的不分片标志,即转发隧道报文时允许分片。

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们