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

06-三层技术-IP业务配置指导

目录

13-隧道配置

本章节下载 13-隧道配置  (436.7 KB)

13-隧道配置


1 隧道

说明

设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“IRF配置指导”中的“IRF”。

 

1.1  隧道概述

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

隧道技术可以:

·     作为过渡技术,实现IPv4和IPv6网络互通,如IPv6 over IPv4隧道技术。

·     创建VPN(Virtual Private Network,虚拟私有网络),保证通信的安全性,如GRE(Generic Routing Encapsulation,通用路由封装)。

·     实现流量工程,避免由于负载不均衡导致网络拥塞,如MPLS TE(Multiprotocol Label Switching Traffic Engineering,多协议标记交换流量工程)。

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

说明

·     本文只介绍实现IPv4/IPv6过渡的隧道。

·     GRE、MPLS TE的相关介绍和配置请分别参见“三层技术-IP业务配置指导”中的“GRE”、MPLS配置指导中的“MPLS TE”。

 

1.1.1  IPv6 over IPv4隧道

1. IPv6 over IPv4隧道原理

IPv6 over IPv4隧道是在IPv6数据报文前封装上IPv4的报文头,通过隧道使IPv6报文穿越IPv4网络,实现隔离的IPv6网络的互通,如图1-1所示。IPv6 over IPv4隧道可以建立在主机—主机、主机—设备或设备—设备之间。隧道的终点可能是IPv6报文的最终目的地,也可能需要进一步转发。

说明

IPv6 over IPv4隧道两端的设备必须支持IPv4/IPv6双协议栈。

 

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

 

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

·     IPv6网络中的设备发送IPv6报文,该报文到达隧道的源端设备Device A。

·     Device A根据路由表判定该报文要通过隧道进行转发后,在IPv6报文前封装上IPv4的报文头,通过隧道的实际物理接口将报文转发出去。

·     封装报文通过隧道到达隧道目的端设备Device B,Device B判断该封装报文的目的地是本设备后,将对报文进行解封装。

·     Device B根据解封装后的IPv6报文的目的地址转发该IPv6报文。如果目的地就是本设备,则将IPv6报文转给上层协议处理。

2. IPv6 over IPv4隧道模式

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

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

·     如果IPv6 over IPv4隧道的终点地址采用内嵌IPv4地址的特殊IPv6地址形式,则可以从IPv6报文的目的地址中自动获取隧道终点的IPv4地址,这样的隧道称为“自动隧道”。

表1-1所示,根据对IPv6报文的封装方式的不同,IPv6 over IPv4隧道分为以下几种模式。表1-1中还列举了各隧道模式的关键配置参数。

表1-1 IPv6 over IPv4隧道模式

隧道类型

隧道模式

隧道源/目的地址

隧道接口地址

配置隧道

IPv6手动隧道

源/目的地址为手动配置的IPv4地址

IPv6地址

自动隧道

IPv4兼容IPv6自动隧道

源地址为手动配置的IPv4地址,目的地址不需配置

IPv4兼容IPv6地址,其格式为:

::IPv4-source-address/96

6to4隧道

源地址为手动配置的IPv4地址,目的地址不需配置

6to4地址,其格式为:

2002:IPv4-source-address::/48

ISATAP(Intra-Site Automatic Tunnel Addressing Protocol,站点内自动隧道寻址协议)隧道

源地址为手动配置的IPv4地址,目的地址不需配置

ISATAP地址,其格式为:

Prefix:0:5EFE:IPv4-source-address/64

 

(1)     IPv6手动隧道

手动隧道是点到点之间的链路,一条链路就是一个单独的隧道。主要用于边缘路由器—边缘路由器或主机—边缘路由器之间定期安全通信的稳定连接,可实现与远端IPv6网络的连接。

(2)     GRE隧道

使用标准的GRE协议可对IPv6报文进行封装,使IPv6报文能通过隧道穿越IPv4网络。与IPv6手动隧道相同,GRE隧道也是点到点之间的链路,每条链路都是一条单独的隧道。GRE隧道主要用于边缘路由器-边缘路由器、主机-边缘路由器定期安全通信的稳定连接。相关配置请参见“三层技术-IP业务配置指导”中的“GRE”。

(3)     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地址,在使用时有一定的局限性。

