38-IPv6管理操作
本章节下载 (571.25 KB)
l H3C S2000-EA系列以太网交换机只支持IPv6管理功能,不支持IPv6路由转发及其相关功能。
l 在以下介绍中出现的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代因特网),它是IETF(Internet Engineering Task Force,因特网工程任务组)设计的一套规范,是IPv4的升级版本。IPv6和IPv4之间最显著的区别为:IP地址的长度从32比特增加到128比特。
通过将IPv4报文头中的某些字段裁减或移入到扩展报文头,减小了IPv6基本报文头的长度。IPv6使用固定长度的报文头,从而简化了转发设备对IPv6报文的处理,提高了转发效率。尽管IPv6地址长度是IPv4地址长度的四倍,但IPv6基本报文头的长度只有40字节,为IPv4报文头长度(不包括选项字段)的两倍。具体的报文头格式比较,请参见图1-1。
图1-1 IPv4报文头和IPv6基本报文头格式比较
IPv6的源地址与目的地址长度都是128比特(16字节)。它可以提供超过3.4×1038种可能的地址空间,完全可以满足多层次的地址划分需要,以及公有网络和机构内部私有网络的地址分配。
IPv6的地址空间采用了层次化的地址结构,有利于路由快速查找,同时可以借助路由聚合,有效减少IPv6路由表占用的系统资源。
为了简化主机配置,IPv6支持有状态地址配置和无状态地址配置:
l 有状态地址配置是指从服务器(如DHCP服务器)获取IPv6地址及相关信息;
l 无状态地址配置是指主机根据自己的链路层地址及路由器发布的前缀信息自动配置IPv6地址及相关信息。
同时,主机也可根据自己的链路层地址及默认前缀(FE80::/64)自动生成链路本地地址,实现与本链路上其他主机的通信。
IPv6将IPSec作为它的标准扩展头,可以提供端到端的安全特性。这一特性也为解决网络安全问题提供了标准,并提高了不同IPv6应用之间的互操作性。
IPv6报文头的流标签(Flow Label)字段实现流量的标识,允许设备对某一流中的报文进行识别并提供特殊处理。
IPv6的邻居发现协议是通过一组ICMPv6(Internet Control Message Protocol for IPv6,IPv6的因特网控制报文协议)消息来实现的。它代替了ARP(Address Resolution Protocol,地址解析协议)、ICMPv4路由器发现和ICMPv4重定向消息,管理着邻居节点间(即同一链路上的节点)信息的交互,并提供了一系列其他功能。
IPv6取消了IPv4报文头中的选项字段,并引入了多种扩展报文头,在提高处理效率的同时还大大增强了IPv6的灵活性,为IP协议提供了良好的扩展能力。IPv4报文头中的选项字段最多只有40字节,而IPv6扩展报文头的大小只受到IPv6报文大小的限制。
IPv6地址被表示为以冒号(:)分隔的一串16比特的十六进制数。每个IPv6地址被分为8组,每组的16比特用4个十六进制数来表示,组和组之间用冒号隔开,比如:2001:0000:130F:0000:0000:09C0:876A:130B。
为了简化IPv6地址的表示,对于IPv6地址中的“0”可以有下面的处理方式:
l 每组中的前导“0”可以省略,即上述地址可写为2001:0:130F:0:0:9C0:876A:130B。
l 如果地址中包含连续两个或多个均为0的组,则可以用双冒号“::”来代替,即上述地址可写为2001:0:130F::9C0:876A:130B。
在一个IPv6地址中只能使用一次双冒号“::”,否则当设备将“::”解析为0以恢复128位地址时,将无法确定“::”所代表的0的个数。
IPv6地址由两部分组成:地址前缀与接口标识。其中,地址前缀相当于IPv4地址中的网络号码部分,接口标识相当于IPv4地址中的主机号码部分。
地址前缀的表示方式为:IPv6地址/前缀长度。其中,IPv6地址是前面所列出的任一形式,而前缀长度是一个十进制数,表示IPv6地址左起多少位为地址前缀。
IPv6主要有三种类型的地址:单播地址、组播地址和任播地址。
l 单播地址:用来唯一标识一个接口,类似于IPv4的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的接口。
l 组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
l 任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。
IPv6中没有广播地址,广播地址的功能通过组播地址来实现。
IPv6地址类型是由格式前缀来指定的,主要地址类型与格式前缀的对应关系如表1-1所示。
地址类型 |
格式前缀(二进制) |
IPv6前缀标识 |
|
单播地址 |
未指定地址 |
00...0 (128 bits) |
::/128 |
环回地址 |
00...1 (128 bits) |
::1/128 |
|
链路本地地址 |
1111111010 |
FE80::/10 |
|
站点本地地址 |
1111111011 |
FEC0::/10 |
|
全球单播地址 |
其他形式 |
- |
|
组播地址 |
11111111 |
FF00::/8 |
|
任播地址 |
从单播地址空间中进行分配,使用单播地址的格式 |
IPv6单播地址的类型可有多种,包括全球单播地址、链路本地地址和站点本地地址等。
l 全球单播地址等同于IPv4公网地址,提供给网络服务提供商。这种地址类型允许路由前缀的聚合,从而限制了全球路由表项的数量。
l 链路本地地址用于邻居发现协议,也用于无状态自动配置中本地链路上节点之间的通信。使用链路本地地址作为源或目的地址的数据报文不会被转发到其他链路上。
l 站点本地地址与IPv4中的私有地址类似。使用站点本地地址作为源或目的地址的数据报文不会被转发到本站点(相当于一个私有网络)外的其它站点。
l 环回地址:单播地址0:0:0:0:0:0:0:1(简化表示为::1)称为环回地址,不能分配给任何物理接口。它的作用与在IPv4中的环回地址相同,即节点用来给自己发送IPv6报文。
l 未指定地址:地址::称为未指定地址,不能分配给任何节点。在节点获得有效的IPv6地址之前,可在发送的IPv6报文的源地址字段填入该地址,但不能作为IPv6报文中的目的地址。
表1-2所示的组播地址,是预留的特殊用途的组播地址。
表1-2 预留的IPv6组播地址列表
地址 |
应用 |
FF01::1 |
节点本地范围所有节点组播地址 |
FF02::1 |
链路本地范围所有节点组播地址 |
FF01::2 |
节点本地范围所有路由器组播地址 |
FF02::2 |
链路本地范围所有路由器组播地址 |
FF05::2 |
站点本地范围所有路由器组播地址 |
另外,还有一类组播地址:被请求节点(Solicited-Node)地址。该地址主要用于获取同一链路上邻居节点的链路层地址及实现重复地址检测。每一个单播或任播IPv6地址都有一个对应的被请求节点地址。其格式为:
FF02:0:0:0:0:1:FFXX:XXXX
其中,FF02:0:0:0:0:1:FF为104位固定格式;XX:XXXX为单播或任播IPv6地址的后24位。
IPv6单播地址中的接口标识符用来标识链路上的一个唯一的接口。目前IPv6单播地址基本上都要求接口标识符为64位。IEEE EUI-64格式的接口标识符是从接口的链路层地址(MAC地址)变化而来的。IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置(从高位开始的第24位后)插入十六进制数FFFE(1111111111111110)。为了确保这个从MAC地址得到的接口标识符是唯一的,还要将Universal/Local (U/L)位(从高位开始的第7位)设置为“1”。最后得到的这组数就作为EUI-64格式的接口标识符。
图1-2 MAC地址到EUI-64格式的接口标识符的转换过程
IPv6邻居发现协议使用五种类型的ICMPv6消息,实现下面一些功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置、重定向等功能。
邻居发现协议使用的ICMPv6消息的类型及作用如表1-3所示。
表1-3 邻居发现协议使用的ICMPv6消息类型及作用
ICMPv6消息 |
作用 |
邻居请求消息NS(Neighbor Solicitation) |
获取邻居的链路层地址 |
验证邻居是否可达 |
|
进行重复地址检测 |
|
邻居通告消息NA(Neighbor Advertisement) |
对NS消息进行响应 |
节点在链路层地址变化时主动发送NA消息,向邻居节点通告本节点的变化信息 |
|
路由器请求消息RS(Router Solicitation) |
主机启动后,通过RS消息向路由器发出请求,请求前缀和其他配置信息,用于主机的自动配置 |
路由器通告消息RA(Router Advertisement) |
对RS消息进行响应 |
在没有抑制RA消息发布的条件下,路由器会周期性地发布RA消息,其中包括前缀和一些标志位的信息 |
|
重定向消息(Redirect) |
当满足一定的条件时,缺省网关通过向源主机发送重定向消息,使主机重新选择正确的下一跳地址进行后续报文的发送 |
l H3C S2000-EA系列以太网交换机不支持RS、RA和Redirect消息。
l H3C S2000-EA系列以太网交换机只支持IPv6邻居发现协议实现功能中的三种:地址解析、验证邻居是否可达和重复地址检测,因此本章只具体介绍这三种功能及其相关配置。
邻居发现协议提供的主要功能如下:
获取同一链路上邻居节点的链路层地址(与IPv4的ARP功能相同),通过邻居请求消息NS和邻居通告消息NA实现。如图1-3所示,节点A要获取节点B的链路层地址。
(1) 节点A以组播方式发送NS消息。NS消息的源地址是节点A的接口IPv6地址,目的地址是节点B的被请求节点组播地址,且消息中包含了节点A的链路层地址。
(2) 节点B收到NS消息后,判断报文的目的地址是否为自己的IPv6地址对应的被请求节点组播地址。如果是,则B可以学习到A的链路层地址,并以单播方式返回NA消息,其中包含了自己的链路层地址。
(3) 节点A从收到的NA消息中就可获取到节点B的链路层地址。之后双方即可通信。
在获取到邻居节点的链路层地址后,通过邻居请求消息NS和邻居通告消息NA可以验证邻居节点是否可达。
(1) 节点发送NS消息,其中目的地址是邻居节点的IPv6地址。
(2) 如果收到邻居节点的确认报文,则认为邻居可达;否则,认为邻居不可达。
当节点获取到一个IPv6地址后,需要使用重复地址检测功能确定该地址是否已被其他节点使用(与IPv4的免费ARP功能相似)。通过邻居请求消息NS和邻居通告消息NA实现,如图1-4所示。
(1) 节点A发送NS消息,NS消息的源地址是未指定地址::,目的地址是待检测的IPv6地址对应的被请求节点组播地址,消息内容中包含了待检测的IPv6地址。
(2) 如果节点B已经使用这个IPv6地址,则会返回NA消息。其中包含了自己的IPv6地址。
(3) 节点A收到节点B发来的NA消息,就知道该IPv6地址已被使用。反之,则说明该地址未被使用,节点A就可使用此IPv6地址。
ND Snooping功能用于二层交换网络环境,通过侦听DAD(Duplicate Address Detection,重复地址检测) NS消息来建立ND Snooping表项,表项内容包括报文的源IPv6地址、源MAC地址、所属VLAN、入端口等信息。
目前,ND Snooping表项有两个用途:
l 与ND Detection功能配合使用。关于ND Detection的详细介绍,请参见“1.1.5 ND Detection功能”。
l 与IPv6过滤功能配合使用。关于IPv6过滤功能的详细介绍,请参见“1.1.7 IPv6过滤功能”。
当一个VLAN使能ND Snooping后,该VLAN内所有端口接收的ND报文均会被重定向到CPU。CPU对这些ND报文进行分析,获取报文的源IPv6地址、源MAC地址、源VLAN和入端口信息,并根据这些信息来新建或更新ND Snooping表项。
下面将具体介绍ND Snooping表项的新建、更新和老化机制。
(1) 新建表项机制
设备只会根据收到的DAD NS消息来新建ND Snooping表项。
(2) 更新表项机制
设备收到一个ND报文后,首先找到与该报文源IPv6地址对应的表项,然后设备要判断收到的ND报文信息与现有该表项信息是否一致。
l 如果一致,则更新该表项的老化时间;
l 如果不一致,但收到的是DAD NS消息,则忽略该消息;
l 如果不一致,并且收到的是除DAD NS以外的ND报文,则进行主动确认。
主动确认过程如下:
l 首先,设备将探测现有该表项的正确性。设备对外发送DAD NS消息(消息中的待检测IPv6地址就是ND Snooping表项中的IPv6地址),每隔1秒发送一次,最多发送3次。如果在发送过程中收到对应的NA消息(消息的源IPv6地址、源MAC地址、源VLAN和入端口信息均和现有表项信息一致),则停止发送DAD NS报文,并更新表项老化时间;如果在发送第一个DAD NS消息后的5秒内都没有收到对应的NA消息,则开始探测新收到报文的真实性。
l 探测新收到报文(报文A)真实性的过程如下:设备对外发送DAD NS消息(消息中的待检测IPv6地址就是报文A的源IPv6地址),每隔1秒发送一次,最多发送3次。如果在发送过程中收到对应的NA消息(消息的源IPv6地址、源MAC地址、源VLAN和入端口信息均和报文A一致),则停止发送DAD NS报文,并更新该表项内容;如果在发送第一个DAD NS消息后的5秒内都没有收到对应的NA消息,则该表项不会被更新。
(3) 老化表项机制
ND Snooping表项的老化时间为25分钟。如果一个ND Snooping表项自最后一次更新后15分钟内没有收到ND更新报文,则开始进行主动确认:设备对外发送DAD NS消息(消息中的待检测IPv6地址就是ND Snooping表项中的IPv6地址),每隔1秒发送一次,最多发送3次。
l 如果在发送过程中收到对应的NA消息(消息的源IPv6地址、源MAC地址、源VLAN和入端口信息均和现有表项信息一致),则停止发送DAD NS报文,并更新表项老化时间;
l 如果5秒内没有收到对应的NA消息,则等到25分钟的老化时间过后删除该表项。
IPv6 ND(Neighbor Discovery,邻居发现)协议使用五种类型的ICMPv6消息,实现下面五种功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现及地址自动配置、重定向。
ND协议使用的五种ICMPv6消息如下:
l 邻居请求消息NS(Neighbor Solicitation)
l 邻居通告消息NA(Neighbor Advertisement)
l 路由器请求消息RS(Router Solicitation)
l 路由器通告消息RA(Router Advertisement)
l 重定向消息RR(Redirect)
ND协议功能强大,但是却没有任何安全机制,容易被攻击发起者利用。
一般ND攻击来自于用户,当设备Switch作为二层接入设备时,正常情况下,用户发送的ND组播报文,将在VLAN内广播,ND单播报文,将进行二层转发。攻击者可以仿冒其他用户、仿冒网关发送伪造的ND报文,对网络进行攻击。
如图1-5所示:Host A和Host C通过Switch进行通信。此时,如果有黑客(Host B)想探听Host A和Host C之间的通信,它可以分别给这两台主机发送伪造的ND报文,使Host A和Host C用MAC_B更新自身ND映射表中与对方IP地址相应的表项。此后,Host A 和Host C之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的。
图1-5 ND攻击示意图
伪造的ND报文具有如下特点:
l 伪造的ND报文中源MAC地址和链路层选项地址中的MAC地址不一致。
l 伪造的ND报文中源IPv6地址和源MAC地址的映射关系不是合法用户真实的映射关系。
ND Detection功能主要应用于接入设备上,检查用户的合法性。对于合法用户的ND报文进行正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击。
ND Detection功能将接入设备上的端口分为两种:ND信任端口、ND非信任端口。
l 对于ND信任端口,不进行用户合法性检查;
l 对于ND非信任端口,如果收到RA和RR消息,则认为是非法报文直接丢弃,如果收到其它类型的ND报文,则需要进行用户合法性检查,以防止仿冒用户的攻击。
用户合法性检查是根据ND报文中源IPv6地址和源MAC地址,检查用户是否是报文收到端口所属VLAN上的合法用户,包括基于IPv6静态绑定表项的检查、基于ND Snooping表项的检查和基于DHCPv6 Snooping安全表项的检查。在这三种表项都存在的情况下,检查过程如下:
l 首先进行基于IPv6静态绑定表项检查。如果找到了对应源IPv6地址和源MAC地址的静态绑定表项,认为该ND报文合法,进行转发。如果找到了对应源IPv6地址的静态绑定表项但源MAC地址不符,认为该ND报文非法,进行丢弃。如果没有找到对应源IPv6地址的静态绑定表项,继续进行DHCPv6 Snooping安全表项、ND Snooping安全表项检查。
l 在基于IPv6静态绑定表项检查之后进行基于DHCPv6 Snooping安全表项、ND Snooping安全表项检查,只要符合两者中任何一个,就认为该ND报文合法,进行转发。
l 如果所有检查都没有找到匹配的表项,则认为是非法报文,直接丢弃。
l IPv6静态绑定表项通过ipv6 source static binding命令生成,详细介绍请参见“1.2.10 配置IPv6过滤功能”。
l DHCPv6 Snooping安全表项通过DHCPv6 Snooping功能自动生成,详细介绍请参见“1.2.9 配置DHCPv6 Snooping功能”。
l ND Snooping安全表项通过ND Snooping功能自动生成,详细介绍请参见“1.2.7 1. 配置ND Snooping功能”。
出于安全性的考虑,网络管理员可能需要记录用户上网时所用的IPv6地址,确认用户从DHCPv6服务器获取的IPv6地址和用户主机的MAC地址的对应关系。DHCPv6 Snooping是DHCPv6的一种安全特性,具有如下功能:
(1) 记录DHCPv6客户端IPv6地址与MAC地址的对应关系。
(2) 保证客户端从合法的服务器获取IPv6地址。
DHCPv6 Snooping通过在数据链路层上监听DHCPv6的REQUEST报文和ACK报文,记录DHCPv6 Snooping表项,其中包括客户端的MAC地址、获取到的IPv6地址、与DHCPv6客户端连接的端口及该端口所属的VLAN等信息。网络管理员可以通过display dhcp-snooping ipv6 命令查看客户端获取的IPv6地址信息,以便了解用户上网时所用的IPv6地址,并对其进行管理和监控。
网络中如果存在私自架设的伪DHCPv6服务器,则可能导致DHCPv6客户端获取错误的IPv6地址和网络配置参数,无法正常通信。为了使DHCPv6客户端能通过合法的DHCPv6服务器获取IPv6地址,DHCPv6 Snooping提供了信任端口机制,它允许用户将直接或间接连接合法DHCPv6服务器的端口设置为信任端口(Trusted Port),其它端口设置为不信任端口(Untrusted Port):
l 信任端口正常转发接收到的DHCPv6报文。
l 不信任端口接收到DHCPv6服务器发送的应答报文后,丢弃该报文。
如图1-6所示,连接DHCPv6服务器或其他DHCPv6 Snooping设备的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCPv6客户端只能从合法的DHCPv6服务器获取地址,私自架设的伪DHCPv6服务器无法为DHCPv6客户端分配地址。
通过在设备接入用户侧的端口上启用IPv6过滤功能,可以对端口收到的报文进行过滤控制,防止非法报文通过端口,从而限制了对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高了端口的安全性。
图1-7 IPv6过滤功能示意图
IPv6过滤功能的实现是通过IPv6静态绑定表项或IPv6动态绑定表项中的IP/MAC地址对应关系,对非法IPv6报文进行过滤。
通过手工配置产生静态绑定表项来完成端口的控制功能,适用于局域网络中主机数较少且主机使用静态配置IPv6地址的情况,比如在接入某重要服务器的端口上配置静态绑定表项,仅允许该服务器的报文通过。
通过自动获取DHCPv6 Snooping或ND Snooping的表项来过滤端口接收到的IPv6报文,从而完成端口控制功能,适用于局域网络中主机较多,并且采用DHCPv6进行动态主机配置的情况,可有效防止IP地址冲突、盗用等问题。
l DHCPv6 Snooping功能的详细介绍请参考“1.2.9 配置DHCPv6 Snooping功能”。
l ND Snooping功能的详细介绍请参考“1.2.7 配置ND Snooping 功能”。
在IPv6网络中,通过支持IPv6的DNS(Domain Name System,域名系统)实现域名与IPv6地址的转换。IPv6 DNS与IPv4 DNS的区别只是将域名转换为IPv6地址,而非IPv4地址。
IPv6 DNS与IPv4 DNS相同,也分为静态域名解析和动态域名解析。两种域名解析的作用和实现方式也与IPv4 DNS一样。具体描述请参见本手册“域名解析”相关部分的介绍。
通常,连接IPv4和IPv6网络的DNS服务器中既包含A记录(IPv4地址)也包含AAAA记录(IPv6地址),可以进行域名与IPv4地址的转换,也可以进行域名与IPv6地址的转换。此时,DNS服务器兼具IPv6 DNS和IPv4 DNS的功能。
与IPv6基础相关的协议规范有:
l RFC 1881:IPv6 Address Allocation Management
l RFC 1887:An Architecture for IPv6 Unicast Address Allocation
l RFC 1981:Path MTU Discovery for IP version 6
l RFC 2375:IPv6 Multicast Address Assignments
l RFC 2460:Internet Protocol, Version 6 (IPv6) Specification.
l RFC 2461:Neighbor Discovery for IP Version 6 (IPv6)
l RFC 2462:IPv6 Stateless Address Autoconfiguration
l RFC 2463:Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
l RFC 2464:Transmission of IPv6 Packets over Ethernet Networks
l RFC 2526:Reserved IPv6 Subnet Anycast Addresses
l RFC 3307:Allocation Guidelines for IPv6 Multicast Addresses
l RFC 3513:Internet Protocol Version 6 (IPv6) Addressing Architecture
l RFC 3596:DNS Extensions to Support IP Version 6
表1-4 IPv6配置任务简介
配置任务 |
说明 |
详细配置 |
配置IPv6单播地址 |
必选 |
|
配置IPv6邻居发现协议 |
可选 |
|
配置IPv6静态路由 |
可选 |
|
配置TCP6 |
可选 |
|
配置指定时间内发送ICMPv6差错报文的最大个数 |
可选 |
|
配置设备发送的ICMPv6回送应答报文的跳数限制 |
可选 |
|
配置ND Snooping 功能 |
可选 |
|
配置ND Detection功能 |
可选 |
|
配置DHCPv6 Snooping功能 |
可选 |
|
配置IPv6过滤功能 |
可选 |
|
配置IPv6 DNS |
可选 |
|
IPv6显示与维护 |
可选 |
l 当需要访问IPv6网络时,必须配置IPv6地址。全球单播地址、站点本地地址、链路本地地址三者必选其一。
l 当需要访问使用IPv6的公网时,必须配置IPv6全球单播地址。
IPv6站点本地地址和全球单播地址可以通过下面两种方式配置:
l 采用EUI-64格式形成:当配置采用EUI-64格式形成IPv6地址时,接口的IPv6地址的前缀是所配置的前缀,而接口标识符则由接口的链路层地址转化而来;
l 手工配置:用户手工配置IPv6站点本地地址或全球单播地址。
IPv6的链路本地地址可以通过两种方式获得:
l 自动生成:设备根据链路本地地址前缀(FE80::/64)及接口的链路层地址,自动为接口生成链路本地地址;
l 手动指定:用户手工配置IPv6链路本地地址。
表1-5 配置IPv6单播地址
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VLAN接口视图 |
interface interface-type interface-number |
- |
|
配置IPv6全球单播地址或站点本地地址 |
手工指定IPv6地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
二者必选其一 缺省情况下,接口没有配置站点本地地址和全球单播地址。需要注意的是,eui-64格式参数prefix-length指定的前缀长度不能大于64 |
采用EUI-64格式形成IPv6地址 |
ipv6 address ipv6-address/prefix-length eui-64 |
||
配置IPv6链路本地地址 |
配置自动生成链路本地地址 |
ipv6 address auto link-local |
可选 缺省情况下,当接口配置了IPv6站点本地地址或全球单播地址后,同时会自动生成链路本地地址 |
手工指定接口的链路本地地址 |
ipv6 address ipv6-address link-local |
l H3C S2000-EA系列以太网交换机只能在一个VLAN接口上配置IPv6单播地址,且一个接口上只能配置1个全球单播地址或1个站点本地地址。
l 当接口配置了IPv6站点本地地址或全球单播地址后,同时会自动生成链路本地地址。且与采用ipv6 address auto link-local命令生成的链路本地地址相同。
l 配置链路本地地址时,手工指定方式的优先级高于自动生成方式。即如果先采用自动生成方式,之后手工指定,则手工指定的地址会覆盖自动生成的地址;如果先手工指定,之后采用自动生成的方式,则自动配置不会立刻生效,在删除手工指定的地址后,则接口的链路本地地址将更改为系统自动生成的地址。
l 只有使用ipv6 address auto link-local命令后,才能使用undo ipv6 address auto link-local命令。但如果此时已经配置了IPv6站点本地地址或全球单播地址,由于系统会自动生成链路本地地址,所以接口仍有链路本地地址。如果此时没有配置IPv6站点本地地址或全球单播地址,则接口没有链路本地地址。
将邻居节点的IPv6地址解析为链路层地址,可以通过邻居请求消息NS及邻居通告消息NA来动态实现,也可以通过命令配置静态邻居表项。静态邻居表项目前有两种配置方式:
l 配置VLAN接口、该接口的IPv6地址、该接口的链路层地址;
l 配置VLAN中的端口、该VLAN对应的VLAN接口的IPv6地址、该VLAN对应的VLAN接口的链路层地址。
第二种配置方式需要保证VLAN所对应的VLAN接口已存在。在配置后,设备会将VLAN所对应的VLAN接口与IPv6地址相对应来唯一标识一个静态邻居表项。
表1-6 配置静态邻居表项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态邻居表项 |
ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number } |
必选 |
设备可以通过NS消息和NA消息来动态获取邻居节点的链路层地址,并将其加入到邻居表中。如果动态获取的邻居数量过多,将可能导致设备的转发性能下降。为此,可以通过设置接口上允许动态学习的邻居的最大个数来进行限制。当接口上动态学习的邻居个数达到所设置的最大值时,该接口将不再学习邻居信息。
表1-7 配置接口上允许动态学习的邻居的最大个数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface interface-type interface-number |
- |
配置接口上允许动态学习的邻居的最大个数 |
ipv6 neighbors max-learning-num number |
可选 缺省情况下,接口上允许动态学习的邻居的最大个数为1024 |
接口获得IPv6地址后,将发送邻居请求消息进行重复地址检测,如果在指定的时间内(通过ipv6 nd ns retrans-timer命令配置)没有收到响应,则继续发送邻居请求消息,当发送的次数达到所配置的次数后,仍未收到响应,则认为该地址可用。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface interface-type interface-number |
- |
配置重复地址检测时发送邻居请求消息的次数 |
ipv6 nd dad attempts value |
可选 缺省情况下,重复地址检测时发送邻居请求报文的次数为1,当value取值为0时,表示禁止重复地址检测 |
设备发送NS消息后,如果未在指定的时间间隔内收到响应,则会重新发送NS消息。
表1-9 配置发送NS消息的时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface interface-type interface-number |
- |
设置发送NS消息的时间间隔 |
ipv6 nd ns retrans-timer value |
可选 缺省情况下,接口发送NS消息的时间间隔为1000毫秒 |
当通过邻居可达性检测确认邻居可达后,在所设置的可达时间内,设备认为邻居可达;超过设置的时间后,如果需要向邻居发送报文,会重新确认邻居是否可达。
表1-10 配置接口保持邻居可达状态的时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface interface-type interface-number |
- |
配置接口保持邻居可达状态的时间 |
ipv6 nd nud reachable-time value |
可选 缺省情况下,接口保持邻居可达状态的时间为30000毫秒 |
在小型IPv6网络中,可以通过配置IPv6静态路由达到网络互连的目的。
表1-11 配置IPv6静态路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6静态路由 |
ipv6 route-static ipv6-address prefix-length [ interface-type interface-number ] nexthop-address |
必选 缺省情况下,未配置IPv6静态路由 |
可以配置的TCP6属性包括:
l synwait定时器:当发送SYN报文时,TCP6启动synwait定时器,如果synwait定时器超时前未收到回应报文,则TCP6连接建立不成功。
l finwait定时器:当TCP6的连接状态为FIN_WAIT_2时,启动finwait定时器,如果在定时器超时前没有收到报文,则TCP6连接终止;如果收到FIN报文,则TCP6连接状态变为TIME_WAIT状态;如果收到非FIN报文,则从收到的最后一个非FIN报文开始重新计时,在超时后中止连接。
l TCP6的接收和发送缓冲区的大小。
表1-12 配置TCP6
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置TCP6的finwait定时器 |
tcp ipv6 timer fin-timeout wait-time |
可选 缺省情况下,finwait定时器的值为675秒 |
配置TCP6的synwait定时器 |
tcp ipv6 timer syn-timeout wait-time |
可选 缺省情况下,synwait定时器的值75秒 |
配置TCP6的接收和发送缓冲区大小 |
tcp ipv6 window size |
可选 缺省情况下,TCP6的接收和发送缓冲区大小为8KB |
如果网络中短时间内发送的ICMPv6差错报文过多,将可能导致网络拥塞。为了避免这种情况,用户可以控制设备在指定时间内发送ICMPv6差错报文的最大个数,目前采用令牌桶算法来实现。
用户可以设置令牌桶的容量,即令牌桶中可以容纳的令牌数;同时可以设置令牌桶的刷新周期,即每隔多长时间将令牌桶内的令牌个数刷新为所配置的容量。一个令牌表示允许发送一个ICMPv6差错报文,每当发送一个ICMPv6差错报文,则令牌桶中减少一个令牌。如果连续发送的ICMPv6差错报文超过了令牌桶的容量,则后续的ICMPv6差错报文将不能被发送出去,直到按照所设置的刷新频率将新的令牌放入令牌桶中。
表1-13 配置指定时间内发送ICMPv6差错报文的最大个数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定时间内发送ICMPv6差错报文的最大个数 |
ipv6 icmp-error { bucket bucket-size | ratelimit interval }* |
可选 缺省情况下,令牌桶容量为10,令牌桶的刷新周期为100毫秒,即每一个刷新周期内最多可以发送10个ICMPv6差错报文 |
设备在发送ICMPv6回送应答报文时,将使用该参数值填充ICMPv6回送应答报文头中的Hop Limit字段。
表1-14 配置设备发送的ICMPv6回送应答报文的跳数限制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置设备发送的ICMPv6回送应答报文的跳数限制 |
ipv6 nd hop-limit value |
可选 缺省情况下,设备发送的ICMPv6回送应答报文的跳数限制为64 |
表1-15 配置ND Snooping功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
启用ND Snooping功能 |
ipv6 nd snooping enable |
必选 缺省情况下,ND Snooping功能处于关闭状态 |
退回系统视图 |
quit |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置端口允许学习ND Snooping表项的最大个数 |
ipv6 nd snooping max-learning-num number |
可选 缺省情况下,端口允许学习ND Snooping表项的最大个数为1024 |
在大型二层网络中,为了避免设备的上行口学习大量ND Snooping表项,占用系统资源,可以将上行口配置成ND Snooping Uplink端口。
表1-16 配置ND Snooping Uplink端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置端口为ND Snooping Uplink 端口 |
ipv6 nd snooping uplink [ learn [ probe ] ] |
可选 缺省情况下,取消端口的ND Snooping Uplink配置 |
表1-17 配置ND Detection功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
启用ND Detection功能 |
ipv6 nd detection enable |
必选 缺省情况下,ND Detection功能处于关闭状态。即不进行用户合法性检查 |
退回系统视图 |
quit |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
将不需要进行用户合法性检查的端口配置为ND信任端口 |
ipv6 nd detection trust |
可选 缺省情况下,端口为ND非信任端口 |
配置ND Detection功能时,必须至少配置IPv6静态绑定表项、DHCPv6 Snooping功能、ND Snooping功能三者之一,否则所有从ND非信任端口收到的ND报文都将被丢弃。
表1-18 配置DHCPv6 Snooping功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启全局DHCPv6 Snooping功能 |
dhcp-snooping ipv6 enable |
必选 缺省情况下,DHCPv6 Snooping功能处于关闭状态 |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置端口为信任端口 |
dhcp-snooping ipv6 trust |
必选 缺省情况下,开启全局DHCPv6 Snooping功能后,设备的所有端口均为不信任端口 |
配置端口动态学习DHCPv6 Snooping表项的最大数目 |
dhcp-snooping ipv6 max-learning-num number |
可选 缺省情况下,不限制端口动态学习DHCPv6 Snooping表项的最大数目 |
为了使DHCPv6客户端能从合法的DHCPv6服务器获取IPv6地址,必须将与合法DHCPv6服务器相连的端口设置为信任端口,且设置的信任端口和与DHCPv6客户端相连的端口必须在同一个VLAN内。
Option 37称为DHCPv6中继代理Remote-ID选项,该选项记录了DHCPv6客户端的位置信息;Option 18称为DHCPv6 Interface-ID选项,该选项记录了接收客户端报文的设备接口信息。开启DHCPv6 Snooping支持Option 18或37功能后,当DHCPv6 Snooping设备接收到DHCP请求报文后,将根据用户的配置在请求报文中添加Option 18或Option 37,并将处理后的报文转发给DHCPv6服务器,DHCPv6服务器将根据选项的信息制定IPv6地址和其他参数的分配策略,提供更加灵活的地址分配方案。
需要注意的是:只有在开启全局DHCPv6 Snooping功能后,DHCPv6 Snooping功能支持Option 18或37的相关配置才会生效。
表1-19 DHCPv6 Snooping支持Option 18或37功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCPv6 Snooping支持DHCPv6 Option功能 |
dhcp-snooping ipv6 information enable |
必选 缺省情况下,禁止DHCPv6 Snooping支持DHCPv6 Option功能 |
配置DHCPv6 Snooping 支持 的DHCPv6 选项类型 |
dhcp-snooping ipv6 information option { 18 | 37 } |
必选 缺省情况下,配置DHCPv6 Snooping 支持Option 37 |
配置DHCPv6子选项的内容 |
dhcp-snooping ipv6 information remote-id { ipv4-address ipv4-address | ipv6-address ipv6-address | string string | sysname } |
必选 缺省情况下,未配置DHCPv6子选项的内容 |
表1-20 配置IPv6过滤功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置IPv6绑定表项 |
配置IPv6静态绑定表项 |
interface interface-type interface-number |
二者选其一 缺省情况下,没有配置IPv6绑定表项 |
ipv6 source static binding ip-address ipv6-address [ mac-address mac-address ] [ vlan vlan-id ] |
|||
配置IPv6动态绑定表项 |
配置DHCPv6 Snooping功能或ND Snooping功能获取DHCPv6 Snooping表项或ND Snooping表项 |
||
开启IPv6过滤功能 |
ipv6 check source ip-address [ mac-address ] |
必选 缺省情况下,端口上的IPv6过滤功能处于关闭状态 |
IPv6过滤功能和端口绑定功能互斥,两者不能同时配置。
配置静态IPv6 DNS就是配置将主机名与IPv6地址相对应。当使用Telnet等应用时,可以直接使用主机名,由系统解析为IPv6地址。每个主机名只能对应1个IPv6地址,最新配置的IPv6地址会覆盖之前的配置。
表1-21 配置静态IPv6 DNS
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态IPv6 DNS |
ipv6 host hostname ipv6-address |
必选 |
如果用户需要使用动态域名解析功能,可以使用下面的命令开启动态域名解析功能,并配置域名服务器,这样才能将查询请求报文发送到正确的服务器进行解析。系统最多支持6个DNS服务器。
用户还可以配置域名后缀,以便实现只输入域名的部分字段,而由系统自动加上预先设置的后缀进行解析。系统最多支持10个域名后缀。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启动态域名解析功能 |
dns resolve |
必选 缺省情况下,动态域名解析功能处于关闭状态 |
配置IPv6的DNS服务器 |
dns server ipv6 ipv6-address [ interface-type interface-number ] |
必选 当DNS服务器的IPv6地址为链路本地地址时,需要指定参数interface-type和interface-number |
配置域名后缀 |
dns domain domain-name |
必选 缺省情况下,没有配置域名后缀,即只根据用户输入的域名信息进行解析 |
dns resolve和dns domain命令与IPv4 DNS的命令相同,详细信息请参见本手册“域名解析”相关部分的介绍。
完成上述配置后,在任意视图下执行display命令,可以显示配置IPv6后的运行情况。通过查看显示信息,用户可以验证配置的效果。
在用户视图下,执行reset命令可以清除相应的统计信息。
表1-23 IPv6显示与维护
操作 |
命令 |
说明 |
显示DHCPv6 Snooping表项信息 |
display dhcp-snooping ipv6 { all | unit unit-id } |
display命令可以在任意视图下执行 |
显示DNS域名后缀信息 |
display dns domain [ dynamic ] |
|
显示IPv6动态域名缓存信息 |
display dns ipv6 dynamic-host |
|
显示DNS服务器的信息 |
display dns server [ dynamic ] |
|
显示FIB转发信息表项 |
display ipv6 fib |
|
显示主机名与IPv6地址的对应关系 |
display ipv6 host |
|
显示接口的IPv6信息 |
display ipv6 interface [ interface-type interface-number | brief ] |
|
显示邻居信息 |
display ipv6 neighbors { ipv6-address | all | dynamic | static | interface interface-type interface-number | vlan vlan-id } [ | { begin | exclude | include } regular-expression ] |
|
显示符合指定条件的邻居表项的总个数 |
display ipv6 neighbors { all | dynamic | static | interface interface-type interface-number | vlan vlan-id } count |
|
显示路由表信息 |
display ipv6 route-table [ verbose ] |
|
显示指定套接字的相关信息 |
display ipv6 socket [ socktype socket-type ] [ task-id socket-id ] |
|
显示IPv6报文及ICMPv6报文的统计信息 |
display ipv6 statistics |
|
显示IPv6静态绑定表项信息 |
display ipv6 source static binding [ vlan vlan-id | interface interface-type interface-number | unit unit-id ] |
|
显示ND Detection的配置信息 |
display ipv6 nd detection |
|
显示ND Detection进行用户合法性检查时丢弃报文的统计信息 |
display ipv6 nd detection statistics [ interface interface-type interface-number ] |
|
显示ND Snooping表项 |
display ipv6 nd snooping [ ipv6-address | vlan vlan-id ] |
|
显示TCP6连接的统计信息 |
display tcp ipv6 statistics |
|
查看TCP6连接的状态信息 |
display tcp ipv6 status |
|
显示UDP6的统计信息 |
display udp ipv6 statistics |
|
清除DHCPv6 Snooping表项 |
reset dhcp-snooping ipv6 all |
reset命令在用户视图下执行 |
清除IPv6动态域名缓存信息 |
reset dns ipv6 dynamic-host |
|
清除IPv6邻居信息 |
reset ipv6 neighbors { all | dynamic | interface interface-type interface-number | static } |
|
清除IPv6报文统计信息 |
reset ipv6 statistics |
|
清除ND Detection的统计信息 |
reset ipv6 nd detection statistics [ interface interface-type interface-number ] |
|
清除ND Snooping表项 |
reset ipv6 nd snooping [ ipv6-address | vlan vlan-id ] |
|
清除所有TCP6连接的统计信息 |
reset tcp ipv6 statistics |
|
清除所有UDP6统计信息 |
reset udp ipv6 statistics |
display dns domain和display dns server命令与IPv4 DNS的命令相同,详细信息请参见本手册“域名解析”相关部分的介绍。
两台H3C S2000-EA系列以太网交换机通过以太网端口直接相连,以太网端口属于VLAN1。分别在两台交换机上给VLAN接口1配置IPv6地址,验证它们之间的互通性。其中SwitchA的全球单播网络地址为3001::1/64,SwitchB的全球单播网络地址为3001::2/64。
图1-8 IPv6地址配置组网图
(1) 配置SwitchA
# 配置VLAN接口1的自动链路本地地址。
<SwitchA> system-view
[SwitchA] interface Vlan-interface 1
[SwitchA-Vlan-interface1] ipv6 address auto link-local
# 配置VLAN接口1的全球单播地址。
[SwitchA-Vlan-interface1] ipv6 address 3001::1/64
(2) 配置SwitchB
# 配置VLAN接口1的自动链路本地地址。
<SwitchB> system-view
[SwitchB] interface Vlan-interface 1
[SwitchB-Vlan-interface1] ipv6 address auto link-local
# 配置VLAN接口1的全球单播地址。
[SwitchB-Vlan-interface1] ipv6 address 3001::2/64
# 显示SwitchA的接口信息。
[SwitchA-Vlan-interface1] display ipv6 interface Vlan-interface 1
Vlan-interface1 current state :UP
Line protocol current state :UP
IPv6 is enabled, link-local address is FE80::20F:E2FF:FE47:4CA3
Global unicast address(es):
3001::1, subnet is 3001::/64
Joined group address(es):
FF02::1:FF00:1
FF02::1:FF47:4CA3
FF02::1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
# 显示SwitchB的接口信息。
[SwitchB-Vlan-interface1] display ipv6 interface Vlan-interface 1
Vlan-interface1 current state :UP
Line protocol current state :UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE00:2006
Global unicast address(es):
3001::2, subnet is 3001::/64
Joined group address(es):
FF02::1:FF00:2
FF02::1:FF00:2006
FF02::1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
# 从SwitchA上分别Ping SwitchB的链路本地地址及全球单播地址。如果配置正确,则两种类型的IPv6地址都可以Ping通。
使用ping ipv6命令验证目的地址是否可达时,如果目的地址是链路本地地址,必须指定-i参数。
[SwitchA-Vlan-interface1]ping ipv6 FE80::2E0:FCFF:FE00:2006 -i Vlan-interface 1
PING FE80::2E0:FCFF:FE00:2006 : 56 data bytes, press CTRL_C to break
Reply from FE80::2E0:FCFF:FE00:2006
bytes=56 Sequence=1 hop limit=64 time = 77 ms
Reply from FE80::2E0:FCFF:FE00:2006
bytes=56 Sequence=2 hop limit=64 time = 6 ms
Reply from FE80::2E0:FCFF:FE00:2006
bytes=56 Sequence=3 hop limit=64 time = 6 ms
Reply from FE80::2E0:FCFF:FE00:2006
bytes=56 Sequence=4 hop limit=64 time = 7 ms
Reply from FE80::2E0:FCFF:FE00:2006
bytes=56 Sequence=5 hop limit=64 time = 14 ms
--- FE80::2E0:FCFF:FE00:2006 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 6/22/77 ms
[SwitchA-Vlan-interface1] ping ipv6 3001::2
PING 3001::2 : 56 data bytes, press CTRL_C to break
Reply from 3001::2
bytes=56 Sequence=1 hop limit=64 time = 79 ms
Reply from 3001::2
bytes=56 Sequence=2 hop limit=64 time = 6 ms
Reply from 3001::2
bytes=56 Sequence=3 hop limit=64 time = 6 ms
Reply from 3001::2
bytes=56 Sequence=4 hop limit=64 time = 5 ms
Reply from 3001::2
bytes=56 Sequence=5 hop limit=64 time = 6 ms
--- 3001::2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 5/20/79 ms
Switch A通过以太网端口Ethernet1/0/1连接到DHCPv6服务器,通过以太网端口Ethernet1/0/2、Ethernet1/0/3连接到DHCPv6客户端。Ethernet1/0/1、Ethernet1/0/2和Ethernet1/0/3都属于VLAN 1。
要求:
l 与DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。
l 记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。
图1-9 DHCPv6 Snooping组网示意图
# 开启全局使能DHCPv6 Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp-snooping ipv6 enable
# 配置Ethernet1/0/1端口为信任端口。
[SwitchA] interface Ethernet 1/0/1
[SwitchA-Ethernet1/0/1] dhcp-snooping ipv6 trust
用户Host A和Host B通过Switch B接入网关Switch A。用户Host A的IPv6地址是10::5,MAC地址是0001-0203-0405。用户Host B的IPv6地址是10::6,MAC地址是0001-0203-0607。
要求:在Switch B上启用ND Detection功能对用户的合法性进行检查,保证合法用户的报文可以被正常转发,非法用户的报文被丢弃。
图1-10 配置ND Detection组网图
(1) 配置组网图中标出的所有端口属于VLAN 10及Switch A对应VLAN接口的IPv6地址(略)
(2) 配置Switch B
# 使能ND Snooping功能。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] ipv6 nd snooping enable
# 使能ND Detection功能。
[SwitchB-vlan10] ipv6 nd detection enable
[SwitchB-vlan10] quit
# 将上行端口Ethernet1/0/3配置为ND信任端口,下行端口Ethernet1/0/1和Ethernet1/0/2采用缺省配置,即为ND非信任端口。
[SwitchB] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] ipv6 nd detection trust
完成上述配置后,对于端口Ethernet1/0/1和Ethernet1/0/2收到的ND报文,基于ND Snooping安全表项进行检查。
Switch A作为网关设备通过端口Ethernet1/0/3连接外部网络,通过端口Ethernet1/0/2连接DHCPv6 Server设备;Switch B作为接入设备连接Client A、Client B和Client C;Client A和Client C通过DHCPv6 Server获取IPv6地址;Client B的IPv6地址为2001::1/64,MAC地址为0001-0203-0406
l 在Switch B上开启DHCPv6 Snooping功能,并设置端口Ethernet1/0/1为DHCPv6 Snooping信任端口。
l 在Switch B的端口Ethernet1/0/2,Ethernet1/0/3,Ethernet1/0/4上开启IP过滤功能,防止客户端使用伪造的源IPv6地址对网关进行攻击。
l 在Switch B上配置IPv6静态绑定表项,保证使用固定IPv6地址的Client B正常访问外部网络。
图1-11 IPv6过滤功能组网图
l 配置SwitchB
# 开启交换机DHCPV6 Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp-snooping ipv6 enable
# 设置端口Ethernet1/0/1为信任端口。
[SwitchB] interface Ethernet1/0/1
[SwitchB-Ethernet1/0/1] dhcp-snooping ipv6 trust
[SwitchB-Ethernet1/0/1] quit
# 分别开启端口Ethernet1/0/2,Ethernet1/0/3和Ethernet1/0/4的IP过滤功能,根据端口接收的IP报文的源IP/MAC地址对报文进行过滤。
[SwitchB] interface Ethernet1/0/2
[SwitchB-Ethernet1/0/2] ipv6 check source ip-address mac-address
[SwitchB-Ethernet1/0/2] quit
[SwitchB] interface Ethernet1/0/3
[SwitchB-Ethernet1/0/3] ipv6 check source ip-address mac-address
[SwitchB-Ethernet1/0/3] quit
[SwitchB] interface Ethernet1/0/4
[SwitchB-Ethernet1/0/4] ipv6 check source ip-address mac-address
[SwitchB-Ethernet1/0/4] quit
# 在SwitchB的端口Ethernet1/0/3上配置IP静态绑定表项。
[SwitchB] interface Ethernet1/0/3
[SwitchB-Ethernet1/0/3] ipv6 source static binding ip-address 2001::1 mac-address 000
1-0203-0406
随着IPv6的发展,它支持的应用也越来越广泛。H3C S2000-EA系列以太网交换机支持的IPv6应用主要有:
l Ping
l Traceroute
l TFTP
l Telnet
ping ipv6命令是检验目的主机是否可达的首选测试方法,它首先向目的主机发送ICMPv6报文,然后记录响应报文返回的时间。关于ping命令的详细介绍请参见本手册“系统维护与调试”相关部分的介绍。
在执行ping ipv6命令过程中,键入<Ctrl+C>可终止ping操作。
表2-1 IPv6的ping操作
操作 |
命令 |
说明 |
Ping IPv6操作 |
ping ipv6 [ -a source-ipv6-address | -c count | -m interval | -s packet-size | -t timeout ]* remote-system [ -i interface-type interface-number ] |
必选 ping ipv6命令可以在任意视图下执行 |
使用ping ipv6命令验证目的地址是否可达时,如果目的地址是链路本地地址,必须指定-i参数。
Traceroute IPv6操作用于记录IPv6报文从源端到目的端所经过的路径,从而检查网络连接是否可用,并定位网络中故障的发生地点。
如图2-1所示,Traceroute IPv6的操作过程如下:
l 源端首先发送一个Hop Limit为1的IPv6数据报文。
l 收到该报文的第一跳设备判断Hop Limit为1,则丢弃该报文,并返回一个ICMPv6超时错误消息,这样源端就可以得到该路径中第一个设备的地址。
l 之后源端发送一个Hop Limit为2的数据报文,同样第二跳设备也返回ICMPv6超时错误消息,这样就可以得到第二个设备的地址。
l 这个过程不断进行,直到该数据报文到达目的主机,因目的端没有应用程序使用该UDP端口,目的端返回一个端口不可达的ICMPv6错误消息。
l 当源端收到这个端口不可达的ICMPv6错误消息后,就知道报文已经到达了目的端,从而得到数据报文从源端到目的端所经过的路径。
表2-2 IPv6的Traceroute操作
操作 |
命令 |
说明 |
Traceroute IPv6操作 |
tracert ipv6 [-f first-hop-limit | -m max-hop-limit | -p port-number | -q packet-num | -w timeout ]* remote-system |
必选 tracert ipv6命令可以在任意视图下执行 |
IPv6支持TFTP(Trivial File Transfer Protocol,简单文件传输协议)应用。设备作为客户端可以从TFTP服务器下载文件,或向TFTP服务器上传文件。关于TFTP的详细介绍请参见本手册“FTP-SFTP-TFTP”相关部分的介绍。
在TFTP服务器端启动TFTP服务,并指定待下载文件的路径或上传文件的存放路径。具体操作请参见TFTP服务器端的配置说明。
可以使用下面的命令将TFTP服务器上的指定源文件下载到本地或将本地的指定源文件上传到TFTP服务器。
表2-3 通过TFTP下载/上传文件
操作 |
命令 |
说明 |
通过TFTP下载/上传文件 |
tftp ipv6 remote-system [ -i interface-type interface-number ] { get | put } source-filename [ destination-filename ] |
必选 tftp ipv6命令在用户视图下执行 |
使用tftp ipv6命令连接TFTP服务器时,如果目的地址是链路本地地址,必须指定-i参数。
Telnet协议属于TCP/IP协议族的应用层协议,可以提供远程登录和虚拟终端功能。设备可以作为Telnet客户端,也可以作为Telnet服务器。
如下图所示,Host运行IPv6的Telnet客户端程序,与Device A建立IPv6 Telnet连接,此时Device A作为Telnet服务器端。如果Device A再通过Telnet连接到Device B上,则Device A作为Telnet客户端,Device B作为Telnet服务器端。
图2-2 提供Telnet服务
在Telnet服务器端启动Telnet服务,并配置Telnet用户的认证方式,具体操作请参见本手册“登录交换机”相关部分的介绍。
操作 |
命令 |
说明 |
在Telnet客户端上执行Telnet命令登录到其他设备 |
telnet ipv6 remote-system [ -i interface-type interface-number ] [ port-number ] |
必选 telnet ipv6命令在用户视图下执行 |
使用telnet ipv6命令登录telnet服务器时,如果目的地址是链路本地地址,必须指定-i参数。
完成上述配置后,在任意视图下执行display命令,可以显示使用Telnet方式登录的用户信息。通过查看显示信息,用户可以验证配置的效果。
操作 |
命令 |
说明 |
显示当前已登录的用户信息 |
display users [ all ] |
可选 |
如图2-3所示,SWA、SWB和SWC分别代表三台交换机,其中SWA为H3C S2000-EA系列以太网交换机,SWB和SWC为支持IPv6路由转发的设备。在同一局域网中连接有Telnet和TFTP服务器,分别为交换机提供Telnet和TFTP服务。要求SWA可以通过Telnet方式登录Telnet_Server,并能够从TFTP_Server下载文件。
图2-3 IPv6应用组网图
在进行下面的配置之前,需要在交换机和服务器的接口上配置IPv6地址,并保证交换机和服务器之间的路由可达。
# 在SWA上Ping SWB的IPv6地址。
<SWA> ping ipv6 3003::1
PING 3003::1 : 64 data bytes, press CTRL_C to break
Reply from 3003::1
bytes=56 Sequence=1 hop limit=64 time = 110 ms
Reply from 3003::1
bytes=56 Sequence=2 hop limit=64 time = 31 ms
Reply from 3003::1
bytes=56 Sequence=3 hop limit=64 time = 31 ms
Reply from 3003::1
bytes=56 Sequence=4 hop limit=64 time = 31 ms
Reply from 3003::1
bytes=56 Sequence=5 hop limit=64 time = 31 ms
--- 3003::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/46/110 ms
# SWA上配置到SWC、Telnet Server和TFTP Server的静态路由。
<SWA> system-view
[SWA] ipv6 route-static 3002:: 64 3003::1
[SWA] ipv6 route-static 3001:: 64 3003::1
[SWA] quit
# 跟踪SWA到SWC的IPv6路由。
<SWA> tracert ipv6 3002::1
traceroute to 3002::1 30 hops max,60 bytes packet,press CTRL_C to break
1 3003::1 30 ms 0 ms 0 ms
2 3002::1 10 ms 10 ms 0 ms
# SWA从TFTP服务器3001::3上下载文件。
<SWA> tftp ipv6 3001::3 get filetoget flash:/filegothere
....
File will be transferred in binary mode
Downloading file from remote tftp server, please wait..... received: 4469 bytes in 1.243 seconds
File downloaded successfully.
# SWA连接到Telnet服务器3001::2。
<SWA> telnet ipv6 3001::2
Trying 3001::2...
Press CTRL+K to abort
Connected to 3001::2 ...
Telnet Server>
无法Ping通远端的目的地址,返回错误消息。
l 检查IPv6地址配置是否正确。
l 使用display ipv6 interface命令确认源地址和目的地址的接口是up状态,且源地址与目的地址之间的链路层协议是处于up状态。
l 通过display ipv6 route-table命令查看到目的地址的路由是否可达。
l 通过ping ipv6 -t timeout remote-system [ -i interface-type interface-number ]命令增大响应超时时间,从而判断是否由于所设置的响应超时时间过小导致Ping不通的现象。
进行Traceroute操作,跟踪不到路径信息。
l 检查是否可以Ping通目的主机。
l 如果可以Ping通,则查看Traceroute使用的UDP端口号在目的主机上是否有应用程序使用。如果有应用程序使用,则在tracert ipv6命令中指定一个不可达的目的UDP端口号。
进行TFTP操作时,无法完成下载和上传文件操作。
l 确认设备和TFTP服务器之间路由可达。
l 确认设备的文件系统是否可用,可以通过在用户视图下执行dir命令来检查。
l 确认为TFTP服务器配置的ACL没有阻碍TFTP服务器的连接。
进行Telnet操作时,无法登录Telnet服务器。
l 确认设备的Telnet服务已经启动。
l 确认设备和Telnet客户端之间路由可达。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!