09-隧道技术配置
本章节下载 (470.73 KB)
目 录
& 说明:
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。为提高可读性,在手册的描述中将不另行说明。
l 目前设备不支持在隧道上运行组播、IS-IS和IPv6-IS-IS路由协议。
l 只有后缀为DA/DB的单板才支持隧道功能。
随着Internet的日益膨胀,现有的IPv4地址已经十分紧缺,虽然使用分配临时IPv4地址或NAT(Network Address Translator,网络地址转换)等技术,在一定程度上缓解了IPv4地址不足的状况,但也增加了地址解析和处理方面的开销,同时导致某些高层应用失效,而且仍然无法回避IPv4地址即将被分配殆尽这个问题。采用128位地址长度的IPv6协议,彻底解决了IPv4地址不足的难题,并且在地址容量、安全性、网络管理、移动性以及服务质量等方面有明显的改进,是下一代互联网络协议采用的核心标准之一。IPv6与IPv4不兼容,但它同所有的TCP/IP协议族中的其他协议兼容,即IPv6完全可以取代IPv4。
在IPv6成为主流协议之前,首先使用IPv6协议栈的网络希望能与当前仍被IPv4支撑着的Internet进行正常通信,因此必须开发出IPv4和IPv6互通技术以保证IPv4能够平稳过渡到IPv6。此外,互通技术应该对信息传递做到高效无缝。国际上IETF组建了专门的NGTRANS工作组,开展对IPv4和IPv6过渡问题和高效无缝互通问题的研究。目前已经出现了多种过渡技术和互通方案,这些技术各有特点,用于解决不同过渡时期、不同环境的通信问题。
目前解决过渡问题的基本技术主要有3种:双协议栈(RFC2893),隧道技术(RFC2893)和NAT-PT(RFC2766)。
隧道是一种封装技术,它利用一种网络协议来传输另一种网络协议,即利用一种网络传输协议,将其他协议产生的数据报文封装在它自己的报文中,然后在网络中传输。隧道(Tunnel)是一个虚拟的点对点的连接,在实际应用中仅支持点对点连接的虚拟接口为Tunnel接口。一个Tunnel提供了一条使封装的数据报文能够传输的通路,并且在一个Tunnel的两端可以分别对数据报文进行封装及解封装。隧道技术就是指包括数据封装、传输和解封装在内的全过程。
& 说明:
双协议栈的相关配置请参见 “双协议栈配置”。
IPv6 over IPv4隧道机制是将IPv6数据报文前封装上IPv4的报文头,通过隧道(Tunnel)使IPv6报文穿越IPv4网络,实现隔离的IPv6网络的互通,如图1-1所示。
注意:
IPv6 over IPv4隧道两端的设备必须支持IPv4/IPv6双协议栈。

图1-1 IPv6 over IPv4隧道原理图
IPv6 over IPv4隧道对报文的处理过程如下:
l IPv6网络中的设备发送IPv6报文,到达隧道的源端设备。
l 隧道的源端设备根据路由表判定该报文要通过隧道进行转发,将会在IPv6报文前封装上IPv4的报文头,通过隧道的实际物理接口将报文转发出去。
l 封装报文通过隧道到达隧道目的端设备,目的端设备判断该封装报文的目的地是本设备后,将对报文进行解封装。
l 目的端设备根据解封装后的IPv6报文的目的地址将报文进行转发;如果目的地就是本设备,则将IPv6报文转给上层协议处理。
IPv6 over IPv4隧道可以建立在主机-主机、主机-设备、设备-主机、设备-设备之间。隧道的终点可能是IPv6报文的最终目的地,也可能需要进一步转发。
根据隧道终点的IPv4地址的获取方式不同,隧道分为“配置隧道”及“自动隧道”。
l 不能从IPv6报文的目的地址中自动获取到隧道终点的IPv4地址,需要进行手工配置隧道的目的地址。这样的隧道即为“配置隧道”。
l 采用内嵌IPv4地址的特殊IPv6地址形式,实现从IPv6报文的目的地址中自动获取隧道终点的IPv4地址。这样的隧道即为“自动隧道”。
根据对IPv6报文的封装方式的不同,IPv6 over IPv4隧道分为以下几种模式:
l IPv6手动隧道
l IPv4兼容IPv6自动隧道
l 普通6to4隧道
l ISATAP(Intra-Site Automatic Tunnel Addressing Protocol,站点内自动隧道寻址协议)隧道
l IPv6-over-IPv4 GRE(Generic Routing Encapsulation,通用路由封装)隧道(简称GRE隧道)
在上面列出的隧道模式中, IPv6手动隧道及GRE隧道为配置隧道;IPv4兼容IPv6自动隧道、6to4隧道及ISATAP隧道为自动隧道。
(1) IPv6手动隧道
手动隧道是点到点之间的链路,一条链路就是一个单独的隧道。主要用于边缘路由器-边缘路由器或主机-边缘路由器之间定期安全通信的稳定连接,可实现与远端IPv6网络的连接。
(2) IPv4兼容IPv6自动隧道
IPv4兼容IPv6自动隧道是点到多点的链路。隧道两端采用特殊的IPv6地址:IPv4兼容IPv6地址,其格式为:0:0:0:0:0:0:a.b.c.d/96,其中a.b.c.d是IPv4地址。通过这个嵌入的IPv4地址可以自动确定隧道的终点,使IPv6隧道的建立非常方便。但由于它必须使用IPv4兼容IPv6地址,仍依赖于IPv4地址,在使用时有一定的局限性。
(3) 6to4隧道
普通6to4隧道是点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络连接成IPv6网络。6to4隧道通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。6to4隧道采用特殊的地址:6to4地址,其格式为:2002:abcd:efgh:子网号::接口ID/64,其中2002表示固定的IPv6地址前缀,abcd:efgh表示该6to4隧道对应的32位IPv4源地址,用16进制表示(如1.1.1.1可以表示为0101:0101)。通过这个嵌入的IPv4地址可以自动确定隧道的终点,使隧道的建立非常方便。
由于6to4地址的64位地址前缀中的16位子网号可以由用户自定义,前缀中的前48位已由固定数值、隧道起点或终点设备的IPv4地址确定,使IPv6报文通过隧道进行转发成为可能。6to4隧道可以实现IPv6网络的互连,克服了IPv4兼容IPv6自动隧道使用的局限性。
(4) 6to4中继
6to4隧道只能将使用6to4地址的IPv6孤岛通过IPv4网络连接成IPv6网络,但在IPv6网络中也会使用像2001::/16这样的普通IPv6网络地址。为了让使用这些地址的IPv6孤岛也能IPv4网络连接成IPv6网络,必须有一台6to4路由器作为网关转发到IPv6网络的报文,这台路由器就叫做6to4中继(6to4 relay)路由器。如图1-2所示,6to4网络的边缘路由器Router A需配置一条静态路由,下一跳地址指向6to4中继路由器Router C的6to4地址,这样,所有去往IPv6网络的报文都会被转发到6to4中继路由器,之后再由6to4中继路由器转发到IPv6网络中,从而实现6to4网络(使用6to4地址)与IPv6网络的互通。