(4)     6to4隧道

·     普通6to4隧道

6to4隧道是点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络连接到IPv6网络。6to4隧道通过在IPv6报文的目的地址中嵌入IPv4地址,来实现自动获取隧道终点的IPv4地址。

6to4隧道采用特殊的6to4地址,其格式为:2002:abcd:efgh:子网号::接口ID/64,其中2002表示固定的IPv6地址前缀,abcd:efgh表示该6to4隧道对应的32位全球唯一的IPv4源地址,用16进制表示(如1.1.1.1可以表示为0101:0101)。2002:abcd:efgh之后的部分唯一标识了一个主机在6to4网络内的位置。通过这个嵌入的IPv4地址可以自动确定隧道的终点,使隧道的建立非常方便。

由于6to4地址的64位地址前缀中的16位子网号可以由用户自定义,前缀中的前48位已由固定数值、隧道起点或终点设备的IPv4地址确定,使IPv6报文通过隧道进行转发成为可能。6to4隧道可以实现利用IPv4网络完成IPv6网络的互连,克服了IPv4兼容IPv6自动隧道使用的局限性。

·     6to4中继

6to4隧道只能用于前缀为2002::/16的6to4网络之间的通信,但在IPv6网络中也会使用像2001::/16这样的IPv6网络地址。为了实现6to4网络和其它IPv6网络的通信,必须有一台6to4路由器作为网关转发到IPv6网络的报文,这台路由器就叫做6to4中继(6to4 relay)路由器。

如下图所示,6to4网络的边缘路由器Router A需配置一条静态路由,下一跳地址指向6to4中继路由器Router C的6to4地址,这样,所有去往IPv6网络的报文都会被转发到6to4中继路由器,之后再由6to4中继路由器转发到IPv6网络中,从而实现6to4网络(地址前缀以2002开始)与IPv6网络的互通。

图1-2 6to4隧道和6to4中继原理图

 

(5)     ISATAP隧道

随着IPv6技术的推广,现有的IPv4网络中将会出现越来越多的IPv6主机,ISATAP隧道技术为这种应用提供了一个较好的解决方案。ISATAP隧道是点到多点的自动隧道技术,通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。

使用ISATAP隧道时,IPv6报文的目的地址和隧道接口的IPv6地址都要采用特殊的ISATAP地址。ISATAP地址格式为:Prefix(64bit):0:5EFE:abcd:efgh。其中,64位的Prefix为任何合法的IPv6单播地址前缀,abcd:efgh表示32位IPv4源地址,用16进制表示(如1.1.1.1可以表示为0101:0101),该IPv4地址不要求全球唯一。通过这个嵌入的IPv4地址就可以自动建立隧道,完成IPv6报文的传送。

ISATAP隧道主要用于在IPv4网络中IPv6路由器—IPv6路由器、IPv6主机—IPv6路由器的连接。

图1-3 ISATAP隧道原理图

 

1.1.2  协议规范

与隧道技术相关的协议规范有:

·     RFC 1853:IP in IP Tunneling

·     RFC 2473:Generic Packet Tunneling in IPv6 Specification

·     RFC 2893:Transition Mechanisms for IPv6 Hosts and Routers

·     RFC 3056:Connection of IPv6 Domains via IPv4 Clouds

·     RFC 4214:Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)

1.2  隧道配置任务简介

表1-2 隧道配置任务简介

配置任务

说明

详细配置

配置Tunnel接口

必选

1.3 

配置IPv6 over IPv4隧道

配置IPv6手动隧道

根据组网情况,选择其一

1.4 

配置IPv4兼容IPv6自动隧道

1.5 

配置6to4隧道

1.6 

配置ISATAP隧道

1.7 

 

1.3  配置Tunnel接口

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

表1-3 配置Tunnel接口

配置步骤

命令

说明

进入系统视图

system-view

-

创建Tunnel接口,并进入Tunnel接口视图

interface tunnel number

必选

缺省情况下,设备上无Tunnel接口

配置接口描述信息

description text

可选

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

配置MTU值

配置Tunnel接口的IPv4 MTU值

mtu size

可选

缺省情况下,IPv4 MTU的值为1500

,IPv6 MTU的值为1480

配置Tunnel接口的IPv6 MTU值

ipv6 mtu size

配置Tunnel接口的带宽

