14-IPv6邻居发现配置
本章节下载: 14-IPv6邻居发现配置 (468.97 KB)
目 录
IPv6 ND(IPv6 Neighbor Discovery,IPv6邻居发现)协议使用五种类型的ICMPv6消息,实现下面一些功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向等。
邻居发现协议使用的ICMPv6消息的类型及作用如表1-1所示。
表1-1 邻居发现协议使用的ICMPv6消息类型及作用
ICMPv6消息 |
类型号 |
作用 |
邻居请求消息NS(Neighbor Solicitation) |
135 |
获取邻居的链路层地址 |
验证邻居是否可达 |
||
进行重复地址检测 |
||
邻居通告消息NA(Neighbor Advertisement) |
136 |
对NS消息进行响应 |
节点在链路层变化时主动发送NA消息,向邻居节点通告本节点的变化信息 |
||
路由器请求消息RS(Router Solicitation) |
133 |
节点启动后,通过RS消息向路由器发出请求,请求前缀和其他配置信息,用于节点的自动配置 |
路由器通告消息RA(Router Advertisement) |
134 |
对RS消息进行响应 |
在没有抑制RA消息发布的条件下,路由器会周期性地发布RA消息,其中包括前缀信息选项和一些标志位的信息 |
||
重定向消息(Redirect) |
137 |
当满足一定的条件时,缺省网关通过向源主机发送重定向消息,使主机重新选择正确的下一跳地址进行后续报文的发送 |
获取同一链路上邻居节点的链路层地址(与IPv4的ARP功能相同),通过邻居请求消息NS和邻居通告消息NA实现。如图1-1所示,节点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功能相似)。如图1-2所示,通过NS和NA实现重复地址检测的过程为:
(1) 节点A发送NS消息,NS消息的源地址是未指定地址::,目的地址是待检测的IPv6地址对应的被请求节点组播地址,消息内容中包含了待检测的IPv6地址。
(2) 如果节点B已经使用这个IPv6地址,则会返回NA消息。其中包含了自己的IPv6地址。
(3) 节点A收到节点B发来的NA消息,就知道该IPv6地址已被使用。反之,则说明该地址未被使用,节点A就可使用此IPv6地址。
路由器发现/前缀发现是指节点从收到的RA消息中获取邻居路由器及所在网络的前缀,以及其他配置参数。
地址无状态自动配置是指节点根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。
路由器发现/前缀发现通过路由器请求消息RS和路由器通告消息RA来实现,具体过程如下:
(1) 节点启动时,通过RS消息向路由器发出请求,请求前缀和其他配置信息,以便用于节点的配置。
(2) 路由器返回RA消息,其中包括前缀信息选项(路由器也会周期性地发布RA消息)。
(3) 节点利用路由器返回的RA消息中的地址前缀及其他配置参数,自动配置接口的IPv6地址及其他信息。
前缀信息选项中不仅包括地址前缀的信息,还包括该地址前缀的首选生命期(preferred lifetime)和有效生命期(valid lifetime)。节点收到周期性发送的RA消息后,会根据该消息更新前缀的首选生命期和有效生命期。
· 有效生命期:表示前缀有效期。在有效生命期内,通过该前缀自动生成的地址可以正常使用;有效生命期过期后,通过该前缀自动生成的地址变为无效,将被删除。
· 首选生命期:表示首选通过该前缀无状态自动配置地址的时间。首选生命期过期后,节点通过该前缀自动配置的地址将被废止。节点不能使用被废止的地址建立新的连接,但是仍可以接收目的地址为被废止地址的报文。首选生命期必须小于或等于有效生命期。
当主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网关会向源主机发送ICMPv6重定向消息,通知主机选择更好的下一跳进行后续报文的发送(与IPv4的ICMP重定向消息的功能相同)。
同时满足下列条件时,设备会发送ICMPv6重定向报文:
· 接收和转发数据报文的接口是同一接口;
· 被选择的路由本身没有被ICMPv6重定向报文创建或修改过;
· 被选择的路由不是设备的缺省路由;
相关的协议规范有:
· RFC 4861:Neighbor Discovery for IP Version 6 (IPv6)
· RFC 8106:IPv6 Router Advertisement Options for DNS Configuration
本节中的所有配置均为可选,请根据实际情况选择配置。
· 配置ND表项的相关功能
¡ 配置静态邻居表项
· 配置ND Snooping功能
· 配置ND记录终端用户信息功能
邻居表项保存的是设备在链路范围内的邻居信息,设备邻居表项可以通过邻居请求消息NS及邻居通告消息NA来动态创建,也可以通过手工配置来静态创建。
设备根据邻居节点的IPv6地址和与此邻居节点相连的三层接口号来唯一标识一个静态邻居表项。目前,静态邻居表项有如下几种配置方式:
· 配置本节点的三层接口相连的邻居节点的IPv6地址和链路层地址;
· 配置本节点VLAN中的二层端口相连的邻居节点的IPv6地址和链路层地址。
· 配置本节点相连的邻居节点的IPv6地址、对应的MAC地址、入接口(VSI虚接口)、出接口(Tunnel口)以及VSI的名称。
· 配置本节点相连的邻居节点的IPv6地址、对应的MAC地址、入接口(VSI虚接口)、出接口(由二层接口结合对应二层接口上的以太网服务实例确定)以及VSI的名称。
对于VLAN接口,可以采用前两种方式来配置静态邻居表项:
· 采用第一种方式配置静态邻居表项后,设备还需要解析该VLAN下的二层端口信息。
· 采用第二种方式配置静态邻居表项后,需要保证port-type port-number指定的二层端口属于vlan-id指定的VLAN,且该VLAN已经创建了VLAN接口。在配置后,设备会将VLAN所对应的VLAN接口与IPv6地址相对应来唯一标识一个静态邻居表项。
在删除VLAN接口对应的邻居表项时,只需要指定VLAN对应的VLAN接口即可。
(1) 进入系统视图。
system-view
(2) 配置静态邻居表项。
ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number | vsi-interface vsi-interface-id tunnel number vsi vsi-name | vsi-interface vsi-interface-id interface-type interface-number service-instance instance-id vsi vsi-name } [ vpn-instance vpn-instance-name ]
缺省情况下,未配置静态邻居表项。
设备可以通过NS消息和NA消息来动态获取邻居节点的链路层地址,并将其加入到邻居表中。为了防止部分接口下的用户占用过多的资源,可以配置允许动态学习的邻居表项的最大个数。动态学习的邻居的个数的限制方式分为两种:
· 接口上允许动态学习的邻居的最大个数,当接口学习到的动态邻居表项的个数达到所设置的最大值时,该接口将不再学习动态邻居表项。
· 设备上允许动态学习的邻居的最大个数,当设备学习到的动态邻居表项的个数达到所设置的最大值时,该设备将不再学习动态邻居表项。
设备各接口学习的动态邻居表项之和不会超过该设备学习动态邻居表项的最大数目,如果超过了则以设备学习动态邻居表项的最大数目为准。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口上允许学习的动态邻居表项的最大个数。
ipv6 neighbors max-learning-num max-number
缺省情况下,对于S5580X-HI系列交换机,接口上允许学习的动态邻居表项的最大个数与hardware-mode命令的配置有关,关于hardware-mode命令的详细介绍请参见“设备管理配置”中的“硬件资源管理”。对于S5580S-EI系列交换机和S5580X-EI系列交换机,接口上允许学习的动态邻居表项的最大个数为65536。
(1) 进入系统视图。
system-view
(2) 配置设备上允许动态学习的邻居的最大个数。
ipv6 neighbors max-learning-number max-number slot slot-number [ cpu cpu-number ]
缺省情况下,对于S5580X-HI系列交换机,设备允许学习动态邻居表项的最大数目与hardware-mode命令的配置有关,关于hardware-mode命令的详细介绍请参见“设备管理配置”中的“硬件资源管理”。对于S5580S-EI系列交换机和S5580X-EI系列交换机,设备允许学习的动态邻居表项的最大个数为65536。
当配置设备允许学习动态邻居表项的最大数目为0时,表示禁止本设备学习动态邻居表项。
在一些组网中,为了保证网络的冗余链路备份,服务器会发送NA报文给两台对端设备,此时因为不关注对端的地址,所以发送的是组播NA,设备无法从组播NA中学习ND表项。所以在没有服务器对端到服务器的IPv6流量,且服务器没有逐个发送单播给对端设备的情况下,对端设备无法学习到服务器的ND表项。
开启本功能后,接口可以从未经请求的NA报文中学习邻居信息,生成STALE状态的ND表项。
为防止接收ND攻击报文,建议本功能仅在信任网络内开启。
为防止设备上学习过多的ND表项,占用系统资源,建议开启本功能前,通过ipv6 neighbor stale-aging命令配置较小的STALE老化时间,加速老化无效的ND表项。
本功能仅支持在三层接口视图下开启。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 开启接口从未经请求的NA报文中学习邻居信息的功能。
ipv6 nd unsolicited-na-learning enable
缺省情况下,接口不学习未经请求的NA报文中的邻居信息到ND表项中。
为适应网络的变化,ND表需要不断更新。在ND表中,处于STALE状态的ND表项并非永远有效,而是有一个老化时间。到达老化时间的STALE状态ND表项将迁移到DELAY状态。5秒钟后DELAY状态超时,ND表项将迁移到PROBE状态,并且设备会发送3次NS报文进行可达性探测。若邻居已经下线,则收不到回应的NA报文,此时设备会将该ND表项删除。用户可以根据网络实际情况调整老化时间。
系统视图和接口视图下都可以配置STALE状态ND表项的老化时间,接口视图下的配置优先级高于系统视图下的配置。
(1) 进入系统视图。
system-view
(2) 配置STALE状态ND表项的老化时间。
¡ 在系统视图下配置STALE状态ND表项的老化时间。
ipv6 neighbor stale-aging { aging-minutes | second aging-seconds }
缺省情况下,STALE状态ND表项的老化时间为240分钟。
¡ 请依次执行以下命令在接口视图下配置STALE状态ND表项的老化时间。
interface interface-type interface-number
ipv6 neighbor timer stale-aging { aging-minutes | second aging-seconds }
缺省情况下,STALE状态ND表项的老化时间以系统视图下配置的老化时间为准。
本功能可以对链路本地ND表项(该ND表项的IPv6地址为链路本地地址)占用的资源进行优化。
缺省情况下,所有ND表项均会下发硬件表项。配置本功能后,新学习的、未被引用的链路本地ND表项(该ND表项的链路本地地址不是某条路由的下一跳)不下发硬件表项,以节省资源。
本功能只对后续新学习的ND表项生效,已经存在的ND表项不受影响。
(1) 进入系统视图。
system-view
(2) 配置链路本地ND表项资源占用最小化。
ipv6 neighbor link-local minimize
缺省情况下,所有ND表项均会下发硬件表项。
开启邻居表项阈值告警和恢复记录功能后,当设备或设备上的接口到达允许学习动态邻居表项的告警阈值或者恢复到安全阈值时,ND模块会生成设备或设备上的接口对应的日志。生成的日志将被发送给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
开启了ND表项达到最大个数的告警功能后,如果当前ND表项的数量超过了告警阈值,设备会将当前ND表项的数目作为告警信息发送到设备的SNMP模块。可以通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。有关告警信息的详细描述,请参见“网络管理和监控配置指导”中的“SNMP”。关于开启ND模块的告警功能的详细描述,请参见“安全命令参考”中的“ND攻击防御”。
(1) 进入系统视图。
system-view
(2) (可选)开启ND模块的告警功能。
snmp-agent trap enable nd [ entry-limit ]
缺省情况下,ND模块的告警功能处于关闭状态。
如果不指定任何参数,则表示打开ND模块的所有告警功能;若仅指定entry-limit参数,则表示仅开启了ND表项达到最大个数的告警功能。
(3) 开启邻居表项阈值告警和恢复记录功能。
ipv6 nd entry-limit record enable
缺省情况下,邻居表项阈值告警和恢复记录功能处于关闭状态。
本功能可以对设备发送的IPv6数据报文的跳数(即IPv6数据报文的Hop Limit字段的值)进行配置。
(1) 进入系统视图。
system-view
(2) 配置设备的跳数限制。
ipv6 hop-limit value
缺省情况下,设备的跳数限制为64跳。
用户可以根据实际情况,配置接口是否发送RA消息及发送RA消息的时间间隔,同时可以配置RA消息中的相关参数以通告给主机。当主机接收到RA消息后,就可以采用这些参数进行相应操作。可以配置的RA消息中的参数及含义如表1-2所示。
表1-2 RA消息中的参数及描述
参数 |
描述 |
跳数限制(Hop Limit) |
在RA消息中发布本设备的跳数限制,收到该RA消息之后,主机在发送IPv6报文时,将使用该跳数值填充IPv6报文头中的Hop Limit字段 |
前缀信息(Prefix Information) |
在同一链路上的主机收到设备发布的前缀信息后,可以进行无状态自动配置等操作 |
MTU |
发布链路的MTU,可以用于确保同一链路上的所有节点采用相同的MTU值 |
被管理地址配置标志位(M flag) |
用于确定主机是否采用有状态自动配置获取IPv6地址 如果设置该标志位为1,主机将通过有状态自动配置(例如DHCPv6服务器)来获取IPv6地址;否则,将通过无状态自动配置获取IPv6地址,即根据自己的链路层地址及路由器发布的前缀信息生成IPv6地址 |
其他信息配置标志位(O flag) |
用于确定主机是否采用有状态自动配置获取除IPv6地址外的其他信息 如果设置其他信息配置标志位为1,主机将通过有状态自动配置(例如DHCPv6服务器)来获取除IPv6地址外的其他信息;否则,将通过无状态自动配置获取其他信息 |
路由器生存时间(Router Lifetime) |
用于设置发布RA消息的路由器作为主机的默认路由器的时间。主机根据接收到的RA消息中的路由器生存时间参数值,就可以确定是否将发布该RA消息的路由器作为默认路由器。发布RA消息中路由器生存时间为0的路由器不能作为默认路由器 |
邻居请求消息重传时间间隔(Retrans Timer) |
设备发送NS消息后,如果未在指定的时间间隔内收到响应,则会重新发送NS消息 |
保持邻居可达状态的时间(Reachable Time) |
当通过邻居可达性检测确认邻居可达后,在所设置的可达时间内,设备认为邻居可达;超过设置的时间后,如果需要向邻居发送报文,会重新确认邻居是否可达 |
配置路由优先级 (Router Preference) |
用于设置发布RA消息的路由器的路由器优先级,主机根据接收到的RA消息中的路由器优先级,可以选择优先级最高的路由器作为默认网关。在路由器的优先级相同的情况下,遵循“先来先用”的原则,优先选择先接收到的RA消息对应的发送路由器作为默认网关 |
DNS服务器信息(DNS Server) |
用于设置RA消息中的DNS服务器信息。主机通过接收到的RA消息便能够获取DNS服务器信息,不需再通过DHCPv6方式获取 |
DNS域名后缀信息(DNS Search List) |
用于设置RA消息中的DNS域名后缀信息。主机通过接收到的RA消息便能够获取DNS域名后缀信息,不需再通过DHCPv6方式获取 |
RA消息发布的最大间隔时间应该小于或等于RA消息中路由器的生存时间,以保证在路由器失效之前得到更新的RA消息。
在接口上配置的邻居请求消息重传时间间隔及保持邻居可达状态的时间,既可作为RA消息中的信息发布给主机,也可作为本接口发送邻居请求消息的时间间隔及保持邻居可达状态的时间。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 取消对RA消息发布的抑制。
undo ipv6 nd ra halt
缺省情况下,抑制发布RA消息。
(4) 配置RA消息发布的最大时间间隔和最小时间间隔。
ipv6 nd ra interval max-interval-value min-interval-value
缺省情况下,RA消息发布的最大间隔时间为600秒,最小时间间隔为200秒。
接口将在最大时间间隔与最小时间间隔之间随机选取一个值来发布RA消息。
配置的最小时间间隔应该小于等于最大时间间隔的0.75倍。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置RA消息中的前缀信息。
ipv6 nd ra prefix { ipv6-prefix prefix-length | ipv6-prefix/prefix-length } [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
缺省情况下,未配置RA消息中的前缀信息,此时将使用发送RA消息的接口IPv6地址作为RA消息中的前缀信息,其手工配置地址的有效生命期是2592000秒(30天),首选生命期是604800(7天);其他自动分配地址(如DHCPv6分配地址)的有效生命期和首选生命期与地址本身的生命期相同。
(4) 配置通过RA消息发布的前缀使用的缺省参数。
ipv6 nd ra prefix default [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
缺省情况下,未配置通过RA消息发布的前缀使用的缺省参数。
(5) 配置RA消息中不携带MTU选项。
ipv6 nd ra no-advlinkmtu
缺省情况下,RA消息中携带MTU选项。
(6) 配置RA消息中不指定跳数限制。
ipv6 nd ra hop-limit unspecified
缺省情况下,RA消息中发布本设备的跳数限制,本设备的跳数限制默认为64跳。
(7) 配置RA消息中携带的下载Boot文件的URL地址。
ipv6 nd ra boot-file-url url-string
缺省情况下,RA消息中不携带下载Boot文件的URL地址。
(8) 设置被管理地址配置标志位为1。
ipv6 nd autoconfig managed-address-flag
缺省情况下,被管理地址标志位为0,即主机通过无状态自动配置获取IPv6地址。
(9) 设置其他配置标志位为1。
ipv6 nd autoconfig other-flag
缺省情况下,其他配置标志位为0,即主机通过无状态自动配置获取其他信息。
(10) 配置RA消息中路由器的生存时间。
ipv6 nd ra router-lifetime time
缺省情况下,RA消息中路由器的生存时间为RA消息发布的最大时间间隔的3倍。
(11) 配置邻居请求消息重传时间间隔。
ipv6 nd ns retrans-timer value
缺省情况下,接口发送NS消息的时间间隔为1000毫秒;接口发布的RA消息中Retrans Timer字段的值为0,即不对主机进行指定。
(12) 配置RA消息中路由器的优先级。
ipv6 nd router-preference { high | low | medium }
缺省情况下,RA消息中路由器的优先级为medium。
(13) 配置保持邻居可达状态的时间。
ipv6 nd nud reachable-time time
缺省情况下,接口保持邻居可达状态的时间为1200000毫秒;接口发布的RA消息中Reachable Timer字段的值为0,即不对主机进行指定。
RA消息中携带DNS服务器选项,可为主机提供DNS服务器信息。当主机通过无状态地址自动配置获取IPv6地址的同时,能够获取DNS服务器信息,不需再通过DHCPv6方式获取。
一条DNS服务器信息对应RA消息中的一个DNS服务器选项。选项按照配置序列号进行排列,序列号小的排在前面。
执行ipv6 nd ra dns server命令后,立即发送RA报文,报文中携带新配置的以及之前配置的DNS服务器信息。执行undo ipv6 nd ra dns server命令后,立即发送两个RA报文,第一个报文携带所有DNS服务器信息,包括被删除的DNS服务器,其生存时间为0;第二个报文携带剩余的DNS服务器信息。发送RA报文后,会立即刷新接口下RA消息发布的时间间隔。
同一个接口下最多可配置8条DNS服务器信息。
如果没有配置DNS服务器的生存时间,也未指定DNS服务器的生存时间为无限期,则DNS服务器的生存时间为3*RA消息发布的最大时间间隔,RA消息发布的最大时间间隔可以通过ipv6 nd ra interval命令配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置RA消息中的DNS服务器信息。
ipv6 nd ra dns server ipv6-address [ seconds | infinite ] sequence seqno
缺省情况下,未配置RA消息中的DNS服务器信息,RA消息中不带DNS服务器信息。
RA消息中携带DNSSL(DNS Search List,DNS查询列表)选项,可为主机提供域名后缀信息。当主机通过无状态地址自动配置获取IPv6地址的同时,能够获取域名后缀信息,不需再通过DHCPv6方式获取。
一条DNS域名后缀信息对应RA消息中的一个DNSSL选项。选项按照配置序列号进行排列,序列号小的排在前面。
执行ipv6 nd ra dns search-list命令后,立即发送RA报文,报文中携带新配置的以及之前配置的DNS域名后缀信息。执行undo ipv6 nd ra dns search-list命令后,立即发送两个RA报文,第一个报文携带所有域名后缀信息,包括被删除的DNS域名后缀,其生存时间为0;第二个报文携带剩余的域名后缀信息。发送RA报文后,会立即刷新接口下RA消息发布的时间间隔。
同一个接口下最多可配置8条DNS域名后缀信息。
如果没有配置DNS域名后缀的生存时间,也未指定DNS域名后缀的生存时间为无限期,则DNS域名后缀的生存时间为3*RA消息发布的最大时间间隔,RA消息发布的最大时间间隔可以通过ipv6 nd ra interval命令配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置RA消息中的DNS域名后缀信息。
ipv6 nd ra dns search-list domain-name [ seconds | infinite ] sequence seqno
缺省情况下,未配置RA消息中的DNS域名后缀信息,RA消息中不带DNS域名后缀信息。
配置RA消息中的DNS信息(包括DNS服务器信息和DNS域名后缀信息)后,如果希望RA消息不发布DNS信息,可以开启相应的抑制功能。
开启RA消息中的DNS服务器信息抑制功能后:
· 若接口下已经配置了DNS服务器信息或者已经通过AAA授权了DNS服务器地址,则立即发送两个RA报文,第一个报文携带DNS服务器的生存时间为0,第二个报文不携带DNS服务器信息。
· 若接口下未配置DNS服务器信息且未通过AAA授权DNS服务器地址,则不发送RA报文。
· 若接口下配置了新的DNS服务器信息或者删除了一条DNS服务器信息,则立即发送RA报文,但是不携带任何DNS服务器信息。
关闭RA消息中的DNS服务器信息抑制功能后:
· 若接口下已经配置了DNS服务器信息或者已经通过AAA授权了DNS服务器地址,则立即发送RA报文,携带DNS服务器信息。
· 若接口下未配置DNS服务器信息且未通过AAA授权DNS服务器地址,则不发送RA报文。
发送RA报文后,会立即刷新接口下RA消息发布的时间间隔。
开启、关闭RA消息中的DNS域名后缀信息抑制功能后,RA报文的发送逻辑和上述开启、关闭RA消息中的DNS服务器信息抑制功能后的RA报文发送逻辑相同,此处不再赘述。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启RA消息中的DNS服务器信息抑制功能。
ipv6 nd ra dns server suppress
缺省情况下,RA消息中的DNS服务器信息抑制功能处于关闭状态。
(4) 开启RA消息中的DNS域名后缀信息抑制功能。
ipv6 nd ra dns search-list suppress
缺省情况下,RA消息中的DNS域名后缀信息抑制功能处于关闭状态。
接口可以引用前缀生成IPv6地址,所引用的前缀可以由DHCPv6服务器分配。缺省情况下,如果DHCPv6服务器分配的前缀失效,设备不会发布RA通告。引用此前缀的终端感知不到前缀已经失效,会继续使用引用此前缀生成的IPv6地址进行通信,导致网络不通。开启本功能后,如果DHCPv6服务器分配的前缀失效,则设备立即发布RA通告,其中首选生命期(Preferred lifetime)和有效生命期(Valid lifetime)的取值均为0,以告知终端IPv6地址前缀已经失效,终端便不会再使用引用此前缀生成的IPv6地址进行通信。有关“DHCPv6”的详细介绍,请参见“三层技术-IP业务配置指导”中的“DHCPv6”。
缺省情况下,接口抑制发布RA报文,只有执行undo ipv6 nd ra halt命令取消接口对RA消息发布的抑制后,接口才能发送RA报文。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启无效授权前缀通告功能。
ipv6 nd ra invalid-delegated-prefix advertise enable
缺省情况下,无效授权前缀通告功能处于关闭状态。
接口获得IPv6地址后,将发送邻居请求消息进行重复地址检测。如果在指定的时间内(通过ipv6 nd ns retrans-timer命令配置)没有收到响应,则继续发送邻居请求消息,当发送的次数达到所设置的次数后,仍未收到响应,则认为该地址可用。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置重复地址检测时发送邻居请求消息的次数。
ipv6 nd dad attempts times
缺省情况下,重复地址检测时发送邻居请求报文的次数为1,当times值为0时,表示禁止重复地址检测。
当接口获取到一个IPv6地址后,需要使用重复地址检测功能确定该地址是否已被其他节点使用。此接口会通过ND协议向被检测节点发送NS消息,地址冲突的节点会向此接口返回NA消息,接口收到NA消息后认为此IPv6地址是重复的。此IPv6地址在这个接口上被标识为duplicate状态,无法被用于通信。
接口不会自动为被标识为duplicate状态的IPv6地址使用重复地址检测功能,因此即便地址不再冲突,被标识为duplicate状态的IPv6地址也不会自动恢复到正常状态。若开启地址冲突自恢复功能,接口在收到被检测节点的NA消息后,每隔一段时间会恢复重复地址检测功能,继续向被检测节点发送NS消息,直到不再收到NA消息或地址冲突自恢复功能被关闭。有关具体探测过程的详细介绍,请参见“1.1.4 重复地址检测”。
若开启了地址冲突自恢复功能且配置地址冲突自恢复的最大时间间隔为interval,在接口收到被检测节点的NA消息后系统会等待1~interval秒之间的一个随机时间间隔,然后恢复重复地址检测功能。每次接口收到NA消息系统生成的随机时间间隔都可能不同,这样可以降低因同时发送NS消息而造成报文拥塞的几率。
(1) 进入系统视图。
system-view
(2) 开启IPv6地址冲突自恢复功能。
ipv6 address duplicate-detect enable
缺省情况下,IPv6地址冲突自恢复功能处于关闭状态。
(3) (可选)配置IPv6地址冲突自恢复的最大时间间隔。
ipv6 address duplicate-detect interval interval
缺省情况下,IPv6地址冲突自恢复的最大时间间隔为5秒。
ND Snooping功能用于二层交换网络环境,设备通过侦听ND或者数据报文来创建ND Snooping表项,该表项内容包括报文的源IPv6地址、源MAC地址、所属VLAN和报文入端口等信息。
ND Snooping表项可以配合ND Detection功能使用。关于ND Detection功能的详细介绍,请参见“安全配置指导”的“ND攻击防御”。
ND Snooping表项可以配合IPv6 Source Guard功能使用。关于IPv6 Source Guard功能的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。
下面具体介绍一下ND Snooping表项的建立、迁移和老化机制。(以ND报文为例)
当收到未知源地址的ND或者数据报文后,设备会新建一个ND Snooping表项,此时该表项处于INVALID状态,随后通过接收报文的接口所属VLAN内的ND信任端口(配置了ipv6 nd detection trust命令的端口)发送两次DAD NS报文进行探测,报文发送的时间间隔可以由ipv6 nd snooping dad retrans-timer命令配置。如果第一次报文发出后,在INVALID状态的超时时间(可以由ipv6 nd snooping lifetime invalid命令配置)内未收到对应的NA应答,则说明局域网中不存在冲突的地址,此时该ND Snooping表项进入VALID状态;如果第一次报文发出后,在INVALID状态的超时时间内收到对应的NA应答,则说明局域网中存在冲突的地址,此时设备删除该ND Snooping表项。
表项迁移包括以下两种方式:
· 本设备迁移:当设备从相同VLAN内的其他ND非信任端口收到相同源地址的ND报文时,设备通过学习到ND Snooping表项的入端口发送两次DAD NS报文进行探测,报文发送的时间间隔可以由ipv6 nd snooping dad retrans-timer命令配置。如果第一次报文发出后,在INVALID状态的超时时间内未收到对应的NA应答,则说明原用户已经跟入端口断开,则设备把该ND Snooping表项的入端口修改为收到新报文的端口;如果第一次报文发出后,在INVALID状态的超时时间内收到对应的NA应答,则该ND Snooping表项不发生变化。
· 跨设备迁移:当设备从相同VLAN内的ND信任端口收到相同源地址的ND报文时,设备通过学习到ND Snooping表项的入端口发送两次DAD NS报文进行探测。如果第一次报文发出后,在INVALID状态的超时时间内未收到对应的NA应答,则说明原用户已经跟入端口断开,则设备删除对应的ND Snooping表项,而与该ND信任端口相连的设备会开启表项创建机制并建立ND Snooping表项,完成表项的跨设备迁移。如果第一次报文发出后,在INVALID状态的超时时间内收到对应的NA应答,则说明原用户未跟入端口断开,设备会保留对应的ND Snooping表项。
如果一个ND Snooping表项自最后一次更新后,在VALID状态超时时间(可以由ipv6 nd snooping lifetime valid命令配置)内未收到ND更新报文,则进入INVALID状态,随后设备通过学习到ND Snooping表项的入端口发送两次DAD NS报文进行探测。如果第一次报文发出后,在INVALID状态的超时时间内没有收到对应的NA应答,则说明原用户已经跟入端口断开,设备删除对应的ND Snooping表项;如果第一次报文发出后,在INVALID状态的超时时间内收到对应的NA应答,则说明原用户未跟入端口断开,设备会保留对应的ND Snooping表项,重新进入VALID状态。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 开启学习ND Snooping表项的功能。请至少选择其中一项进行配置。
¡ 开启学习表项地址类型为全球单播地址的ND Snooping表项的功能。
ipv6 nd snooping enable global
¡ 开启学习表项地址类型为链路本地地址的ND Snooping表项的功能。
ipv6 nd snooping enable link-local
缺省情况下,学习表项地址类型为全球单播地址或链路本地地址的ND Snooping功能处于关闭状态。
(4) (可选)开启通过IPv6数据报文学习ND Snooping表项的功能。
ipv6 nd snooping glean source
缺省情况下,通过IPv6数据报文学习ND Snooping表项的功能处于关闭状态。
本命令开启前,VLAN内ND非信任端口必须开启IPv6 Source Guard功能,否则会导致该端口的报文不能正常转发。
(5) 退回系统视图。
quit
(6) 进入二层以太网接口视图或二层聚合接口视图。
interface interface-type interface-number
(7) (可选)配置接口下学习ND Snooping表项的最大个数。
ipv6 nd snooping max-learning-num max-number
接口下学习ND Snooping表项的最大个数为65536。
(8) (可选)配置接口为上行口,禁止接口学习ND Snooping表项。
ipv6 nd snooping uplink
缺省情况下,ND Snooping功能使能后,接口上允许学习ND Snooping表项。
(9) 退回系统视图。
quit
(10) (可选)配置ND Snooping表项的超时时间。
ipv6 nd snooping lifetime { invalid invalid-lifetime | valid valid-lifetime }
缺省情况下,ND Snooping表项的INVALID状态(TENTATIVE、TESTING_TPLT和TESTING_VP状态)的超时时间为500毫秒,VALID状态的超时时间为300秒。
(11) (可选)配置发送两次DAD NS报文进行探测的时间间隔。
ipv6 nd snooping dad retrans-timer interval
缺省情况下,发送两次DAD NS报文进行探测的时间间隔为250毫秒。
在一个VXLAN内开启ND Snooping功能后,设备通过侦听该VXLAN内接收的ND报文来创建ND Snooping表项,该表项内容包括报文的源IPv6地址、源MAC地址、VSI名称和出链路标识符等信息。关于VXLAN的详细介绍,请参见“VXLAN配置指导”中的“VXLAN概述”。
ND Snooping表项可以配合ND Detection功能使用。关于ND Detection功能的详细介绍,请参见“安全配置指导”的“ND攻击防御”。
ND Snooping表项可以配合IPv6 Source Guard功能使用。关于IPv6 Source Guard功能的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。
下面具体介绍一下ND Snooping表项的建立和老化机制。
在一个VXLAN中开启ND Snooping后,该VXLAN内接收的ND报文都会被上送到CPU。CPU对上送的ND报文进行分析,获取ND报文的源IPv6地址、源MAC地址、VSI名称和出链路标识符等信息,建立记录用户信息的ND Snooping表项。
ND Snooping表项的老化时间为5分钟。如果一个ND Snooping表项在其老化时间到达前30秒时没有收到ND更新报文,此表项会置为临时非生效状态,设备会向外主动发送一个NS请求进行探测。当收到源IPv6地址和源MAC与已存在的ND Snooping表项IPv6地址和MAC均相同的ND报文时,此ND Snooping表项进行更新,置为有效状态,并重新老化计时。
当ND Snooping表项达到老化时间后,则将此ND Snooping表项删除。
(1) 进入系统视图。
system-view
(2) 创建一个VSI,并进入VSI视图。
vsi vsi-name
(3) 开启学习ND Snooping表项的功能。请至少选择其中一项进行配置。
¡ 开启学习表项地址类型为全球单播地址的ND Snooping表项的功能。
ipv6 nd snooping enable global
¡ 开启学习表项地址类型为链路本地地址的ND Snooping表项的功能。
ipv6 nd snooping enable link-local
缺省情况下,学习表项地址类型为全球单播地址和链路本地地址的ND Snooping功能处于关闭状态。
如果NS请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的开启了代理功能的设备就可以发送NA报文代答该请求,这个过程称作ND代理(ND Proxy)。
ND Proxy功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。
ND Proxy功能根据应用场景不同分为普通ND Proxy、跨网段ND Proxy和本地ND Proxy。
普通ND Proxy的典型应用环境如图1-3所示。设备Device通过两个三层接口Interface A和Interface B连接两个网络,两个三层接口的IPv6地址不在同一个网段,接口地址分别为4:1::99/64、4:2::99/64。但是两个网络内的主机Host A和Host B的地址通过掩码的控制,既与相连设备的接口地址在同一网段,同时二者也处于同一个网段。
图1-3 普通ND Proxy的应用环境
在这种组网情况下,当Host A需要与Host B通信时,由于目的IPv6地址与本机的IPv6地址为同一网段,因此Host A会直接发出请求Host B硬件地址的NS请求。但是,此时的两台主机处于不同的广播域中,Host B无法收到Host A的NS请求报文,当然也就无法应答。
通过在Device上启用ND Proxy功能,可以解决此问题。在接口Interface A和Interface B上启用ND Proxy后,Device可以应答Host A的NS请求。同时,Device作为Host B的代理,把其它主机发送过来的报文转发给Host B。这样,实现Host A与Host B之间的通信。
跨网段ND Proxy的典型应用环境如图1-4所示。设备Device通过两个三层接口Interface A和Interface B连接两个网络,两个三层接口的IPv6地址不在同一个网段,接口地址分别为4:2::1/126、4:3::1/126。两个网络内的主机Host A和Host B的地址处于同一个网段,但与相连设备的接口地址不在同一网段。
图1-4 跨网段ND Proxy的应用环境
在这种组网情况下,当Host A需要与Host B通信时,由于目的IPv6地址与本机的IPv6地址为同一网段,因此Host A会直接发出请求Host B硬件地址的NS请求。但是,此时的两台主机处于不同的广播域中,Host B无法收到Host A的NS请求报文,当然也就无法应答。此外因为Host A与Interface A以及Host B与Interface B的IPv6地址不在同一个网段,因此Device无法应答Host A和Host B的NS请求。
通过在Device上启用跨网段ND Proxy功能,可以解决此问题。在接口Interface A和Interface B上启用跨网段ND Proxy后,Device可以应答Host A和Host B的NS请求。同时,Device作为Host A和Host B的代理,把其它主机发送过来的报文转发给Host A和Host B。这样,实现Host A与Host B之间的通信。
本地ND Proxy的应用场景如图1-5所示。Host A属于VLAN 2,Host B属于VLAN 3。但它们分别连接到端口Port B1和 Port B3上。
图1-5 本地ND Proxy的应用环境
在这种组网情况下,当Host A需要与Host B通信时,由于目的IPv6地址与本机的IPv6地址为同一网段,因此Host A会直接发出请求Host B硬件地址的NS请求。但是,因为连接两台主机属于不同的VLAN中,Host B无法收到Host A的NS请求报文。
通过在Device A上启用本地ND Proxy功能,可以解决此问题。在接口Interface A上启用本地ND Proxy后,Device A会代替Host B回应NA,Host A发给Host B的报文就会通过Device A进行转发,从而实现Host A与Host B之间的通信。
本地ND Proxy可以在下列情况下实现主机之间的三层互通:
· 想要互通的主机分别连接到同一台设备的不同VLAN中的端口下;
· 想要互通的主机分别连接到同一个VLAN中的同一个隔离组内的不同二层隔离端口下。
· 开启Super VLAN功能后,想要互通的主机属于不同的Sub VLAN。
· 开启Private VLAN功能后,想要互通的主机属于不同的Secondary VLAN。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启普通ND Proxy功能。
proxy-nd enable
缺省情况下,ND Proxy功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启跨网段ND Proxy功能。
proxy-nd span-segment enable
缺省情况下,跨网段ND Proxy功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启本地ND Proxy功能。
local-proxy-nd enable
缺省情况下,本地ND Proxy功能处于关闭状态。
当接口连接终端主机时,可以配置接口为用户侧接口。对于这种接口上学到的ND表项,设备上不会生成到主机的路由。
当接口连接网络设备时,需要配置接口为网络侧接口。对于这种接口上学到的ND表项可以用来生成设备的路由信息条目。
通过实际使用情况,正确配置接口的工作模式,可以适当的节省硬件资源。
(1) 进入系统视图。
system-view
(2) 创建VLAN接口并进入VLAN接口视图。
interface vlan-interface vlan-interface-id
(3) 配置接口为用户侧接口或网络层接口。
¡ 配置接口为用户侧接口。
ipv6 nd mode uni
¡ 配置接口为网络侧接口。
undo ipv6 nd mode
缺省情况下,接口为网络侧接口。
ND直连路由通告功能用于使设备通过ND表项生成直连路由信息,以便其他路由协议发布该直连路由或指导报文转发。通过路由优先级,可确定生成的直连路由条目的匹配顺序;通过路由标记值,可便于动态路由协议引用对应标记值的直连路由,从而实现将该直连路由通告到对应的网络中的目的。
当设备开启了ND直连路由通告功能后,设备通过本接口学习到的ND表项生成128位的主机路由,这会导致路由表中存在大量的主机路由。此时,可以使用ipv6 nd route-direct prefix convert-length命令配置匹配指定IPv6前缀的ND表项生成网段路由的前缀长度,使多个匹配指定IPv6前缀的ND表项生成一个网段路由,这样可以避免路由协议向邻居发布大量的主机路由。
在某些既需要网段路由也需要主机路由的使用场景下,使用ipv6 nd route-direct prefix convert-length命令时可以指定retain-host-route参数,在生成网段路由后不会删除对应的主机路由。在其他情况下,为了避免存在大量的主机路由,不建议配置retain-host-route参数。
开启ND直连路由通告功能后,设备可以通过ND表项生成到对端设备的直连路由及相关的邻接表。当直连路由先于邻接表生成时,会因报文封装时缺少二层信息产生丢包情况。为了避免这种情况发生,可以配置ND直连路由生成的延迟时间,设备学到ND表项后会等待一定时间再生成直连路由。开启ND直连路由通告功能且配置了ND直连路由生成的延迟时间后,如果在达到延迟时间之前修改了ND直连路由通告功能的配置,设备会立即根据修改后的配置发送ND直连路由通告。
如图1-6所示,Server A和Server B通过三层接口接入到Device A与Device B。在Device A的Interface A和Device B的Interface B下开启ND直连路由通告功能后,Device A可以通过ND表项生成到Server A的主机路由,Device B可以通过ND表项生成到Server B的主机路由。其他路由协议可以仅发布该主机路由,减少由于发布网段路由而引入的无效流量,节约带宽。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) (可选)配置ND直连路由生成的延迟时间。
ipv6 nd route-direct advertise delay delay-time
缺省情况下,ND直连路由不延迟生成。
(4) 开启ND直连路由通告功能。
ipv6 nd route-direct advertise [ preference preference-value | tag tag-value ] *
缺省情况下,ND直连路由通告功能处于关闭状态。
(5) (可选)配置匹配指定IPv6前缀的ND表项生成网段路由的前缀长度。
ipv6 nd route-direct prefix ipv6-prefix prefix-length convert-length convert-length [ retain-host-route ]
缺省情况下,未配置匹配指定IPv6前缀的ND表项生成网段路由的前缀长度。
本命令指定的IPv6前缀必须与接口配置的IPv6地址的前缀一致才会生效。
开启本功能后,当设备收到NA报文时,会根据NA报文中的源IPv6地址查询ND表项,如果发现源IPv6地址和某条ND表项中的IPv6地址相同,但MAC地址不同,则认为网络中的终端用户间存在IPv6地址冲突。此时,设备会记录冲突信息,同时生成对应的IPv6地址冲突日志。生成的IPv6地址冲突日志将被发送给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。有关信息中心的详细描述请参见“设备管理配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启ND记录终端用户间IPv6地址冲突功能。
ipv6 nd user-ip-conflict record enable
缺省情况下,ND记录终端用户间IPv6地址冲突功能处于关闭状态。
开启本功能后,当设备收到NA报文时,会根据接收到NA报文的端口查询ND表项。如果发现源IPv6地址和源MAC地址与某条ND表项中的IPv6地址和MAC地址相同,但端口不同,则认为用户发生了端口迁移。此时,设备会记录冲突信息,同时生成对应的IPv6地址的迁移日志。生成的迁移日志将被发送给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。有关信息中心的详细描述请参见“设备管理配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启ND记录终端用户端口迁移功能。
ipv6 nd user-move record enable
缺省情况下,ND记录终端用户端口迁移功能处于关闭状态。
开启本功能后,当设备检测到终端用户上、下线时,会生成上、下线日志。生成的日志将被发送给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。有关信息中心的详细描述请参见“设备管理配置指导”中的“信息中心”。
日志输出速率值越大,CPU占用越高。请根据设备CPU的性能和使用情况,调整日志输出速率值。
(1) 进入系统视图。
system-view
(2) 开启ND输出终端用户上下线日志功能。
ipv6 nd online-offline-log enable [ rate rate ]
缺省情况下,ND输出终端用户上下线日志功能处于关闭状态。
如图1-7所示,Host与Device的接口Interface A连接后,Device在发送报文时会通过NS和NA报文学习到一个IPv6地址为1::1、对应的出接口为Interface A的ND表项。在Host的IPv6地址未发生改变的情况下,当Host迁移到Interface B下,Device上可能会再学习到一个IPv6地址为1::1、对应的出接口为Interface B的ND表项。由于转发表是由先学到的ND表项生成的,因此转发表中的IPv6地址对应的接口与客户端实际接入的接口不一致,导致流量不能正常转发。开启本功能后,设备学到两个IPv6地址相同但接口不同的ND表项时,会将先学到的ND表项删除,因此转发表中的接口与客户端实际接入的接口一致,从而保证流量的正常转发。
图1-7 开启IPv6地址对应唯一ND表项功能
(1) 进入系统视图。
system-view
(2) 开启IPv6地址对应唯一ND表项功能。
ipv6 nd ip-unique learning enable
缺省情况下,IPv6地址对应唯一ND表项功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示邻居信息。
display ipv6 neighbors { { ipv6-address | all | dynamic | static } [ slot slot-number ] | interface interface-type interface-number | vlan vlan-id } [ verbose ]
· 显示指定VPN实例的邻居信息。
display ipv6 neighbors vpn-instance vpn-instance-name [ count ]
· 显示ND记录的终端用户间IPv6地址冲突表项信息。
display ipv6 nd user-ip-conflict record [slot slot-number ]
· 显示ND记录的终端用户端口迁移表项信息。
display ipv6 nd user-move record [ slot slot-number ]
· 显示邻居表项的个数。
display ipv6 neighbors { { all | dynamic | static } [ slot slot-number ] | interface interface-type interface-number | vlan vlan-id } count
· 对比并显示指定slot间的IPv6邻居差异信息
display ipv6 neighbors diff [ all | [ vpn-instance vpn-instance-name ] [ ipv6-address ] ] slot slot-number1 slot slot-number2
· 显示设备支持的ND表项的最大数目。
display ipv6 neighbors entry-limit
· 显示ND表项的统计信息。
display ipv6 neighbors statistics { [ by-slot ] all | interface { interface-name | interface-type interface-number } | slot slot-number }
请在用户视图下执行以下命令,清除IPv6邻居信息。
reset ipv6 neighbors { all | dynamic | interface interface-type interface-number | slot slot-number | static }
可在任意视图下执行以下命令,显示ND表项数的使用率。
display ipv6 neighbors usage
可在任意视图下执行以下命令:
· 显示VLAN内的ND Snooping表项个数。
display ipv6 nd snooping count vlan [ interface interface-type interface-number ]
· 显示VLAN内的ND Snooping表项信息
display ipv6 nd snooping vlan [ [ vlan-id | interface interface-type interface-number ] [ global | link-local ] | ipv6-address ] [ verbose ]
display ipv6 nd snooping vsi [ vsi-name ] [ slot slot-number ]
请在用户视图下执行以下命令:
· 清除VLAN内的ND Snooping表项。
reset ipv6 nd snooping vlan { [ vlan-id ] [ global | link-local ] | vlan-id ipv6-address }
可在任意视图下执行以下命令,显示ND代理应答报文数的统计信息。
display ipv6 nd proxy statistics
可在任意视图下执行以下命令,显示通过ND模块通告生成的直连路由的相关信息。
display ipv6 nd route-direct advertise interface interface-type interface-number
Host A和Host B通过Device B连接到网关设备Device A。要求Device B上可以动态产生Host A和Host B的ND Snooping表项。
图1-8 ND Snooping组网图
(1) 配置Device A
# 创建VLAN 10。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] quit
# 配置端口GigabitEthernet1/0/3允许VLAN 10的报文通过。
[DeviceA] interface gigabitethernet 1/0/3
[DeviceA-GigabitEthernet1/0/3] port link-type trunk
[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 10
[DeviceA-GigabitEthernet1/0/3] quit
# 配置VLAN接口10的IPv6地址。
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ipv6 address 10::1/64
[DeviceA-Vlan-interface10] quit
(2) 配置Device B
# 创建VLAN 10。
[DeviceB] vlan 10
[DeviceB-vlan10] quit
# 配置端口GigabitEthernet1/0/1~GigabitEthernet1/0/3允许VLAN 10的报文通过。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type access
[DeviceB-GigabitEthernet1/0/1] port access vlan 10
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] port link-type access
[DeviceB-GigabitEthernet1/0/2] port access vlan 10
[DeviceB-GigabitEthernet1/0/2] quit
[DeviceB] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] port link-type trunk
[DeviceB-GigabitEthernet1/0/3] port trunk permit vlan 10
[DeviceB-GigabitEthernet1/0/3] quit
# 在VLAN 10下开启学习表项类型为全球单播地址和链路本地地址的ND Snooping表项的功能。
[DeviceB] vlan 10
[DeviceB-vlan10] ipv6 nd snooping enable global
[DeviceB-vlan10] ipv6 nd snooping enable link-local
# VLAN 10下配置ND Snooping通过数据报文学习ND Snooping表项的功能。
[DeviceB-vlan10] ipv6 nd snooping glean source
# 将上行端口GigabitEthernet1/0/3配置为ND信任端口,下行端口GigabitEthernet1/0/1和GigabitEthernet1/0/2采用缺省配置,即为ND非信任端口。
[DeviceB] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] ipv6 nd detection trust
[DeviceB-GigabitEthernet1/0/3] quit
# 配置下行端口GigabitEthernet1/0/1和GigabitEthernet1/0/2的ND Snooping 表项最大学习数目200条。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipv6 nd snooping max-learning-num 200
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ipv6 nd snooping max-learning-num 200
[DeviceB-GigabitEthernet1/0/2] quit
# 在Device B上的VLAN10内可以查询到获取到的ND Snooping表项。
[DeviceB] display ipv6 nd snooping vlan 10
IPv6 address MAC address VID Interface Status Age
10::5 0001-0203-0405 10 GE1/0/1 VALID 157
10::6 0001-0203-0607 10 GE1/0/2 VALID 105
Device A连接到网关设备Device B。Device B发布ND RA消息,Device A上可以监听Device B发送的ND RA报文并动态生成ND RA报文前缀记录表项。
图1-9 ND RA报文前缀记录组网图
(1) 配置Device A
# 创建VLAN 2。
<DeviceA> system-view
[DeviceA] vlan 2
[DeviceA-vlan2] quit
# 配置端口GigabitEthernet1/0/1允许VLAN 2的报文通过。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 2
[DeviceA-GigabitEthernet1/0/1] quit
# 创建VLAN接口2并配置自动配置IPv6地址。
[DeviceA] interface vlan-interface 2
[DeviceA-Vlan-interface2] ipv6 address auto
[DeviceA-Vlan-interface2] quit
# 在VLAN 2下开启ND RA报文前缀记录功能。
[DeviceA] vlan 2
[DeviceA-vlan2] ipv6 nd ra prefix record
[DeviceA-vlan2] quit
(2) 配置Device B
# 创建VLAN 2。
<DeviceB> system-view
[DeviceB] vlan 2
[DeviceB-vlan2] quit
# 配置端口GigabitEthernet1/0/1允许VLAN 2的报文通过。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 2
[DeviceB-GigabitEthernet1/0/1] quit
# 创建VLAN接口2并配置IPv6地址为3001::2/64。
[DeviceB] interface vlan-interface 2
[DeviceB-Vlan-interface2] ipv6 address 3001::2/64
# 取消对VLAN接口2发布ND RA消息的抑制。
[DeviceB-Vlan-interface2] undo ipv6 nd ra halt
[DeviceB-Vlan-interface2] quit
# 在Device A上查看到VLAN 2内学习到的ND RA报文前缀记录表项。
[DeviceA] display ipv6 nd ra prefix vlan 2
IPv6 prefix Valid lifetime(sec) SVLAN ID CVLAN ID
3001::/64 2592000 2 N/A
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!