图1-2 6to4隧道和6to4中继
(5) ISATAP隧道
随着IPv6技术的推广,现有的IPv4网络中将会出现越来越多的IPv6主机,ISATAP隧道技术为这种应用提供了一个较好的解决方案。ISATAP隧道是点到点的自动隧道技术,通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。使用ISATAP隧道时,IPv6报文的目的地址和隧道接口的IPv6地址都要采用特殊的地址:ISATAP地址。ISATAP地址格式为:Prefix(64bit):0:5EFE:ip-address。ip-address形式为a.b.c.d 或者abcd:efgh,其中abcd:efgh表示32位IPv4源地址。通过这个嵌入的IPv4地址就可以自动建立隧道,完成IPv6报文的传送。ISATAP隧道主要用于在IPv4网络中IPv6主机-IPv6路由器的连接。

(6) GRE隧道
使用标准的GRE协议可对IPv6报文进行封装,使IPv6报文能通过隧道穿越IPv4网络。与IPv6手动隧道相同,GRE隧道也是点到点之间的链路,每条链路都是一条单独的隧道。GRE隧道主要用于边缘路由器-边缘路由器、主机-边缘路由器定期安全通信的稳定连接。相关配置请参见“MPLS分册”中的“GRE配置”。
在没有使能快速终结功能的情况下,隧道报文到达目的节点后,需要先送到隧道业务环回端口进行处理,去掉隧道报文的外层IPv4头,并把解封装后的原始报文通过路由转发到目的节点。快速终结后,隧道报文不需要送到隧道业务环回端口进行处理,而是被视作IPv6报文进行处理:
l 如果报文的源IP地址与快速终结子网地址匹配,则将此隧道报文送到IPv6引擎进行转发或者上送CPU的处理。
l 如果是需要转发的报文,则由IPv6引擎去掉隧道报文的IP封装,取得原始入隧道IPv6报文后直接进行转发。
快速终结功能解决了由于使用隧道业务环回端口,导致的隧道报文流量的带宽受限的问题。
& 说明:
在使能了快速终结功能的情况下,当需要对IPv6报文进行入隧道封装时,报文仍然需要送到隧道业务环回端口进行处理。
快速终结功能支持的隧道类型为IPv6 over IPv4隧道,分为以下两种情况:
l 对于配置隧道(如GRE over IPv4隧道、IPv6手动隧道),没有expediting subnet命令,当使能快速终结后,系统自动将隧道目的地址作为快速终结子网地址,掩码为255.255.255.255,因此没有用于指定快速终结子网和掩码的命令expediting subnet。
l 对于自动隧道(如IPv4兼容IPv6自动隧道、6to4隧道、ISATAP隧道),在配置了expediting enable命令后,需要配置expediting subnet命令指定快速终结子网和掩码。
关于expediting enable命令的详细说明请参见 “隧道技术命令”。
在实际应用中,有不少单板是仅支持IPv4网络的,但是隧道却只能建在支持IPv6的单板上,所以有可能出现到达目的节点的隧道报文是从目的节点的IPv4单板进来的。为了在IPv4单板上支持隧道终结功能,我们需要在IPv4单板上使用隧道混插。通过隧道混插,我们可以实现隧道报文在目的节点的无障碍终结。隧道混插的实现是通过在隧道报文的入接口配置ACL规则,把隧道报文重定向到IPv6单板来实现的。
注意:
隧道混插时,如果使能了快速终结功能,那么隧道报文的出接口必须是支持IPv6功能的单板,否则隧道报文将不能被正常解封装。
IPv4 over IPv4隧道(RFC1853)协议是对IP数据报进行封装,使得一个IPv4网络的数据能够在另一个IPv4网络中传输。
报文在Tunnel中传输经过加封装与解封装两个过程,如下图1-4所示:
图1-4 IPv4隧道原理图
|
配置任务 |
说明 |
详细配置 |
|
|
配置IPv6 over IPv4隧道 |
配置IPv6手动隧道 |
可选 根据具体组网应用配置 |
|
|
配置IPv4兼容IPv6自动隧道 |
可选 根据具体组网应用配置 |
||
|
配置6to4隧道 |
可选 根据具体组网应用配置 |
||
|
配置6to4中继隧道 |
可选 根据具体组网应用配置 |
||
|
配置ISATAP隧道 |
可选 根据具体组网应用配置 |
||
|
配置IPv4 over IPv4隧道 |
可选 根据具体组网应用配置 |
||
|
配置隧道混插 |
可选 根据具体组网应用配置 |
||
& 说明:
当作为隧道源接口的VLAN虚接口又绑定NAT业务时,为保证两种业务的可用性,需要在可配置快速终结的隧道接口上配置快速终结。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
表1-2 配置IPv6手动隧道
|
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
|
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
|
设置Tunnel接口的IPv6地址 |
配置IPv6全球单播地址或站点本地地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
二者必选其一 缺省情况下,Tunnel接口上没有设置IPv6全球单播地址或站点本地地址 |
|
ipv6 address ipv6-address/prefix-length eui-64 |
|||
|
配置IPv6链路本地地址 |
ipv6 address auto link-local |
可选 缺省情况下,当接口配置了IPv6全球单播地址或站点本地地址后,会自动生成链路本地地址 |
|
|
ipv6 address ipv6-address link-local |
|||
|
配置为IPv6手动隧道模式 |
tunnel-protocol ipv6-ipv4 |
必选 缺省情况下,为GRE隧道模式 在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
|
|
设置Tunnel接口的源端地址或接口 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
|
|
设置Tunnel接口的目的端地址 |
destination ip-address |
必选 缺省情况下,Tunnel接口上没有设置目的端地址 |
|
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
|
|
使能快速终结功能 |
expediting enable |
可选 缺省情况下,未使能快速终结功能 |
|
|
设置隧道接口的MTU值 |
mtu mtu-size |
可选 |
|
& 说明:
隧道接口发送IPv6报文的MTU值的相关配置可参考“IP业务分册/IPv6基础配置命令”中的ipv6 mtu。
注意:
l 以上各项Tunnel接口下进行的功能特性配置,在删除Tunnel接口后,该接口上的所有配置也将被删除。
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见“IP路由分册”。
l 配置静态路由时,需要手动配置到达目的地址(不是隧道的终点IPv4地址,而是封装前报文的目的IPv6地址)的路由,并配置出接口为本端Tunnel接口或下一跳为对端的Tunnel接口地址。在隧道的两端都要进行此项配置。
l 配置动态路由时,需要在隧道两端的Tunnel接口使能动态路由协议。相关配置请见“IP路由分册”中的相关内容。
l IPv6手动隧道接口上支持运行OSPFv3、RIPng、BGP4+动态路由协议。
l 在Tunnel接口上运行动态路由协议(BGP4+除外)时,需要在隧道上使能快速终结。
l 在隧道接口配置的路由的目的地址不能与隧道接口的地址在同一网段中。
l 对两个或两个以上使用同种封装协议的Tunnel接口,不能同时配置完全相同的源地址和目的地址。
两个IPv6网络要通过Switch A和Switch B之间的IPv6手动隧道相连。如图1-5,Switch A的Vlan-interface12和Switch B的Vlan-interface12可以正常通讯,IPv4报文路由可达。