tunnel bandwidth bandwidth-value

可选

缺省情况下,Tunnel接口的带宽为64kbps

恢复当前接口的缺省配置

default

可选

关闭Tunnel接口

shutdown

可选

缺省情况下,接口处于开启状态

 

说明

·     主备倒换或备板拔出时,建立在主控板或备板上的隧道不会被真正删除,若再配置相同的隧道,系统会提示隧道已经存在。如果需要真正删除隧道接口,请使用undo interface tunnel命令来删除。

·     ipv6 mtu命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6基础”。

·     目前,通过tunnel bandwidth命令配置的Tunnel接口带宽只用于动态路由协议计算隧道所在路径的cost值,不会影响接口的实际带宽。建议根据报文实际出接口的带宽值设置Tunnel接口带宽。

·     执行default命令并不能保证接口下的所有命令都能恢复到缺省情况,某些命令可能会由于不满足必备条件而恢复失败。因此,执行default命令后建议通过display this命令确认执行效果。

 

1.4  配置IPv6手动隧道

1.4.1  配置准备

设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,Ethernet接口,Loopback接口等),该接口将作为Tunnel接口的源接口。

1.4.2  配置IPv6手动隧道

表1-4 配置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 over IPv4隧道模式

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

设置Tunnel接口的源端地址或接口

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

必选

缺省情况下,Tunnel接口上没有设置源端地址和接口

设置Tunnel接口的目的端地址

destination ip-address

必选

缺省情况下,Tunnel接口上没有设置目的端地址

退回系统视图

quit

-

 

注意

·     以上各项Tunnel接口下进行的功能特性配置,在删除Tunnel接口后,该接口上的所有配置也将被删除。

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

 

1.4.3  配置举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP状态。

 

1. 组网需求

图1-4所示,两个IPv6网络分别通过Switch A和Switch B与IPv4网络连接,要求在Switch A和Switch B之间建立IPv6手动隧道,使两个IPv6网络可以互通。如果隧道终点的IPv4地址不能从IPv6报文的目的地址中自动获取,则需要配置IPv6手工隧道。

2. 组网图

图1-4 IPv6手动隧道组网图

 

3. 配置步骤

说明

在开始下面的配置之前,请确保Switch A和Switch B上已经创建相应的VLAN接口,且两者之间IPv4报文路由可达。

 

(1)     配置Switch A

# 使能IPv6转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 192.168.100.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的IPv6地址。

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 address 3002::1 64

[SwitchA-Vlan-interface101] quit

# 配置手动隧道。

[SwitchA] interface Tunnel 0

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

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] destination 192.168.50.1

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4

[SwitchA-Tunnel0] quit

# 配置从Switch A经过Tunnel0接口到Group 2的静态路由。

[SwitchA] ipv6 route-static 3003:: 64 Tunnel 0

(2)     配置Switch B

# 使能IPv6转发功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 192.168.50.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的IPv6地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 3003::1 64

[SwitchB-Vlan-interface101] quit

# 配置手动隧道。

[SwitchB] interface Tunnel 0

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

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] destination 192.168.100.1

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4

[SwitchB-Tunnel0] quit

# 配置从Switch B经过Tunnel0接口到Group 1的静态路由。

[SwitchB] ipv6 route-static 3002:: 64 Tunnel 0

4. 验证配置结果

完成以上配置之后,分别查看Switch ASwitch BTunnel接口状态如下:

[SwitchA] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:6401

  Global unicast address(es):

    3001::1, subnet is 3001::/64

  Joined group address(es):

    FF02::1:FF00:0

    FF02::1:FF00:1

    FF02::1:FFA8:6401

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    55

……(略)

[SwitchB] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:3201

  Global unicast address(es):

    3001::2, subnet is 3001::/64

  Joined group address(es):

    FF02::1:FF00:0

    FF02::1:FF00:1

    FF02::1:FFA8:3201

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    55

……(略)

# Switch A上可以Ping通对端的Vlan-int101接口的IPv6地址:

[SwitchA] ping ipv6 3003::1

  PING 3003::1 : 56  data bytes, press CTRL_C to break

    Reply from 3003::1

    bytes=56 Sequence=1 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=2 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=3 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=4 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=5 hop limit=64  time = 1 ms

 

  --- 3003::1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/1 ms

