配置ND代理
设备可以作为NS报文中目标主机的代理,代为回答一些特殊情况下不可达的邻居请求。
应用环境
ND只适用于处于同一物理网络的相同网段主机之间的通信。网络中的路由器收到主机发送的NS报文后,会检查报文的目的IPv6地址是否是本机的IPv6地址,以确定该报文请求的是不是本机的MAC地址。如果是,则回复NA报文;如果不是,则丢弃该NS报文。
对于不在同一物理网络但属于相同网段的主机,或者在同一物理网络属于相同网段但不能二层互通的主机,可以在其之间的路由器上部署ND代理功能,以实现这些主机之间的通信。部署ND代理功能后,路由器收到NS报文且发现其目的地址不是自己,则使用路由器自己的MAC地址以及目的主机的IPv6地址向源主机回复NA报文,即路由器代替目的主机回复NA报文。
配置路由式ND代理
如果主机属于同一网段却不在同一物理网络上并且连接主机的网关设备具有不同的网关地址,可以部署该功能。
背景信息
如果主机属于同一网段却不在同一物理网络上并且连接主机的网关设备具有不同的网关地址,此时主机间要互通,则需要在路由器连接主机的接口上启用路由式ND代理功能。
通过在DeviceA的Interface1和DeviceB的Interface2上使能路由式ND代理功能,可以解决上述问题。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的全球单播地址。
- 执行命令ipv6 nd proxy route enable,使能路由式ND代理功能。
不允许在配置了CGA地址的接口上使能ND代理功能,否则代理设备回应的携带CGA/RSA选项的NA报文可能会被用户直接丢弃。
用户可以在接口视图下配置多种ND代理,生效的优先级为:ND任意代理>VLAN内ND代理/VLAN间ND代理/ND本地代理>路由式ND代理。
- 对于如下报文设备不进行ND代理:
- 目标地址为链路本地地址的NS报文。
- 源地址为全0的DAD NS报文。
- 目标地址是本机的NS报文。
- 执行命令commit,提交配置。
配置ND任意代理
如果VM属于同一网段却不在同一物理网络上并且连接VM的网关设备具有相同的网关地址,可以部署该功能。
背景信息
针对服务器划分VM的情况,为了使得VM能够在多个服务器或多个网关设备间灵活部署与迁移,常用的方法是将多个网关设备的二层连通。但是,这种方式会导致网络中二层域变大,并存在广播风暴的风险。为了解决这一问题,常用的方式是在VM的网关设备上开启ND任意代理,将网关设备端口的MAC地址发送给请求的VM,将VM到其他VM的通讯都转变为路由转发。
通过在DeviceA和DeviceB的Interface1上使能ND任意代理,可以解决上述问题。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的全球单播地址。
- 执行命令ipv6 nd proxy anyway enable,使能ND任意代理功能。
不允许在配置了CGA地址的接口上使能ND代理功能,否则代理设备回应的携带CGA/RSA选项的NA报文可能会被用户直接丢弃。
用户可以在接口视图下配置多种ND代理,生效的优先级为:ND任意代理>VLAN内ND代理/VLAN间ND代理/ND本地代理>路由式ND代理。
- 对于如下报文设备不进行ND代理:
- 目标地址为链路本地地址的NS报文。
- 源地址为全0的DAD NS报文。
- 目标地址是本机的NS报文。
- 执行命令commit,提交配置。
配置VLAN内ND代理
如果主机属于相同的VLAN,但VLAN内配置了二层端口隔离,可以部署该功能。
背景信息
如果主机属于相同的VLAN,但VLAN内配置了二层端口隔离,此时主机间要互通,则需要在关联VLAN的接口上启用VLAN内ND代理功能。
通过在Device的Interface1上使能VLAN内ND代理功能,可以解决上述问题。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface vlanif vlan-id或interface interface-type interface-number.sub-number,进入VLANIF接口视图或三层子接口。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的全球单播地址。
- 执行命令ipv6 nd
proxy inner-access-vlan enable,使能VLAN内ND代理功能。
在使能ND代理的接口上配置的IPv6地址需要与该接口所连接的主机IPv6地址处于同一网段。
不允许在配置了CGA地址的接口上使能ND代理功能,否则代理设备回应的携带CGA/RSA选项的NA报文可能会被用户直接丢弃。
用户可以在接口视图下配置多种ND代理,生效的优先级为:ND任意代理>VLAN内ND代理/VLAN间ND代理/ND本地代理>路由式ND代理。
- 对于如下报文设备不进行ND代理:
- 目标地址为链路本地地址的NS报文。
- 源地址为全0的DAD NS报文。
- 目标地址和本接口地址非同网段的NS报文。
- 目标地址是本机的NS报文。
- 执行命令commit,提交配置。
配置VLAN间ND代理
如果主机处于同一物理网络相同网段但属于不同的VLAN,主机间要进行三层互通,可以部署该功能。
背景信息
如果主机处于同一物理网络相同网段但属于不同的VLAN,主机间要进行三层互通,则需要在关联这些VLAN的接口上使能VLAN间ND代理功能。
通过在Device的Interface1上使能VLAN间ND代理功能,可以解决上述问题。
- CSG1发送NS报文,请求CSG2的MAC地址。
- ASG收到此NS报文后,检查报文的目的IPv6地址,发现并不是自己本机的IPv6地址,因此确定该报文请求的不是自己的MAC地址。然后,ASG检查是否存在到达CSG2的ND表项:
- 如果有CSG2对应的ND表项,且该表项中的VLAN信息与接收报文的端口的VLAN信息不同,则判断L3VE子接口是否使能了VLAN间ND代理功能:
如果使能了VLAN间ND代理功能,则将L3VE子接口的MAC地址发送给CSG1。
CSG1收到ASG发送的NA报文后,认为此报文是CSG2发送的NA报文。CSG1从报文中学习ASG设备L3VE子接口的MAC地址,并使用此MAC地址向CSG2发送数据报文。
- 如果没有使能VLAN间ND代理功能,则丢弃该NS报文。
- 如果没有CSG2对应的ND表项,则丢弃CSG1发送的NS报文,同时判断L3VE子接口是否使能了VLAN间ND代理功能:
- 如果使能了VLAN间ND代理功能,则在VLAN 3内组播转发NS报文,该请求报文的目的IPv6地址为CSG2的IPv6地址。收到CSG2发送的NA报文后,生成相应的ND表项。
- 如果没有使能VLAN间ND代理功能,则不执行任何操作。
- 如果有CSG2对应的ND表项,且该表项中的VLAN信息与接收报文的端口的VLAN信息不同,则判断L3VE子接口是否使能了VLAN间ND代理功能:
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的全球单播地址。
- 执行命令ipv6 nd
proxy inter-access-vlan enable,使能VLAN间ND代理功能。
在使能ND代理的接口上配置的IPv6地址需要与该接口所连接的主机IPv6地址处于同一网段。
不允许在配置了CGA地址的接口上使能ND代理功能,否则代理设备回应的携带CGA/RSA选项的NA报文可能会被用户直接丢弃。
用户可以在接口视图下配置多种ND代理,生效的优先级为:ND任意代理>VLAN内ND代理/VLAN间ND代理/ND本地代理>路由式ND代理。
对于不支持配置VLAN段的设备,不支持VLAN间ND代理。
- 对于如下报文设备不进行ND代理:
- 目标地址为链路本地地址的NS报文。
- 源地址为全0的DAD NS报文。
- 目标地址和本接口地址非同网段的NS报文。
- 目标地址是本机的NS报文。
配置ND本地代理
如果主机属于相同的BD,但BD内配置了水平分割功能,此时处于相同网段的主机间要互通,可以部署该功能。
背景信息
如果主机属于相同的BD,但BD内配置了水平分割功能,此时处于相同网段的主机间要互通,则需要在关联BD的接口上启用ND本地代理。
通过在Device的Interface1上使能ND本地代理功能,可以解决上述问题。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface vbdif bd-id,进入VBDIF接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置接口的全球单播地址。
- 执行命令ipv6 nd proxy local enable,使能ND本地代理功能。
使能ND本地代理功能之后,BD内的所有用户之间将能够互相通信。
在使能ND代理的接口上配置的IPv6地址需要与该接口所连接的主机IPv6地址处于同一网段。
不允许在配置了CGA地址的接口上使能ND代理功能,否则代理设备回应的携带CGA/RSA选项的NA报文可能会被用户直接丢弃。
用户可以在接口视图下配置多种ND代理,生效的优先级为:ND任意代理>VLAN内ND代理/VLAN间ND代理/ND本地代理>路由式ND代理。
- 对于如下报文设备不进行ND代理:
- 目标地址为链路本地地址的NS报文。
- 源地址为全0的DAD NS报文。
- 目标地址和本接口地址非同网段的NS报文。
- 目标地址是本机的NS报文。
- 执行命令commit,提交配置。