图1-5 IPv6手动隧道组网图
下面的例子配置Switch A和Switch B之间的IPv6手动隧道。需要手动指定隧道的起点和终点地址。
(1) 配置交换机Switch A
# 配置接口vlan-interface 12的地址。
<SwitchA> system-view
[SwitchA] vlan 12
[SwitchA-vlan12] port GigabitEthernet 3/1/1
[SwitchA-vlan12] quit
[SwitchA] interface vlan-interface 12
[SwitchA-vlan-interface12] ip address 192.168.100.1 255.255.255.0
[SwitchA-vlan-interface12] quit
# 使能IPv6转发功能。
[SwitchA] ipv6
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA] interface GigabitEthernet 3/1/2
[SwitchA-GigabitEthernet3/1/2] stp disable
[SwitchA-GigabitEthernet3/1/2] port link-aggregation group 1
[SwitchA-GigabitEthernet3/1/2] quit
# 配置隧道。
[SwitchA] interface tunnel 0/0/1
[SwitchA-Tunnel0/0/1] ipv6 address 3001::1 64
[SwitchA-Tunnel0/0/1] source vlan-interface 12
[SwitchA-Tunnel0/0/1] destination 192.168.100.2
[SwitchA-Tunnel0/0/1] tunnel-protocol ipv6-ipv4
# 在Tunnel接口视图下配置隧道引用的业务环回组1,使能快速终结。
[SwitchA-Tunnel0/0/1] aggregation-group 1
[SwitchA-Tunnel0/0/1] expediting enable
[SwitchA-Tunnel0/0/1] quit
# 配置从Switch A经过Tunnel0/0/1接口到Switch B的静态路由。
[SwitchA] ipv6 route-static 2::0 64 tunnel 0/0/1
(2) 配置交换机Switch B
# 配置接口Vlan-interface12的地址。
<SwitchB> system-view
[SwitchB] vlan 12
[SwitchB-vlan12] port GigabitEthernet 3/1/1
[SwitchB-vlan12] quit
[SwitchB] interface Vlan-interface 12
[SwitchB-Vlan-interface12] ip address 192.168.100.2 255.255.255.0
[SwitchB-Vlan-interface12] quit
# 使能IPv6转发功能。
[SwitchB] ipv6
# 配置隧道类型业务环回组
[SwitchB] link-aggregation group 2 mode manual
[SwitchB] link-aggregation group 2 service-type tunnel
[SwitchB] interface GigabitEthernet 3/1/2
[SwitchB-GigabitEthernet3/1/2] stp disable
[SwitchB-GigabitEthernet3/1/2] port link-aggregation group 2
[SwitchB-GigabitEthernet3/1/2] quit
# 配置隧道。
[SwitchB] interface tunnel0/0/1
[SwitchB-Tunnel0/0/1] ipv6 address 3001::2 64
[SwitchB-Tunnel0/0/1] source vlan-interface 12
[SwitchB-Tunnel0/0/1] destination 192.168.100.1
[SwitchB-Tunnel0/0/1] tunnel-protocol ipv6-ipv4
# 在Tunnel接口视图下配置隧道引用的业务环回组2,使能快速终结。
[SwitchB] interface tunnel 0/0/1
[SwitchB-Tunnel0/0/1] aggregation-group 2
[SwitchB-Tunnel0/0/1] expediting enable
[SwitchB-Tunnel0/0/1] quit
# 配置从SwitchB经过Tunnel0/0/1接口到Switch A的静态路由。
[SwitchB] ipv6 route-static 1::0 64 tunnel 0/0/1
完成以上配置之后,从其中一台交换机上可以Ping通对端Tunnel接口上的IPv6地址。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
表1-3 配置IPv4兼容IPv6自动隧道
|
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
|
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
|
设置Tunnel接口的IPv6地址 |
配置IPv6全球单播地址或站点本地地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
二者必选其一 缺省情况下,Tunnel接口上没有设置IPv6全球单播地址或站点本地地址 |
|
ipv6 address ipv6-address/prefix-length eui-64 |
|||
|
配置IPv6链路本地地址 |
ipv6 address auto link-local |
可选 缺省情况下,当接口配置了IPv6全球单播地址或站点本地地址后,会自动生成链路本地地址 |
|
|
ipv6 address ipv6-address link-local |
|||
|
配置为IPv4兼容IPv6自动隧道模式 |
tunnel-protocol ipv6-ipv4 auto-tunnel |
必选 缺省情况下,为GRE隧道模式。在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
|
|
设置Tunnel接口的源端地址 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址 |
|
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
|
|
使能快速终结功能 |
expediting enable |
可选 缺省情况下,未使能快速终结功能 |
|
|
设置快速终结子网地址和掩码 |
expediting subnet ip-address mask |
可选 缺省情况下,隧道未配置快速终结子网 |
|
|
设置隧道接口的MTU值 |
mtu mtu-size |
可选 |
|
& 说明:
隧道接口发送IPv6报文的MTU值的相关配置可参考“IP业务分册/IPv6基础配置命令”中的ipv6 mtu。
注意:
l IPv4 兼容IPv6隧道、IPv6 over IPv4 6to4隧道、IPv6 over IPv4 ISATAP隧道的Tunnel接口,不能配置相同的源地址。
l IPv4兼容IPv6自动隧道不需要配置目的地址。
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见“IP路由分册”。
l 对于此种隧道,仅支持BGP4+动态路由协议。
l 配置静态路由时,需要手动配置到达目的地址(不是隧道的终点IPv4地址,而是封装前报文的目的IPv6地址)的路由,并配置出接口为本端Tunnel接口或下一跳为对端Tunnel接口地址。在隧道的两端都要进行此项配置。
Switch A和 Switch B之间是IPv4网络,要求两台双栈交换机通过自动隧道建立IPv6连接。