1.5  配置IPv4兼容IPv6自动隧道

1.5.1  配置准备

设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,Ethernet接口,Loopback接口等),该接口将作为Tunnel接口的源接口。

1.5.2  配置IPv4兼容IPv6自动隧道

表1-5 配置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 over IPv4隧道模式

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

设置Tunnel接口的源端地址或接口

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

必选

缺省情况下,Tunnel接口上没有设置源端地址或接口

配置隧道接口的IPv6 MTU值

ipv6 mtu mtu-size

可选

缺省情况下,IPv6 MTU的值为1480

 

注意

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

·     对于自动隧道,使用同种封装协议的Tunnel接口不能同时配置完全相同的源地址。

 

1.5.3  配置举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP状态。

 

1. 组网需求

图1-5所示,两台具有双协议栈的交换机Switch A和Switch B通过IPv4网络连接。在某些情况下,网络管理员希望建立IPv4兼容IPv6自动隧道,使得这两台设备能够通过IPv6协议互通。

2. 组网图

图1-5 IPv4兼容IPv6自动隧道组网图

 

3. 配置步骤

说明

在开始下面的配置之前,请确保Switch A和Switch B上已经创建相应的VLAN接口,且两者之间IPv4报文路由可达。

 

(1)     配置Switch A

# 使能IPv6转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 192.168.100.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置自动隧道。

[SwitchA] interface Tunnel 0

[SwitchA-Tunnel0] ipv6 address ::192.168.100.1/96

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 auto-tunnel

(2)     配置Switch B

# 使能IPv6转发功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 192.168.50.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置自动隧道。

[SwitchB] interface Tunnel 0

[SwitchB-Tunnel0] ipv6 address ::192.168.50.1/96

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 auto-tunnel

4. 验证配置结果

完成以上配置之后,分别查看Switch ASwitch BTunnel接口状态如下:

[SwitchA] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:6401

  Global unicast address(es):

    ::192.168.100.1, subnet is ::/96

  Joined group address(es):

    FF02::1:FFA8:6401

    FF02::1:FF00:0

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    65

……(略)

[SwitchB] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:3201

  Global unicast address(es):

    ::192.168.50.1, subnet is ::/96

  Joined group address(es):

    FF02::1:FFA8:3201

    FF02::1:FF00:0

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    65

……(略)

# Switch A上可以Ping通对端的IPv4兼容IPv6地址:

[RouterA] ping ipv6 ::192.168.50.1

  PING ::192.168.50.1 : 56  data bytes, press CTRL_C to break

    Reply from ::192.168.50.1

    bytes=56 Sequence=1 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=2 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=3 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=4 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=5 hop limit=64  time = 1 ms

 

  --- ::192.168.50.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/1 ms

1.6  配置6to4隧道

1.6.1  配置准备

设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,三层以太网接口,Loopback接口等),该接口将作为Tunnel接口的源接口。

1.6.2  配置6to4隧道

表1-6 配置6to4隧道

操作

命令

说明

进入系统视图

system-view

-

使能IPv6报文转发功能

ipv6

必选

缺省情况下,关闭IPv6报文转发功能

进入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 over IPv4隧道模式

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

设置Tunnel接口的源端地址或接口

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

必选

缺省情况下,Tunnel接口上没有设置源端地址和接口

退回系统视图

quit

-

 

注意

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

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

·     对于自动隧道,使用同种封装协议的Tunnel接口不能同时配置完全相同的源地址。

 

1.6.3  配置6to4隧道举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP状态。

 

1. 组网需求

图1-6所示,两个6to4网络通过网络边缘6to4 switch(Switch A和Switch B)与IPv4网络相连。在Switch A和Switch B之间建立6to4隧道,实现6to4网络中的主机Host A和Host B之间的互通。

2. 组网图

图1-6 6to4隧道组网图

 

3. 配置思路

为了实现6to4网络之间的互通,除了配置6to4隧道外,还需要为6to4网络内的主机及6to4 router配置6to4地址。

·     Switch A上接口Vlan-int100的IPv4地址为2.1.1.1/24,转换成IPv6地址后使用6to4前缀2002:0201:0101::/48。对此前缀进行子网划分,Tunnel0使用2002:0201:0101::/64子网,Vlan-int101使用2002:0201:0101:1::/64子网。