图1-6 IPv6自动隧道组网图
下面的例子配置Switch A和Switch B之间的IPv4兼容IPv6自动隧道。隧道的终点无需手动指定,通过IPv4兼容IPv6地址中嵌入的IPv4地址自动获得。
(1) Switch A的配置
# 使能IPv6转发功能。
<SwitchA> system-view
[SwitchA] ipv6
# 配置Vlan-interface 12接口地址。
[SwitchA] vlan 12
[SwitchA-vlan12] port GigabitEthernet3/1/1
[SwitchA-vlan12] quit
[SwitchA] interface Vlan-interface 12
[SwitchA-Vlan-interface 12] ip address 2.1.1.1 255.0.0.0
[SwitchA-Vlan-interface 12] quit
# 配置自动隧道。
[SwitchA] interface tunnel 0/0/1
[SwitchA-Tunnel0/0/1] ipv6 address ::2.1.1.1/96
[SwitchA-Tunnel0/0/1] source Vlan-interface 12
[SwitchA-Tunnel0/0/1] tunnel-protocol ipv6-ipv4 auto-tunnel
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA] interface GigabitEthernet 3/1/2
[SwitchA-GigabitEthernet3/1/2] stp disable
[SwitchA-GigabitEthernet3/1/2] port link-aggregation group 1
[SwitchA-GigabitEthernet3/1/2] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1,并使能快速终结。
[SwitchA] interface tunnel 0/0/1
[SwitchA-Tunnel0/0/1] aggregation-group 1
[SwitchA-Tunnel0/0/1] expediting enable
[SwitchA-Tunnel0/0/1] expediting subnet 2.1.1.0 255.0.0.0
[SwitchA-Tunnel0/0/1] quit
(2) Switch B的配置
# 使能IPv6转发功能。
<SwitchB> system-view
[SwitchB] ipv6
# 配置Vlan-interface 12接口地址。
[SwitchB] vlan 12
[SwitchB-vlan12] port GigabitEthernet 3/1/1
[SwitchB] interface Vlan-interface 12
[SwitchB-GigabitEthernet3/1/1] ip address 2.1.1.2 255.0.0.0
[SwitchB-GigabitEthernet3/1/1] quit
# 配置自动隧道。
[SwitchB] interface tunnel 0/0/1
[SwitchB-Tunnel0/0/1] ipv6 address ::2.1.1.2/96
[SwitchB-Tunnel0/0/1] source Vlan-interface 12
[SwitchB-Tunnel0/0/1] tunnel-protocol ipv6-ipv4 auto-tunnel
# 配置隧道类型业务环回组。
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type tunnel
[SwitchB] interface GigabitEthernet 3/1/2
[SwitchB-GigabitEthernet3/1/2] stp disable
[SwitchB-GigabitEthernet3/1/2] port link-aggregation group 1
[SwitchB-GigabitEthernet3/1/2] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1,并使能快速终结。
[SwitchB] interface tunnel 0/0/1
[SwitchB]-Tunnel0/0/1] aggregation-group 1
[SwitchB-Tunnel0/0/1] expediting enable
[SwitchB-Tunnel0/0/1] expediting subnet 2.1.1.0 255.0.0.0
[SwitchB-Tunnel0/0/1] quit
完成以上配置之后,从其中一台交换机上可以Ping通对端Tunnel接口上的IPv4兼容IPv6地址。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
|
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
|
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
|
设置Tunnel接口的IPv6地址 |
配置IPv6全球单播地址或站点本地地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
二者必选其一 缺省情况下,Tunnel接口上没有设置IPv6全球单播地址或站点本地地址 |
|
ipv6 address ipv6-address/prefix-length eui-64 |
|||
|
配置IPv6链路本地地址 |
ipv6 address auto link-local |
可选 缺省情况下,当接口配置了IPv6全球单播地址或站点本地地址后,会自动生成链路本地地址 |
|
|
ipv6 address ipv6-address link-local |
|||
|
配置为6to4隧道模式 |
tunnel-protocol ipv6-ipv4 6to4 |
必选 缺省情况下,为GRE隧道模式 在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
|
|
设置Tunnel接口的源端地址 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
|
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
|
|
使能快速终结功能 |
expediting enable |
可选 缺省情况下,未使能快速终结功能 |
|
|
设置快速终结子网地址和掩码 |
expediting subnet ip-address mask |
可选 缺省情况下,隧道未配置快速终结子网 |
|
|
设置隧道接口的MTU值 |
mtu mtu-size |
可选 |
|
& 说明:
隧道接口发送IPv6报文的MTU值的相关配置可参考“IP业务分册/IPv6基础配置命令”中的ipv6 mtu。
注意:
l IPv4 兼容IPv6隧道、IPv6 over IPv4 6to4隧道、IPv6 over IPv4 ISATAP隧道的Tunnel接口,不能配置相同的源地址。
l 对两个或两个以上使用同种封装协议的Tunnel接口,不能同时配置完全相同的源地址。
l 自动隧道不需要配置目的地址,因为自动隧道的目的地址可以通过6to4地址中嵌入的IPv4地址自动获得。
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见“IP路由分册”。
l 对于此种隧道,仅支持BGP4+动态路由协议。
l 配置静态路由时,需要手动配置到达目的地址(不是隧道的终点IPv4地址,而是封装前报文的目的IPv6地址)的路由,并将下一跳配置为隧道本端的Tunnel接口号或者网络地址。在隧道的两端都要进行此项配置。
IPv6孤岛网络通过在IPv4网络中建立6to4隧道进行互联。

图1-7 6to4隧道组网图
下面的例子在隔离的IPv6网络边缘交换机上配置了6to4隧道。IPv4地址2.1.1.1转换成IPv6地址后使用前缀2002:0201:0101::/64。配置的静态路由将所有发往IPv6前缀2002::/16的流量定向到自动隧道的Tunnel接口。
(1) 交换机Switch A的配置
# 使能IPv6转发功能。
<SwitchA> system-view
[SwitchA] ipv6
# 配置接口Vlan-interface100的地址。
[SwitchA] vlan 100
[SwitchA-vlan100] port GigabitEthernet 1/1/1
[SwitchA-vlan100] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ip address 2.1.1.1 24
[SwitchA-Vlan-interface100] quit
# 配置接口Vlan-interface100的地址到SwitchB上接口Vlan-interface100的路由(此处的静态路由下一跳地址以[nexthop]代替,真实组网时请配置实际的下一跳地址)。
[SwitchA] ip route-static 5.1.1.1 24 [nexthop]
# 配置接口Vlan-interface101的地址。
[SwitchA] vlan 101
[SwitchA-vlan101] port GigabitEthernet 1/1/2
[SwitchA-vlan101] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 address 2002:0201:0101:1::1/64
[SwitchA-Vlan-interface101] quit
# 配置6to4隧道。
[SwitchA] interface tunnel 0/0/1
[SwitchA-Tunnel0/0/1] ipv6 address 2002:201:101::1 64
[SwitchA-Tunnel0/0/1] source vlan-interface 100
[SwitchA-Tunnel0/0/1] tunnel-protocol ipv6-ipv4 6to4
[SwitchA-Tunnel0/0/1] quit
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA] interface GigabitEthernet 1/1/3
[SwitchA-GigabitEthernet1/1/3] stp disable
[SwitchA-GigabitEthernet1/1/3] port link-aggregation group 1
[SwitchA-GigabitEthernet1/1/3] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1,并使能快速终结。
[SwitchA] interface tunnel 0/0/1
[SwitchA-Tunnel0/0/1] aggregation-group 1
[SwitchA-Tunnel0/0/1] expediting enable
[SwitchA-Tunnel0/0/1] expediting subnet 5.1.1.0 255.0.0.0
[SwitchA-Tunnel0/0/1] quit
# 配置到目的地址2002::/16,下一跳为Tunnel接口的静态路由。
[SwitchA] ipv6 route-static 2002:: 16 tunnel 0/0/1
(2) 交换机Switch B的配置
# 使能IPv6转发功能。
<SwitchB> system-view
[SwitchB] ipv6
# 配置接口Vlan-interface100的地址。
[SwitchB] vlan 100
[SwitchB-vlan100] port GigabitEthernet 1/1/1
[SwitchB-vlan100] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ip address 5.1.1.1 24
[SwitchB-Vlan-interface100] quit
# 配置接口Vlan-interface100的地址到SwitchA上接口Vlan-interface100的路由(此处的静态路由下一跳地址以[nexthop]代替,真实组网时请配置实际的下一跳地址)。
[SwitchB] ip route-static 2.1.1.1 24 [nexthop]
# 配置接口Vlan-interface101的地址。
[SwitchB] vlan 101
[SwitchB-vlan101] port GigabitEthernet 1/1/2
[SwitchB-vlan101] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] ipv6 address 2002:0501:0101:1::1/64
[SwitchB-Vlan-interface101] quit
# 配置6to4隧道。
[SwitchB] interface tunnel0/0/1
[SwitchB-Tunnel0/0/1] ipv6 address 2002:0501:0101::1/64
[SwitchB-Tunnel0/0/1] source vlan-interface 100
[SwitchB-Tunnel0/0/1] tunnel-protocol ipv6-ipv4 6to4
[SwitchB-Tunnel0/0/1] quit
# 配置隧道类型业务环回组
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type tunnel
[SwitchB] interface GigabitEthernet 1/1/3
[SwitchB-GigabitEthernet1/1/3] stp disable
[SwitchB-GigabitEthernet1/1/3] port link-aggregation group 1
[SwitchB-GigabitEthernet1/1/3] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1,并使能快速终结。
[SwitchB] interface tunnel 0/0/1
[SwitchB-Tunnel0/0/1] aggregation-group 1
[SwitchB-Tunnel0/0/1] expediting enable
[SwitchB-Tunnel0/0/1] expediting subnet 2.1.1.0 255.0.0.0
[SwitchB-Tunnel0/0/1] quit
# 配置到目的地址2002::/16,下一跳为Tunnel接口的静态路由。
[SwitchB] ipv6 route-static 2002:: 16 tunnel0/0/1
完成以上配置之后,PC1与PC2可以互相Ping通。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
设备之间已经建立起来跨越IPv4网络的6to4隧道。
& 说明:
表1-5 配置6to4隧道中继
|
操作 |
命令 |
说明 |
|
配置6to4中继静态路由 |
ipv6 route-static ipv6-address prefix-length nexthop-address |
必选 |
注意:
由于6to4中继隧道是为了实现6to4网络(使用6to4地址)与IPv6网络之间的互通,因此在配置用于6to4中继隧道的静态路由时,静态路由的目的IPv6地址形式不能为6to4地址,下一跳IPv6地址则必须为6to4地址,且下一跳IPv6地址中内嵌的IPv4地址必须为公网单播地址。关于6to4中继隧道的介绍请参见“1.1.1 3. (3)6to4隧道”
普通IPv6网络通过6to4网络穿越IPv4网络进行互联互通。