·     Switch B上接口Vlan-int100的IPv4地址为5.1.1.1/24,转换成IPv6地址后使用6to4前缀2002:0501:0101::/48。对此前缀进行子网划分,Tunnel0使用2002:0501:0101::/64子网,Vlan-int101使用2002:0501:0101:1::/64子网。

4. 配置步骤

说明

在开始下面的配置之前,请确保Switch A和Switch B上已经创建相应的VLAN接口,且两者之间IPv4报文路由可达。

 

(1)     配置Switch A

# 使能IPv6转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 2.1.1.1 24

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[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

[SwitchA-Tunnel0] ipv6 address 2002:201:101::1/64

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchA-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳为Tunnel接口的静态路由。

[SwitchA] ipv6 route-static 2002:: 16 tunnel 0

(2)     配置Switch B

# 使能IPv6转发功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 5.1.1.1 24

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 2002:0501:0101:1::1/64

[SwitchB-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchB] interface tunnel 0

[SwitchB-Tunnel0] ipv6 address 2002:0501:0101::1/64

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchB-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳为Tunnel接口的静态路由。

[SwitchB] ipv6 route-static 2002:: 16 tunnel 0

5. 验证配置结果

完成以上配置之后,Host A与Host B可以互相Ping通。

D:\>ping6 -s 2002:201:101:1::2 2002:501:101:1::2

 

Pinging 2002:501:101:1::2

from 2002:201:101:1::2 with 32 bytes of data:

 

Reply from 2002:501:101:1::2: bytes=32 time=13ms

Reply from 2002:501:101:1::2: bytes=32 time=1ms

Reply from 2002:501:101:1::2: bytes=32 time=1ms

Reply from 2002:501:101:1::2: bytes=32 time<1ms

 

Ping statistics for 2002:501:101:1::2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 13ms, Average = 3ms

1.6.4  配置6to4中继举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于Down状态,如果要对这些接口进行配置,请先使用undo shutdown命令使这些接口处于UP状态。

 

1. 组网需求

图1-7所示,Switch A为6to4交换机,其IPv6侧的网络使用6to4地址。Switch B作为6to4中继交换机,它和IPv6网络(2001::/16)相连。要求在Switch A和Switch B之间配置6to4隧道,使得6to4网络中的主机与IPv6网络中的主机互通。

2. 组网图

图1-7 6to4中继组网图

 

3. 配置步骤

说明

·     在开始下面的配置之前,请确保Switch A和Switch B上已经创建相应的VLAN接口,且两者之间IPv4报文路由可达。

·     6to4中继交换机的配置与6to4交换机的配置相同,但为实现6to4网络与IPv6网络的互通,需要在6to4交换机上配置到IPv6网络的路由。

 

(1)     配置Switch A

# 使能IPv6转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 2.1.1.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[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

[SwitchA-Tunnel0] ipv6 address 2002:0201:0101::1/64

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchA-Tunnel0] quit

# 配置到6to4中继的静态路由。

[SwitchA] ipv6 route-static 2002:0601:0101:: 64 tunnel 0

# 配置到纯IPv6网络的缺省路由。

[SwitchA] ipv6 route-static :: 0 2002:0601:0101::1

(2)     配置Switch B

# 使能IPv6转发功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 6.1.1.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 2001::1/16

[SwitchB-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchB] interface tunnel 0

[SwitchB-Tunnel0] ipv6 address 2002:0601:0101::1/64

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchB-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳为Tunnel接口的静态路由。

[SwitchB] ipv6 route-static 2002:: 16 tunnel 0

4. 验证配置结果

完成以上配置之后,Host A可以Ping通Host B。

D:\>ping6 -s 2002:201:101:1::2 2001::2

 

Pinging 2001::2

from 2002:201:101:1::2 with 32 bytes of data:

 

Reply from 2001::2: bytes=32 time=13ms

Reply from 2001::2: bytes=32 time=1ms

Reply from 2001::2: bytes=32 time=1ms

Reply from 2001::2: bytes=32 time<1ms

 

Ping statistics for 2001::2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 13ms, Average = 3ms

1.7  配置ISATAP隧道

1.7.1  配置准备

设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,Ethernet接口,Loopback接口等),该接口将作为Tunnel接口的源接口。

1.7.2  配置ISATAP隧道

表1-7 配置ISATAP隧道

操作

命令

说明

进入系统视图

system-view

-

使能IPv6报文转发功能

ipv6

必选

缺省情况下,IPv6报文转发功能处于关闭状态

进入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 over IPv4隧道模式

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

设置Tunnel接口的源端地址或接口

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

必选

缺省情况下,Tunnel接口上没有设置源端地址和接口

退回系统视图

quit

-

 

注意

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

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

·     对于自动隧道,使用同种封装协议的Tunnel接口不能同时配置完全相同的源地址。

 

1.7.3  配置举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于Down状态,如果要对这些接口进行配置,请先使用undo shutdown命令使这些接口处于UP状态。

 

1. 组网需求

图1-8所示,IPv6网络和IPv4网络通过ISATAP交换机相连,在IPv4网络侧分布着一些IPv6主机。要求将IPv4网络中的IPv6主机通过ISATAP隧道接入到IPv6网络。

2. 组网图

图1-8 ISATAP隧道组网图

 

3. 配置步骤

说明

在开始下面的配置之前,请确保Switch上已经创建相应的VLAN接口,且Switch的Vlan-interface101和ISATAP host之间IPv4报文路由可达。

 

(1)     配置Switch

# 使能IPv6转发功能。

<Switch> system-view

[Switch] ipv6

# 配置各接口地址。

[Switch] interface vlan-interface 100

[Switch-Vlan-interface100] ipv6 address 3001::1/64

[Switch-Vlan-interface100] quit

[Switch] interface vlan-interface 101

[Switch-Vlan-interface101] ip address 1.1.1.1 255.0.0.0

[Switch-Vlan-interface101] quit

# 配置ISATAP隧道。

[Switch] interface tunnel 0

[Switch-Tunnel0] ipv6 address 2001::5efe:0101:0101 64

[Switch-Tunnel0] source vlan-interface 101

[Switch-Tunnel0] tunnel-protocol ipv6-ipv4 isatap

# 取消对RA消息发布的抑制,使主机可以通过交换机发布的RA消息获取地址前缀等信息。

[Switch-Tunnel0] undo ipv6 nd ra halt

[Switch-Tunnel0] quit

# 配置到ISATAP主机的静态路由。

[Switch] ipv6 route-static 2001:: 16 tunnel 0

(2)     配置ISATAP主机

ISATAP主机上的具体配置与主机的操作系统有关,下面仅以Windows XP操作系统为例进行说明。

# 在主机上安装IPv6协议。

C:\>ipv6 install

# 在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 1.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: 1.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隧道已经成功建立。

C:\>ping 2001::5efe:1.1.1.1

 

Pinging 2001::5efe:1.1.1.1 with 32 bytes of data:

 

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

 

Ping statistics for 2001::5efe:1.1.1.1:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 1ms, Maximum = 1ms, Average = 1ms

4. 验证配置结果

完成以上配置之后,ISATAP主机就可访问IPv6网络中的主机。

1.8  隧道显示和维护

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

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

表1-8 隧道显示和维护

操作

命令

显示Tunnel接口的相关信息

display interface [ tunnel ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ]

display interface [ tunnel [ number ] ] [ brief [ description ] ] [ | { begin | exclude | include } regular-expression ]

显示Tunnel接口的IPv6相关信息

display ipv6 interface tunnel [ number ] [ brief ] [ | { begin | exclude | include } regular-expression ]

清除Tunnel接口的统计信息

reset counters interface [ tunnel [number ] ]

 

1.9  常见错误配置举例

故障现象:在Tunnel接口上配置了相关的参数后(例如隧道的起点、终点地址和隧道模式)仍未处于up状态。

故障排除:可以按照如下步骤进行。

(1)     Tunnel接口未处于up状态的最常见原因是隧道起点的物理接口没有处于up状态。使用display interface tunneldisplay ipv6 interface tunnel命令查看隧道起点的物理接口状态为up还是down。如果物理接口状态是down,请检查网络连接。

(2)     Tunnel接口未处于up状态的另一个可能的原因是隧道的终点地址不可达。使用display ipv6 routing-tabledisplay ip routing-table命令查看是否终点地址通过路由可达。如果路由表中没有保证隧道通讯的路由项,请配置相关路由。

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

新华三官网
联系我们