图1-8 6to4中继隧道组网图
IPv6网络Site 1与IPv6网络Site 2之间被IPv4网络隔离。在IPv6网络边缘交换机Switch A和Switch B上都配置了6to4隧道和6to4中继默认路由,所有在IPv6网络Site 1与IPv6网络Site 2之间转发的普通IPv6报文都可以通过6to4隧道接口穿越IPv4网络。
(1) 配置交换机Switch A
# 使能IPv6转发功能。
<SwitchA> system-view
[SwitchA] ipv6
# 配置接口Vlan-interface2001的地址。
[SwitchA] vlan 2001
[SwitchA-vlan2001] port GigabitEthernet 4/1/1
[SwitchA-vlan2001] interface vlan-interface 2001
[SwitchA-Vlan-interface2001] ip address 11.0.0.2 24
[SwitchA-Vlan-interface2001] quit
# 配置接口Vlan-interface2001的地址到Switch B上接口Vlan-interface2003的路由(此处的静态路由下一跳地址以[nexthop]代替,真实组网时请配置实际的下一跳地址)。
[SwitchA] ip route-static 13.0.0.0 24 [nexthop]
# 配置接口Vlan-interface101的地址。
[SwitchA] vlan 101
[SwitchA-vlan101] port GigabitEthernet 4/1/5
[SwitchA-vlan101] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 address 2001:1::101 32
[SwitchA-Vlan-interface101] quit
# 配置6to4隧道。
[SwitchA] interface tunnel 4/0/0
[SwitchA-Tunnel4/0/0] ipv6 address 2002:b00:2:2::2 64
[SwitchA-Tunnel4/0/0] source vlan-interface 2001
[SwitchA-Tunnel4/0/0] tunnel-protocol ipv6-ipv4 6to4
[SwitchA-Tunnel4/0/0] quit
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA] interface GigabitEthernet 4/1/24
[SwitchA-GigabitEthernet4/1/24] stp disable
[SwitchA-GigabitEthernet4/1/24] port link-aggregation group 1
[SwitchA-GigabitEthernet4/1/24] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1。
[SwitchA] interface tunnel 4/0/0
[SwitchA-Tunnel4/0/0] aggregation-group 1
# 配置到目的地址2002:d00:2:2::/64,下一跳为Tunnel接口的静态路由。
[SwitchA] ipv6 route-static 2002:d00:2:2:: 64 tunnel 4/0/0
# 配置6to4中继默认路由,下一跳为对端Tunnel接口IPv6地址
[SwitchA] ipv6 route-static :: 0 2002:d00:2:2::2
(2) 配置交换机Switch B
# 使能IPv6转发功能。
<SwitchB> system-view
[SwitchB] ipv6
# 配置接口Vlan-interface2003的地址。
[SwitchB] vlan 2003
[SwitchB-vlan2003] port GigabitEthernet 4/1/1
[SwitchB] interface vlan-interface 2003
[SwitchB-Vlan-interface2003] ip address 13.0.0.2 24
[SwitchB-Vlan-interface2003] quit
# 配置接口Vlan-interface2003的地址到SwitchA上接口Vlan-interface2001的路由(此处的静态路由下一跳地址以[nexthop]代替,真实组网时请配置实际的下一跳地址)。
[SwitchB] ip route-static 11.0.0.0 24 [nexthop]
# 配置接口Vlan-interface102的地址。
[SwitchB] vlan 102
[SwitchB-vlan102] port GigabitEthernet 4/1/5
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] ipv6 address 2001:2::102 32
[SwitchB-Vlan-interface102] quit
# 配置6to4隧道。
[SwitchB] interface tunnel4/0/0
[SwitchB-Tunnel4/0/0] ipv6 address 2002:d00:2:2::2 64
[SwitchB-Tunnel4/0/0] source vlan-interface 2003
[SwitchB-Tunnel4/0/0] tunnel-protocol ipv6-ipv4 6to4
[SwitchB-Tunnel4/0/0] quit
# 配置隧道类型业务环回组
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type tunnel
[SwitchB] interface GigabitEthernet 4/1/48
[SwitchB-GigabitEthernet4/1/48] stp disable
[SwitchB-GigabitEthernet4/1/48] port link-aggregation group 1
[SwitchB-GigabitEthernet4/1/48] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1。
[SwitchB] interface tunnel 4/0/0
[SwitchB-Tunnel4/0/0] aggregation-group 1
# 配置到目的地址2002:b00:2:2::/64,下一跳为Tunnel接口的静态路由。
[SwitchB] ipv6 route-static 2002:b00:2:2:: 64 tunnel4/0/0
# 配置6to4中继默认路由,下一跳为对端6to4Tunnel接口IPv6地址
[SwitchB] ipv6 route-static :: 0 2002:b00:2:2::2
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
|
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
|
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
|
设置Tunnel接口的IPv6地址 |
配置IPv6全球单播地址或站点本地地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
二者必选其一 缺省情况下,Tunnel接口上没有设置IPv6全球单播地址或站点本地地址 |
|
ipv6 address ipv6-address/prefix-length eui-64 |
|||
|
配置IPv6链路本地地址 |
ipv6 address auto link-local |
可选 缺省情况下,当接口配置了IPv6全球单播地址或站点本地地址后,会自动生成链路本地 |
|
|
ipv6 address ipv6-address link-local |
|||
|
配置为ISATAP隧道模式 |
tunnel-protocol ipv6-ipv4 isatap |
必选 缺省情况下,为GRE隧道模式。在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
|
|
设置Tunnel接口的源端地址或接口 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
|
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
|
|
使能快速终结功能 |
expediting enable |
可选 缺省情况下,未使能快速终结功能 |
|
|
设置快速终结子网地址和掩码 |
expediting subnet ip-address mask |
可选 缺省情况下,隧道未配置快速终结子网 |
|
|
设置隧道接口的MTU值 |
mtu mtu-size |
可选 |
|
& 说明:
隧道接口发送IPv6报文的MTU值的相关配置可参考“IP业务分册/IPv6基础配置命令”中的ipv6 mtu。
注意:
l IPv4 兼容IPv6隧道、IPv6 over IPv4 6to4隧道、IPv6 over IPv4 ISATAP隧道的Tunnel接口,不能配置相同的源地址。
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见本“IP路由分册”。
l 配置静态路由时,需要手动配置到达目的地址(不是隧道的终点IPv4地址,而是封装前报文的目的IPv6地址)的路由,并将下一跳配置为隧道本端的Tunnel接口号或者网络地址。在隧道的两端都要进行此项配置。
l 隧道接口下必须使能快速终结,才能正确处理协议报文。
隧道的目的地址是ISATAP地址,要求将IPv4网络中的IPv6主机通过ISATAP隧道接入到IPv6网络。

图1-9 ISATAP隧道组网图
下面的例子在交换机与ISATAP主机上配置了ISATAP隧道,允许把单独的ISATAP主机接入到IPv6网络中。
(1) 交换机的配置
# 使能IPv6转发功能。
<Switch> system-view
[Switch] ipv6
# 配置各接口地址。
[Switch] vlan 100
[Switch-vlan100] port GigabitEthernet 1/1/1
[Switch-vlan100] quit
[Switch] interface vlan-interface 100
[Switch-Vlan-interface100] ipv6 address 3001::1/64
[Switch-Vlan-interface100] quit
[Switch] vlan 101
[Switch-vlan101] port GigabitEthernet 1/1/2
[Switch-vlan101] quit
[Switch] interface vlan-interface 101
[Switch-Vlan-interface101] ip address 2.1.1.1 255.0.0.0
[Switch-Vlan-interface101] quit
# 配置隧道类型业务环回组
[Switch] link-aggregation group 1 mode manual
[Switch] link-aggregation group 1 service-type tunnel
[Switch] interface GigabitEthernet 1/1/3
[Switch-GigabitEthernet1/1/3] stp disable
[Switch-GigabitEthernet1/1/3] port link-aggregation group 1
[Switch-GigabitEthernet1/1/3] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1,并使能快速终结。
[Switch] interface tunnel 2/0/1
[Switch-Tunnel2/0/1] aggregation-group 1
[Switch-Tunnel2/0/1] expediting enable
[Switch-Tunnel2/0/1] quit
# 配置ISATAP隧道。
[Switch] interface tunnel 2/0/1
[Switch-Tunnel2/0/1] ipv6 address 2001::5efe:0201:0101 64
[Switch-Tunnel2/0/1] source vlan-interface 101
[Switch-Tunnel2/0/1] tunnel-protocol ipv6-ipv4 isatap
[Switch-Tunnel2/0/1] expediting enable
[Switch-Tunnel2/0/1] expediting subnet 2.1.1.0 255.255.255.0
# 取消对RA消息发布的抑制,使主机可以通过交换机发布的RA消息获取地址前缀等信息。
[Switch-Tunnel2/0/1] undo ipv6 nd ra halt
(2) ISATAP主机的配置
ISATAP主机上的具体配置与主机的操作系统有关,下面仅以Windows XP操作系统为例进行说明。
# 在Windows XP上,ISATAP接口通常为接口2,只要在该接口上配置ISATAP交换机的IPv4地址即可完成主机侧的配置。先看看这个ISATAP接口的信息:
C:\>ipv6 if 2
Interface 2: Automatic Tunneling Pseudo-Interface
Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}
does not use Neighbor Discovery
does not use Router Discovery
routing preference 1
EUI-64 embedded IPv4 address: 0.0.0.0
router link-layer address: 0.0.0.0
preferred link-local fe80::5efe:2.1.1.2, life infinite
link MTU 1280 (true link MTU 65515)
current hop limit 128
reachable time 42500ms (base 30000ms)
retransmission interval 1000ms
DAD transmits 0
default site prefix length 48
# 它自动生成了一个ISATAP格式的link-local地址(fe80::5efe:2.1.1.2)。我们需要设置这个接口上的ISATAP交换机的IPv4地址:
C:\>ipv6 rlu 2 2.1.1.1
# 只需要这么一个命令,这就完成了主机的配置,我们再来看看这个ISATAP接口的信息:
C:\>ipv6 if 2
Interface 2: Automatic Tunneling Pseudo-Interface
Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}
does not use Neighbor Discovery
uses Router Discovery
routing preference 1
EUI-64 embedded IPv4 address: 2.1.1.2
router link-layer address: 2.1.1.1
preferred global 2001::5efe:2.1.1.2, life 29d23h59m46s/6d23h59m46s (public)
preferred link-local fe80::5efe:2.1.1.2, life infinite
link MTU 1500 (true link MTU 65515)
current hop limit 255
reachable time 42500ms (base 30000ms)
retransmission interval 1000ms
DAD transmits 0
default site prefix length 48
# 对比前后的区别,我们可以看到主机获取了2001::/64的前缀,自动生成地址2001::5efe:2.1.1.2,同时还会发现这么一行“uses Router Discovery”表明主机启用了交换机发现, 这时ping一下交换机上隧道接口的IPv6地址,可以ping通,这时候表明ISATAP隧道已经成功建立。
#配置到达IPv6主机的静态路由
C:\>ipv6 rtu 3000::/64 2/2001::5efe:2.1.1.1
完成以上配置之后,ISATAP主机就可访问IPv6网络中的主机。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
|
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
设置Tunnel接口的IPv4地址 |
ip address ip-address { mask | mask-length } [ sub ] |
必选 缺省情况下,Tunnel接口上没有设置IPv4地址 |
|
配置隧道模式 |
tunnel-protocol ipv4-ipv4 |
可选 缺省情况下,采用GRE隧道模式 在隧道的两端应配置相同的隧道模式,否则会造成报文传输失败 |
|
设置Tunnel接口的源端地址或接口 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
|
设置Tunnel接口的目的端地址 |
destination ip-address |
必选 缺省情况下,Tunnel接口上没有设置目的端地址 |
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
注意:
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见“IP路由分册”
l 对两个或两个以上使用同种封装协议的Tunnel接口,不能同时配置完全相同的源地址和目的地址。
l 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址取的是源接口的主IP地址。
l IPv4 over IPv4隧道类型不支持快速终结。
l IPv4 over IPv4隧道类型不支持MTU配置。
运行IPv4协议的两个子网Group1和Group2,通过在交换机Switch A和交换机Switch B之间使用三层隧道协议IPv4 over IPv4实现互联。

图1-10 IPv4 over IPv4隧道组网图
(1) 配置交换机Switch A
# 配置接口Vlan-interface100。
<SwitchA> system-view
[SwitchA] vlan 100
[SwitchA-vlan100] port GigabitEthernet 1/1/1
[SwitchA-vlan100] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ip address 10.1.1.1 255.255.255.0
[SwitchA-Vlan-interface100] quit
# 配置Vlan-interface101接口(隧道的实际物理接口)。
[SwitchA] vlan 101
[SwitchA-vlan101] port GigabitEthernet 1/1/2
[SwitchA-vlan101] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ip address 192.13.2.1 255.255.255.0
[SwitchA-Vlan-interface101] quit
# 创建Tunnel1/0/0接口。
[SwitchA] interface tunnel 1/0/0
# 配置Tunnel1/0/0接口的IP地址。
[SwitchA-Tunnel1/0/0] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel封装模式。
[SwitchA-Tunnel1/0/0] tunnel-protocol ipv4-ipv4
# 配置Tunnel1/0/0接口的源地址。
[SwitchA-Tunnel1/0/0] source 192.13.2.1
# 配置Tunnel1/0/0接口的目的地址(Switch B的VLAN接口101的IP地址) 。
[SwitchA-Tunnel1/0/0] destination 131.108.5.2
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA] interface GigabitEthernet 1/1/3
[SwitchA-GigabitEthernet1/1/3] stp disable
[SwitchA-GigabitEthernet1/1/3] port link-aggregation group 1
[SwitchA-GigabitEthernet1/1/3] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1。
[SwitchA] interface tunnel 1/0/0
[SwitchA-Tunnel1/0/0] aggregation-group 1
[SwitchA-Tunnel1/0/0] quit
# 配置从Switch A经过Tunnel1/0/0接口到Group2的静态路由。
[SwitchA] ip route-static 10.1.3.0 255.255.255.0 tunnel 1/0/0
(2) 配置交换机Switch B
# 配置接口Vlan-interface100。
<SwitchB> system-view
[SwitchB] vlan 100
[SwitchB-vlan100] port ethernet 1/1/1
[SwitchB-vlan100] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ip address 10.1.3.1 255.255.255.0
[SwitchB-Vlan-interface100] quit
#配置接口Vlan-interface101(隧道的实际物理接口)。
[SwitchB] vlan 101
[SwitchB-vlan101] port ethernet 1/1/2
[SwitchB-vlan101] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] ip address 131.108.5.2 255.255.255.0
[SwitchB-Vlan-interface101] quit
# 创建Tunnel2/0/0接口。
[Switch2] interface tunnel 2/0/0
# 配置Tunnel2/0/0接口的IP地址。
[SwitchB-Tunnel2/0/0] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel封装模式。
[SwitchB-Tunnel2/0/0] tunnel-protocol ipv4-ipv4
# 配置Tunnel2/0/0接口的源地址。
[SwitchB-Tunnel2/0/0] source 131.108.5.2
# 配置Tunnel2/0/0接口的目的地址(Switch A的VLAN接口100的IP地址)。
[SwitchB-Tunnel2/0/0] destination 192.13.2.1
# 配置隧道类型业务环回组
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type tunnel
[SwitchB] interface GigabitEthernet 1/1/3
[SwitchB-GigabitEthernet1/1/3] stp disable
[SwitchB-GigabitEthernet1/1/3] port link-aggregation group 1
[SwitchB-GigabitEthernet1/1/3] quit
# 在Tunnel接口视图下配置隧道引用的业务环回组1。
[SwitchB] interface tunnel 2/0/0
[SwitchB-Tunnel2/0/0] aggregation-group 1
[SwitchB-Tunnel2/0/0] quit
# 配置从SwitchB经过Tunnel2/0/0接口到Group1的静态路由。
[SwitchB] ip route-static 10.1.1.0 255.255.255.0 tunnel 2/0/0
完成以上配置之后,从其中一台交换机上可以Ping通对端IPv4 Group的接入接口的地址。
设备上的接口(如VLAN接口,Loopback接口)已经配置IP地址,能够进行正常通讯。这些接口将作为Tunnel虚接口的源接口,以保证隧道目的地址路由可达。
|
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
|
|
创建Tunnel接口并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
|
|
设置Tunnel接口的IPv6地址 |
配置IPv6全球单播地址或站点本地地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
必选之一 设置Tunnel接口的IPv6地址 |
|
ipv6 address ipv6-address/prefix-length eui-64 |
|||
|
配置IPv6链路本地地址 |
ipv6 address auto link-local |
||
|
ipv6 address ipv6-address link-local |
|||
|
设置Tunnel接口的源端地址或接口 |
source { ip-address | ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
|
|
创建访问控制列表并进入相应ACL视图 |
acl number acl-number [ match-order { config | auto } ] |
必选 |
|
|
定义ACL子规则 |
rule [ rule-id ] { permit | deny } protocol [ rule-string ] |
必选 |
|
|
定义一个类并进入类视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
|
|
定义匹配指定匹配规则的所有报文的规则 |
if-match [ not ] match-criteria |
必选 |
|
|
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
|
|
为流行为配置流量重定向动作 |
redirect { cpu | interface interface-type interface-number | link-aggregation group Aggregation-group-ID | next-hop { ipv4-add [ ipv4-add ] | ipv6-add [ interface-type interface-number ] [ ipv6-add [ interface-type interface-number ] ] } } |
必选 |
|
|
设置Tunnel接口引用的业务环回组ID |
aggregation-group aggregation-group-ID |
必选 |
|
|
使能快速终结功能 |
expediting enable |
可选 缺省情况下,未使能快速终结功能 |
|
注意:
l 如果隧道两端Tunnel接口的地址不在同一个网段,则必须配置通过隧道到达对端的转发路由,以便需要进行封装的报文能正常转发。用户可以配置静态路由,也可以配置动态路由。在Tunnel的两端都要进行此项配置,配置的详细情况请参见“IP路由分册”
l 对两个或两个以上使用同种封装协议的Tunnel接口,不能同时配置完全相同的源地址和目的地址。
l 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址取的是源接口的主IP地址。
l 在Switch A和Switch B上都有支持IPv6功能的单板和仅支持IPv4功能的单板。本例组网采用的隧道类型为IPv6手工隧道,隧道上启用RIPng路由协议。
l IPv6报文(目的IPv6地址6666::6)从Switch A上支持IPv6功能的接口进入隧道,完成报文的加封装后变为IPv6 over IPv4隧道报文。
l IPv6 over IPv4隧道报文通过仅支持IPv4功能的端口发到IPv4网络。
l 穿过IPv4网络后,隧道报文通过仅支持IPv4功能的端口进入目的双栈节点Switch B。
l 在Switch B上利用ACL规则,把隧道报文从仅支持IPv4功能的单板重定向到隧道类型业务环回组。隧道类型业务环回组是建立在IPv6单板上的。
l 隧道报文在IPv6单板上完成快速终结后,从仅支持IPv6功能的单板上转发到IPv6网络上。
l 在PC A上配置路由6666::6/64的网关为1000::1;在PC B上配置路由1000::2/64的网关为6666::9。
图1-11 隧道混插组网图
(1) 交换机SwitchA的配置
<SwitchA> system-view
# 全局使能IPv6
[SwitchA] ipv6
# 配置接口Vlan-interface 12
[SwitchA] interface Vlan-interface 12
[SwitchA-Vlan-interface12] ipv6 address 1000::1 64
[SwitchA-Vlan-interface12] quit
# 配置隧道类型业务环回组
[SwitchA] link-aggregation group 1 mode manual
[SwitchA] link-aggregation group 1 service-type tunnel
[SwitchA-GigabitEthernet4/1/1] stp disable
[SwitchA-GigabitEthernet4/1/1] port link-aggregation group 1
[SwitchA-GigabitEthernet4/1/1] quit
# 配置隧道的源接口为Vlan虚接口。该接口在IPv4单板上
[SwitchA] vlan 10
[SwitchA-vlan10] port GigabitEthernet 3/1/1
[SwitchA] interface Vlan-interface 10
[SwitchA-Vlan-interface10] ip address 1.1.1.1 24
[SwitchA-Vlan-interface10] quit
# 配置隧道Tunnel 4/0/0为IPv6手工隧道
[SwitchA] interface Tunnel 4/0/0
[SwitchA-Tunnel4/0/0] tunnel-protocol ipv6-ipv4
[SwitchA-Tunnel4/0/0] ipv6 address 3333::1 64
[SwitchA-Tunnel4/0/0] source Vlan-interface 10
[SwitchA-Tunnel4/0/0] destination 1.1.1.2
[SwitchA-Tunnel4/0/0] aggregation-group 1
# 在隧道Tunnel 4/0/0上配置快速终结使能
[SwitchA-Tunnel4/0/0] expediting enable
[SwitchA-Tunnel4/0/0] quit
# 在隧道Tunnel 4/0/0上使能RIPng协议。
[SwitchA] ripng
[SwitchA-ripng-1] import-route direct
[SwitchA-ripng-1] quit
[SwitchA] interface Tunnel 4/0/0
[SwitchA-Tunnel4/0/0] ripng 1 enable
# 配置ACL规则,把从不支持IPv6报文的单板进来的需要终结的隧道报文重定向到IPv6单板。IPv6 over IPv4隧道报文的协议号为41。
[SwitchA] acl number 3000
[SwitchA-acl-adv-3000] rule permit 41
[SwitchA-acl-adv-3000] quit
[SwitchA] traffic classifier 1
[SwitchA-classifier-1] if-match acl 3000
[SwitchA-classifier-1] quit
[SwitchA] traffic behavior 1
[SwitchA-behavior-1] redirect link-aggregation group 1
[SwitchA] qos policy 1
[SwitchA-qospolicy-1] classifier 1 behavior 1
[SwitchA-qospolicy-1] quit
[SwitchA] qos vlan-policy 1 vlan 10 inbound
(2) 交换机SwitchB的配置
# 全局使能IPv6
[SwitchB] ipv6
# 在SwitchB上配置隧道Tunnel3/0/0的出接口
[SwitchB] vlan 10
[SwitchB-vlan10] port GigabitEthernet 2/1/1
[SwitchB-vlan10] quit
[SwitchB] interface Vlan-interface 10
[SwitchB-Vlan-interface10] ip address 1.1.1.2 24
[SwitchB-Vlan-interface10] quit
# 在SwitchB上配置隧道类型业务环回组。业务环回组只能建在支持IPv6单板上
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type tunnel
[SwitchB] interface GigabitEthernet 3/1/2
[SwitchB-GigabitEthernet3/1/2] stp disable
[SwitchB-GigabitEthernet3/1/2] port link-aggregation group 1
[SwitchB-GigabitEthernet3/1/2] quit
# 建立隧道接口
[SwitchB] interface Tunnel 3/0/0
[SwitchB-Tunnel3/0/0] tunnel-protocol ipv6-ipv4
[SwitchB-Tunnel3/0/0] ipv6 address 3333::2 64
[SwitchB-Tunnel3/0/0] source Vlan-interface 10
[SwitchB-Tunnel3/0/0] destination 1.1.1.1
[SwitchB-Tunnel3/0/0] aggregation-group 1
# 在隧道Tunnel 3/0/0上使能快速终结
[SwitchB-Tunnel3/0/0] expediting enable
# 在隧道Tunnel 3/0/0上使能RIPng协议。
[SwitchB-Tunnel3/0/0] quit
[SwitchB] ripng
[SwitchB-ripng-1] import-route direct
[SwitchB-ripng-1] quit
[SwitchB] interface Tunnel 3/0/0
[SwitchB-Tunnel3/0/0] ripng 1 enable
# 配置ACL规则。把从不支持IPv6报文的单板进来的需要终结的隧道报文重定向到支持IPV6报文的单板上。IPv6 OVER IPv4隧道报文协议号为41。
[SwitchB] acl number 3000
[SwitchB-acl-adv-3000] rule permit 41
[SwitchB-acl-adv-3000] quit
[SwitchB] traffic classifier 1
[SwitchB-classifier-1] if-match acl 3000
[SwitchB-classifier-1] quit
[SwitchB] traffic behavior 1
[SwitchB-behavior-1] redirect link-aggregation group 1
[SwitchB-behavior-1] quit
[SwitchB] qos policy 1
[SwitchB-qospolicy-1] classifier 1 behavior 1
[SwitchB-qospolicy-1] quit
[SwitchB] qos vlan-policy 1 vlan 10 inbound
# 配置被快速终结后IPv6报文的出接口
[SwitchB] vlan 12
[SwitchB-vlan12] port GigabitEthernet 3/1/1
[SwitchB-vlan12] quit
[SwitchB] interface Vlan-interface 12
[SwitchB-Vlan-interface12] ipv6 address 6666::9 64
用户在PCA上ping PCB上IPv6地址6666::6或者从PCB上ping PCA上IPv6地址1000::2可以ping 通。
在完成上述配置后,在任意视图下执行display命令可以显示IPv6隧道配置后的运行情况,通过查看显示信息验证配置的效果。
|
操作 |
命令 |
|
显示指定Tunnel接口的相关信息 |
display interface tunnel number |
|
显示指定Tunnel接口的IPv6相关信息 |
display ipv6 interface tunnel number |
故障现象:在Tunnel接口上配置了相关的参数后(例如隧道的起点、终点地址和隧道模式)仍未处于up状态。
故障排除:可以按照如下步骤进行。
l Tunnel接口未处于up状态的最常见原因是隧道起点的物理接口没有处于up状态。使用display interface tunnel和display ipv6 interface tunnel命令查看隧道起点的物理接口状态为up还是down。如果隧道状态是down的,可以通过用户视图下的 debugging tunnel event 调试命令查看隧道down的原因,相关命令的操作和调试信息的意义请参见“隧道技术命令”。
l Tunnel接口未处于up状态的另一个可能的原因是隧道的终点地址不可达。使用display ipv6 routing-table和display ip routing-table命令查看是否终点地址通过路由可达。如果路由表中没有保证隧道通讯的路由项,请配置相关路由。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
