06-DHCPv6配置
本章节下载: 06-DHCPv6配置 (1.07 MB)
目 录
2.3.9 指定DHCPv6服务器上的地址池所属的VPN实例
2.5 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配方式
2.6 配置DHCPv6策略动态分配IPv6地址、前缀和其他参数
2.8 开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能
2.9 配置当为新DHCPv6客户端分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,释放已在线DHCPv6客户端的IPv6地址
2.10 配置当DHCPv6服务器上已经存在和DHCPv6请求报文MAC地址相同但DUID不同的租约时,释放已在线客户端的IPv6地址,并将该IPv6地址分配给DHCPv6请求报文对应的客户端
2.11 配置DHCPv6服务器收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式
2.12 配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
2.17.3 配置DHCPv6服务器分配地址/前缀失败的告警功能
2.17.6 配置IPv6地址池组的地址/前缀资源耗尽/恢复的告警功能
2.17.7 配置IPv6地址池组的地址使用率高于等于阈值或恢复到低于阈值的告警功能
2.18 配置当IPv6地址池或地址池组可分配的资源耗尽或资源恢复时,系统生成日志信息
3.5.1 指定DHCPv6中继对应的DHCPv6服务器地址
3.5.2 指定远端IPv6中继地址池上对应的DHCPv6服务器地址
3.6 配置DHCPv6中继为DHCPv6客户端分配的网关地址
3.7 指定DHCPv6中继向DHCPv6服务器转发报文的源地址
3.7.3 在中继池指定DHCPv6中继向DHCPv6服务器转发报文的源地址
3.7.4 在接口指定DHCPv6中继向DHCPv6服务器转发报文的源地址
3.8 配置DHCPv6中继发送DHCPv6报文的DSCP优先级
3.9 配置DHCPv6中继支持的Interface ID选项填充模式
3.10 开启DHCPv6中继支持添加Option 79选项功能
3.12.1 开启DHCPv6中继用户地址/前缀表项记录功能
3.12.2 配置清除用户表项时通知DHCPv6服务器释放租约
3.13 配置DHCPv6中继收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式
4.5 配置DHCPv6客户端获取IPv6地址和网络配置参数
4.6 配置DHCPv6客户端获取IPv6前缀和网络配置参数
4.7 配置DHCPv6客户端同时获取IPv6地址、IPv6前缀和网络配置参数
4.8 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
4.9 配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
4.11.3 DHCPv6客户端同时申请地址、前缀及网络参数配置举例
5.1.2 记录DHCPv6客户端IPv6地址与MAC地址的对应关系
5.5 配置DHCPv6 Snooping支持Option 18功能
5.6 配置DHCPv6 Snooping支持Option 37功能
5.8 配置接口动态学习DHCPv6 Snooping表项的最大数目
5.9 开启DHCPv6 Snooping的DHCPv6请求方向报文检查功能
5.13.1 DHCPv6 Snooping基本组网配置举例
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)针对IPv6编址方案设计,用来为主机分配IPv6前缀、IPv6地址和其他网络配置参数。
与其他IPv6地址分配方式(包括手工配置、通过路由器公告消息中的网络前缀无状态自动配置等,关于这两种形式的配置,请参见“三层技术-IP业务配置指导”中的“IPv6基础”)相比,DHCPv6具有以下优点:
· 更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。
· 为客户端分配前缀,以便于全网络的自动配置和管理。
· 除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名后缀等网络配置参数。
DHCPv6服务器为客户端分配地址/前缀的过程分为两类:
· 交互两个消息的快速分配过程
· 交互四个消息的分配过程
图1-1 地址/前缀快速分配过程
如图1-1所示,地址/前缀快速分配过程为:
(1) DHCPv6客户端在向DHCPv6服务器发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和其他网络配置参数。
(2) 如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用“1.2.2 交互四个消息的分配过程”为客户端分配IPv6地址/前缀和其他网络配置参数。
交互四个消息的分配过程如图1-2所示。
交互四个消息分配过程的简述如表1-1。
步骤 |
发送的消息 |
说明 |
(1) |
Solicit |
DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数 |
(2) |
Advertise |
如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数 |
(3) |
Request |
如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数 |
(4) |
Reply |
DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用 |
DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限,该租借期限称为租约。租借期限由有效生命期决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要申请延长地址/前缀租约。
图1-3 通过Renew更新地址/前缀租约
如图1-3所示,地址/前缀租借时间到达时间T1(推荐值为首选生命期的一半)时,DHCPv6客户端会向为它分配地址/前缀的DHCPv6服务器发送Renew报文,以进行地址/前缀租约的更新。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约。
图1-4 通过Rebind更新地址/前缀租约
如图1-4所示,如果在T1时发送Renew请求更新租约,但是未收到DHCPv6服务器的回应报文,则DHCPv6客户端会在T2(推荐值为首选生命期的0.8倍)时,向所有DHCPv6服务器组播发送Rebind报文请求更新租约。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约;如果DHCPv6客户端未收到服务器的应答报文,则到达有效生命期后,客户端停止使用该地址/前缀。有效生命期和首选生命期的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
DHCPv6服务器可以为已经具有IPv6地址/前缀的客户端分配其他网络配置参数,该过程称为DHCPv6无状态配置。
DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,即DHCPv6客户端根据路由器发现/前缀发现所获取的信息自动配置IPv6地址后,如果接收到的RA(Router Advertisement,路由器通告)报文中M标志位(Managed address configuration flag,被管理地址配置标志位)取值为0、O标志位(Other stateful configuration flag,其他配置标志位)取值为1,则DHCPv6客户端会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。
图1-5 DHCPv6无状态配置工作过程
如图1-5所示,DHCPv6无状态配置的具体过程为:
(2) 客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
(3) 服务器收到Information-request报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端。
(4) 客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。如果接收到多个与请求相符的Reply报文,客户端将选择最先收到的Reply报文,并根据该报文中提供的参数完成客户端无状态配置。
Option 18称为接口ID选项(Interface ID),设备接收到DHCPv6客户端发送的DHCPv6请求报文后,在该报文中添加Option 18选项,并转发给DHCPv6服务器。服务器可根据Option 18选项中的客户端信息选择合适的地址池为DHCPv6客户端分配IPv6地址。图1-6为Option 18选项格式。
图1-6 Option 18选项格式
各字段的解释如下:
· Option code:Option编号,取值为18。
· Option length:Option字段长度。
· Port index:DHCPv6设备收到客户端请求报文的端口索引。
· VLAN ID:第一层VLAN信息。
· Second VLAN ID:第二层VLAN信息。选项格式中的Second VLAN ID字段为可选,如果DHCPv6报文中不含有Second VLAN,则Option 18中也不包含Second VLAN ID内容。
· DUID:DHCPv6客户端的DUID信息。
Option 37称为远程ID选项(Remote ID),设备接收到DHCPv6客户端发送的DHCPv6请求报文后,在该报文中添加Option 37选项,并转发给DHCPv6服务器。服务器可根据Option 37选项中的信息对DHCPv6客户端定位,为分配IPv6地址提供帮助。图1-7为Option 37选项格式。
图1-7 Option 37选项格式
各字段的解释如下:
· Option code:Option编号,取值为37。
· Option length:Option字段长度。
· Enterprise number:企业编号。
· Port index:DHCPv6设备收到客户端请求报文的端口索引。
· VLAN ID:第一层VLAN信息。
· Second VLAN ID:第二层VLAN信息。选项格式中的Second VLAN ID字段为可选,如果DHCPv6报文中不含有Second VLAN,则Option 37中也不包含Second VLAN ID内容。
· DUID:DHCPv6客户端的DUID信息。
与DHCPv6相关的协议规范有:
· RFC 3736:Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6
· RFC 3315:Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
· RFC 2462:IPv6 Stateless Address Autoconfiguration
· RFC 3633:IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6
DHCPv6服务器可以为客户端分配IPv6地址/前缀和其他网络配置参数。
图2-1 DHCPv6服务器为客户端分配IPv6地址和其他网络配置参数应用环境
如图2-1所示,为了便于集中管理IPv6地址,简化网络配置,DHCPv6服务器可以用来为DHCPv6客户端提供诸如IPv6地址、域名后缀、DNS服务器地址等网络配置参数。DHCPv6客户端根据服务器分配的参数来实现主机的配置。
DHCPv6服务器为客户端分配的IPv6地址分为以下两类:
· 临时IPv6地址:在短期内经常变化且不用续约的地址;
· 非临时IPv6地址:正常使用,可以进行续约的地址。
图2-2 DHCPv6服务器前缀分配应用组网图
如图2-2所示,为了便于集中管理IPv6地址,简化网络配置,DHCPv6服务器可以用来为DHCPv6客户端分配IPv6前缀。DHCPv6客户端获取到IPv6前缀后,向所在网络组播发送包含该前缀信息的RA消息,以便网络内的主机根据该前缀自动配置IPv6地址。
DHCPv6采用组播地址FF05::1:3来表示站点本地范围内所有的DHCPv6服务器;采用组播地址FF02::1:2来表示链路本地范围内所有的DHCPv6服务器和中继。
DUID(DHCP Unique Identifier,DHCP唯一标识符)是一台DHCPv6设备(包括客户端、服务器和中继)的唯一标识。在DHCPv6报文交互过程中,DHCPv6客户端、服务器和中继通过在报文中添加DUID来标识自己。
目前,设备采用RFC 3315规定的DUID-LL(DUID Based on Link-layer Address,基于链路层地址的DUID)作为DHCPv6设备的标识。DUID-LL的结构如图2-3所示:
· DUID type:DUID类型。设备支持的DUID类型为DUID-LL,取值为0x0003。
· Hardware type:硬件类型。设备支持的硬件类型为以太网,取值为0x0001。
· Link layer address:链路层地址。取值为设备的桥MAC地址。
IA(Identity Association,标识联盟)用于管理分配给客户端的一组地址和前缀等信息,通过IAID标识。一个客户端可以有多个IA,如客户端的每个接口拥有一个IA,IA用来管理该接口获取的地址和前缀等信息。
IAID是IA的标识符,由客户端选择。在一个客户端上不同IA的IAID不能相同。
PD(Prefix Delegation,前缀授权)是DHCPv6服务器为分配的前缀创建的前缀绑定信息,前缀绑定信息中记录了IPv6前缀、客户端DUID、IAID、有效时间、首选时间、租约过期时间、申请前缀的客户端的IPv6地址等信息。
每个IPv6地址池都拥有一组可供分配的IPv6地址、IPv6前缀和网络配置参数。DHCPv6服务器从地址池中为客户端选择并分配IPv6地址、IPv6前缀及其他参数。
· 静态绑定IPv6地址:通过将客户端DUID和IAID与IPv6地址绑定的方式,实现为特定的客户端分配特定的IPv6地址;
· 动态选择IPv6地址:在地址池中指定可供分配的IPv6地址范围,当收到客户端的IPv6地址申请时,从该地址范围中动态选择IPv6地址,分配给该客户端。
在IPv6地址池中指定可供分配的IPv6地址范围时,需要:
(1) 指定动态分配的IPv6地址网段。
(2) 将该网段划分为非临时地址范围和临时地址范围。每个地址范围内的地址必须属于该网段,否则无法分配。
采用动态选择IPv6地址方式时,如果接收到客户端的地址申请,则DHCPv6服务器选择一个合适的地址池,并按照客户端申请的地址类型(非临时地址或临时地址),从该地址池对应的地址范围(非临时地址范围或临时地址范围)中选择合适的IPv6地址分配给客户端。
IPv6地址池的前缀管理方式有以下几种:
· 静态绑定IPv6前缀:通过将客户端DUID和IAID与IPv6前缀绑定的方式,实现为特定的客户端分配特定的IPv6前缀;
· 动态选择IPv6前缀:在地址池中指定可供分配的IPv6前缀范围,当收到客户端的IPv6前缀申请时,从该前缀范围中动态选择IPv6前缀,分配给该客户端。
在IPv6地址池中指定可供分配的IPv6前缀范围时,需要:
(1) 创建前缀池,指定前缀池中包括的IPv6前缀范围。
(2) 在地址池中指定动态分配的IPv6地址网段。
(3) 在地址池中引用前缀池。
DHCPv6服务器为客户端分配IPv6地址或前缀时,按照如下顺序选择地址池:
(1) 如果存在将客户端DUID、IAID与IPv6地址或前缀静态绑定的地址池,则选择该地址池,并将静态绑定的IPv6地址或前缀、及该地址池中的网络参数分配给客户端。
(2) 如果配置了DHCPv6策略,则DHCPv6客户端匹配某个DHCPv6用户类时,DHCPv6服务器选择与该DHCPv6用户类关联的IPv6地址池;DHCPv6客户端未匹配到DHCPv6用户类时,若配置了默认IPv6地址池,则选择该IPv6地址池;若未配置默认IPv6地址池或IPv6默认地址池不存在可供分配的IPv6地址或前缀时,IPv6地址、前缀或其他参数分配失败。
(3) 如果接收到DHCPv6请求报文的接口引用了某个地址池,则选择该地址池,从该地址池中选取IPv6地址或前缀、及网络配置参数分配给客户端。
(4) 如果上述条件均不满足,则使用以下方法选择IPv6地址池:
¡ 如果客户端与服务器在同一网段,则将接收到DHCPv6请求报文的接口的IPv6地址与所有地址池配置的网段进行匹配,并选择最长匹配的网段所对应的地址池。
¡ 如果客户端与服务器不在同一网段,即客户端通过DHCPv6中继获取IPv6地址或前缀,则将离DHCPv6客户端最近的DHCPv6中继接口的IPv6地址与所有地址池配置的网段进行匹配,并选择最长匹配的网段所对应的地址池。
配置地址池动态分配的网段和IPv6地址范围时,请尽量保证与DHCPv6服务器接口或DHCPv6中继接口的IPv6地址所在的网段一致,以免分配错误的IPv6地址。
DHCPv6服务器为客户端分配IPv6地址/前缀的优先次序如下:
(1) DUID、IAID与客户端DUID、IAID匹配,且与客户端期望地址/前缀匹配的静态绑定地址/前缀;
(2) DUID、IAID与客户端DUID、IAID匹配的静态绑定地址/前缀;
(3) DUID与客户端的DUID匹配,且与客户端期望地址/前缀匹配的静态绑定地址/前缀,该地址/前缀中未指定客户端的IAID;
(4) DUID与客户端DUID匹配的静态绑定地址/前缀,该地址/前缀中未指定客户端的IAID;
(5) 地址池/前缀池中与客户端期望地址/前缀匹配的空闲地址/前缀;
(6) 服务器记录的曾经分配给客户端的地址/前缀;
(7) 地址池/前缀池中的其他空闲地址/前缀;
(8) 如果未找到可用的地址/前缀,则依次查询租约过期地址/前缀、曾经发生过冲突的地址,如果找到则进行分配,否则将不予处理。
如果客户端的网段发生变化,服务器不会为客户端分配曾经分配给它的地址/前缀,而是从匹配新网段的地址池中重新选择地址/前缀等信息。
使用曾经发生过冲突的IPv6地址时,只有冲突状态超过一小时的地址租约才能够被服务器分配给新的DHCPv6客户端。
(1) 配置IPv6地址池
(2) 配置IPv6地址池组
(3) 修改DHCPv6服务器的地址池选择方式
请至少选择以下一项任务进行配置:
¡ 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配方式
¡ 配置DHCPv6策略动态分配IPv6地址、前缀和其他参数
(4) 配置高级功能
¡ (可选)开启DHCPv6老化地址/前缀租约保留功能
¡ (可选)开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能
¡ (可选)配置当为新DHCPv6客户端分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,释放已在线DHCPv6客户端的IPv6地址
¡ (可选)配置当DHCPv6服务器上已经存在和DHCPv6请求报文MAC地址相同但DUID不同的租约时,释放已在线客户端的IPv6地址,并将该IPv6地址分配给DHCPv6请求报文对应的客户端
¡ (可选)配置DHCPv6服务器收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式
¡ (可选)配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
¡ (可选)配置DHCPv6服务器租约固化功能
¡ (可选)开启DHCPv6服务器发布前缀路由功能
¡ (可选)配置DHCPv6服务器安全功能
(5) (可选)开启DHCPv6服务器的日志信息功能
(6) (可选)配置DHCPv6服务器告警功能
(7) (可选)配置当IPv6地址池或地址池组可分配的资源耗尽或资源恢复时,系统生成日志信息
IPv6地址池配置任务如下:
(1) 配置为DHCPv6客户端分配IPv6前缀、IPv6地址和其他网络参数
请至少选择以下一项进行配置:
(2) (可选)配置用户主机路由发布功能
(3) (可选)配置DHCPv6服务器辅助路由信息
(4) (可选)配置IPv6地址池路由日志功能
(5) (可选)指定DHCPv6服务器上的地址池所属的VPN实例
(6) (可选)锁定IPv6地址池
可以通过以下两种方式配置DHCPv6服务器为DHCPv6客户端分配IPv6前缀:
· 在地址池中配置静态绑定前缀:指定DUID、IAID及前缀的静态绑定关系后,如果DHCPv6请求报文中的DUID、IAID与静态绑定的DUID、IAID都相同,则将静态绑定的前缀分配给此DHCPv6客户端。如果只指定了DUID和前缀的绑定关系,未指定静态绑定的IAID,则只要请求报文中的DUID与静态绑定的DUID相同,就将静态绑定的前缀分配给此DHCPv6客户端。
· 在地址池中引用包含一定前缀范围的前缀池:接收到DHCPv6客户端的前缀分配请求后,DHCPv6服务器从前缀范围中动态选择可用前缀,分配给客户端。
在实际组网中,某些前缀是保留前缀,不应该动态分配给客户端。通过配置不参与自动分配的前缀,可以避免DHCPv6服务器分配这些前缀。
配置为DHCPv6客户端分配IPv6前缀时,需要注意:
· 一个IPv6前缀只能与一个客户端绑定。不允许通过重复执行static-bind prefix命令的方式修改IPv6前缀与客户端的绑定关系、前缀的首选生命期和有效生命期。只有删除该IPv6前缀的静态绑定配置后,才能将该IPv6前缀与其他客户端绑定,或修改前缀的首选生命期和有效生命期。
· 通过ipv6 dhcp server forbidden-prefix命令配置的不参与自动分配的IPv6前缀,不能配置为静态绑定的IPv6前缀。
· 一个地址池最多可以引用一个前缀池。地址池可以引用并不存在的前缀池,但是,此时设备无法从该地址池中动态选择前缀分配给客户端。只有创建该前缀池后,才能支持前缀的动态选择。
· 不允许通过重复执行prefix-pool命令的方式修改地址池引用的前缀池。只有取消当前地址池引用的前缀池后,才能引用其他的前缀池。
· 重复执行prefix-pool命令修改前缀的首选生命期和有效生命期仅对配置后新上线的用户生效。
(1) 进入系统视图。
system-view
(2) 创建前缀池。
ipv6 dhcp prefix-pool prefix-pool-number prefix { prefix-number | prefix/prefix-len } assign-len assign-len [ vpn-instance vpn-instance-name ]
仅在DHCPv6服务器为DHCPv6客户端动态分配IPv6前缀时需要进行本配置。
当配置前缀池引用前缀编号时,必须保证指定前缀号有对应的生效前缀,否则配置不生效。
(3) 创建IPv6地址池,并进入IPv6地址池视图。
ipv6 pool pool-name]
(4) 配置动态分配的IPv6地址网段。
network { prefix/prefix-length | prefix prefix-number [ sub-prefix/sub-prefix-length ] } [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6地址网段。
不能在不同地址池下使用network命令配置相同的地址网段。
不能在不同地址池下引用完全一致的前缀编号、子前缀和子前缀长度。
(5) 配置地址池引用前缀信息。请至少选择其中一项进行配置。
¡ 配置静态绑定前缀。
static-bind prefix prefix/prefix-len duid duid [ iaid iaid ] [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置地址池的静态绑定前缀。
重复执行static-bind prefix命令,可以配置多个静态绑定的IPv6前缀。
¡ 配置地址池引用前缀池。
prefix-pool prefix-pool-number [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] [ export-route [ preference preference | tag tag ] * ]
缺省情况下,未配置可动态分配的前缀。
¡ (可选)配置不参与自动分配的IPv6前缀或前缀段。
forbidden-prefix start-prefix/prefix-len [ end-prefix/prefix-len ]
缺省情况下,DHCPv6前缀池中的所有IPv6前缀或前缀段都参与自动分配。
(6) (可选)在系统视图配置全局不参与自动分配的IPv6前缀。
a. 退回系统视图。
quit
b. (可选)配置不参与自动分配的IPv6前缀。
ipv6 dhcp server forbidden-prefix start-prefix/prefix-len [ end-prefix/prefix-len ] [ vpn-instance vpn-instance-name ]
缺省情况下,DHCPv6前缀池中的所有IPv6前缀都参与自动分配。
已经通过static-bind命令静态绑定的IPv6前缀不能通过本命令配置为不参与自动分配的IPv6前缀。
可以通过以下两种方式配置DHCPv6服务器为DHCPv6客户端分配IPv6地址:
· 在地址池中配置静态绑定地址:指定DUID、IAID及地址的静态绑定关系后,如果DHCPv6请求报文中的DUID、IAID与静态绑定的DUID、IAID都相同,则将静态绑定的地址分配给此DHCPv6客户端。如果只指定了DUID和地址的绑定关系,未指定静态绑定的IAID,则只要请求报文中的DUID与静态绑定的DUID相同,就将静态绑定的地址分配给此DHCPv6客户端。
· 在地址池中配置动态分配的地址网段和地址范围:
¡ 在进行非临时地址分配时,如果未在地址池下通过address range命令配置动态分配的IPv6非临时地址范围,则network命令指定的网段内的单播地址都可以分配给DHCPv6客户端。如果配置了address range命令,则只会从该地址范围内分配IPv6非临时地址,即使该范围内的地址分配完毕,也不会从network命令指定的地址范围内分配IPv6非临时地址。
¡ 在进行临时地址分配时,如果未在地址池下通过temporary address range命令配置动态分配的IPv6临时地址范围,则地址池无法分配临时地址。如果配置了temporary address range命令,则只会从该地址范围内分配IPv6临时地址,不会从network或者address range命令配置的地址范围内分配临时地址。
在实际组网中,某些地址是服务器的地址或者是保留地址,不应该动态分配给客户端。通过配置不参与自动分配的地址,可以避免DHCPv6服务器分配这些地址。
目前IPv6地址池正常的地址分配方式是尽量保证同一用户上线能够获得相同的IPv6地址。但是在某些通过IPv6地址识别身份的应用中,用户需要实现每次上线能够获得不同的IPv6地址的需求。针对这种需求,设备需提供IPv6地址池随机分配新地址的功能。本功能保证用户在断线重拨后可以获得不同的IPv6地址。
配置为DHCPv6客户端分配IPv6地址,需要注意:
· 一个地址池下只能配置一个IPv6非临时地址范围和一个IPv6临时地址范围。
· address range命令和temporary address range命令配置的地址范围应该在network命令配置的网段内,否则地址不能被分配。
· 一个IPv6地址只能与一个客户端绑定。不允许通过重复执行static-bind address命令的方式修改IPv6地址与客户端的绑定关系、地址的首选生命期和有效生命期。只有删除该IPv6地址的静态绑定配置后,才能通过重新配置将该IPv6地址与其他客户端绑定,或修改地址的首选生命期和有效生命期。
· 通过ipv6 dhcp server forbidden-address命令配置的不参与自动分配的IPv6地址,不能配置为静态绑定的IPv6地址。
· 每个IPv6地址池只能配置一个网段,在相同地址池中重复执行network命令,新的配置会覆盖已有配置。如果相邻两次network命令配置的地址网段相同而首选生命期和有效生命期不同,则新配置的首选生命期和有效生命期只能在新生成的绑定信息中生效,原有绑定信息不受影响。
只有在动态分配的IPv6地址网段的前缀长度不超过64的IPv6地址池中,配置IPv6地址池的IPv6地址分配方式才生效。
对于EUI-64方式,DHCPv6服务器只能从DHCP请求报文的链路层报文头中获取到客户端的MAC地址信息;对于接口ID方式,DHCPv6服务器只能从DHCP请求报文的源地址中获取到接口标识信息。所以在DHCPv6客户端通过DHCPv6中继向DHCPv6服务器获取地址的网络环境中,无法配置IPv6地址池的IPv6地址分配方式。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 配置动态分配的IPv6地址网段。
network { prefix/prefix-length | prefix prefix-number [ sub-prefix/sub-prefix-length ] } [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6地址网段。
不能在不同地址池下使用network命令配置相同的地址网段。
不能在不同地址池下引用完全一致的前缀编号、子前缀和子前缀长度。
(4) (可选)配置动态分配的IPv6非临时地址范围。
address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置地址池中动态分配的IPv6非临时地址范围,整个网段内的单播地址都可以作为非临时地址分配给客户端。
(5) (可选)配置动态分配的IPv6临时地址范围。
temporary address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6临时地址范围,不能分配IPv6临时地址。
(6) (可选)配置IPv6地址池地址分配模式。
address-alloc-mode { eui-64 | interface-id }
缺省情况下,地址池按照地址选择优先次序选择第一个可用的IPv6地址分配给DHCPv6客户端。
本功能仅普通IPv6地址池支持。
(7) (可选)开启IPv6地址池随机分配新地址功能。
allocate-new-ip enable
缺省情况下,IPv6地址池随机分配新地址功能处于关闭状态。
只有开启DHCPv6老化地址租约保留功能,本功能才生效。
DHCPv6中继组网环境中,当DHCPv6中继同时作为接入设备时,DHCPv6服务器上配置本功能后,会导致异常下线的DHCPv6中继接入用户无法再次上线。
(8) (可选)配置静态绑定的IPv6地址。
static-bind address ipv6-address/addr-prefix-length duid duid [ iaid iaid ] [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,不存在静态绑定的IPv6地址。
重复执行static-bind address命令,可以配置多个静态绑定的IPv6地址。
(9) (可选)配置不参与自动分配的IPv6地址或地址段。
forbidden-address start-ipv6-address [ end-ipv6-address ]
缺省情况下,除DHCPv6服务器接口的IPv6地址外,IPv6地址池中的所有IPv6地址或地址段都参与自动分配。
(10) (可选)在系统视图配置全局不参与自动分配的IPv6地址。
a. 退回系统视图。
quit
b. (可选)配置不参与自动分配的IPv6地址。
ipv6 dhcp server forbidden-address start-ipv6-address [ end-ipv6-address ] [ vpn-instance vpn-instance-name ]
缺省情况下,除DHCPv6服务器接口的IPv6地址外,IPv6地址池中的所有IPv6地址都参与自动分配。
已经通过static-bind命令静态绑定的IPv6地址不能通过本命令配置为不参与自动分配的IPv6地址。
除了分配IPv6地址和IPv6前缀外,IPv6地址池中还可以配置其他网络参数,如在一个地址池下最多可以配置8个DNS服务器地址、1个域名、1个AFTR(Address Family Transition Router,地址族转换路由器)域名、8个SIP服务器地址和8个SIP服务器域名等。
可以通过如下方式配置为DHCPv6客户端分配的网络参数:
· 直接在IPv6地址池视图下配置网络参数。
· 在DHCPv6选项组中配置网络参数,并在IPv6地址池视图下指定引用的DHCPv6选项组。
DHCPv6选项组的创建方法有以下几种:
· 通过ipv6 dhcp option-group命令手工创建静态DHCPv6选项组。
· 设备作为DHCPv6客户端获取IPv6地址、前缀和网络配置参数时,在DHCPv6客户端上根据获取的网络配置参数动态创建DHCPv6选项组。
手工创建的DHCPv6选项组优先级高于动态创建的DHCPv6选项组。本节只介绍手工创建静态DHCPv6选项组的方法,动态创建DHCPv6选项组的方法请参见“三层技术-IP业务配置指导”中的“DHCPv6客户端”。
直接在IPv6地址池视图下配置的网络参数的优先级高于DHCPv6选项组中配置的网络参数。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 配置动态分配的IPv6地址网段。
network { prefix/prefix-length | prefix prefix-number [ sub-prefix/sub-prefix-length ] } [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6地址网段。
不能在不同地址池下使用network命令配置相同的地址网段。
不能在不同地址池下引用完全一致的前缀编号、子前缀和子前缀长度。
地址池引用前缀编号分配动态地址时必须保证前缀号有对应的生效前缀,否则配置不生效。
(4) 配置为客户端分配的DNS服务器地址。
dns-server ipv6-address
缺省情况下,未指定为客户端分配的DNS服务器地址。
(5) 配置为客户端分配的域名。
domain-name domain-name
缺省情况下,未指定为客户端分配的域名。
(6) 配置为客户端分配的AFTR域名。
aftr-name aftr-name
缺省情况下,未指定为客户端分配的AFTR域名。
(7) 配置为客户端分配的SIP服务器地址或域名。
sip-server { address ipv6-address | domain-name domain-name }
缺省情况下,未指定为客户端分配的SIP服务器地址或域名。
(8) 配置DHCPv6自定义选项。
option code hex hex-string
缺省情况下,未配置DHCPv6自定义选项。
(1) 进入系统视图。
system-view
(2) 手工创建静态DHCPv6选项组,并进入DHCPv6选项组视图。
ipv6 dhcp option-group option-group-number
(3) 配置为客户端分配的DNS服务器地址。
dns-server ipv6-address
缺省情况下,未指定为客户端分配的DNS服务器地址。
(4) 配置为客户端分配的域名后缀。
domain-name domain-name
缺省情况下,未指定为客户端分配的域名后缀。
(5) 配置为客户端分配的SIP服务器地址或域名。
sip-server { address ipv6-address | domain-name domain-name }
缺省情况下,未指定为客户端分配的SIP服务器地址或域名。
(6) 配置DHCPv6自定义选项。
option code hex hex-string
缺省情况下,未配置DHCPv6自定义选项。
(7) 退回系统视图。
quit
(8) 进入IPv6地址池视图。
ipv6 pool pool-name
(9) 配置IPv6地址池引用选项组。
option-group option-group-number
缺省情况下,IPv6地址池未引用选项组。
使用IPv6地址池为用户分配IPv6地址后,设备会将地址段对应的路由添加到路由管理中。BAS接入组网环境中,可能需要将不同IPv6地址池下的用户分类,发布到不同的网络。通过配置动态路由协议引用对应标记值的地址段路由,可以实现将该地址段路由通告到对应的网络中的目的。
IPv6地址池视图和系统视图下均可以配置用户网段路由标记值,IPv6地址池视图下的配置优先级高于系统视图下的配置。
(1) 进入系统视图。
system-view
(2) (可选)配置IPv6用户网段路由标记值。
ipv6 unr { framed-ipv6-address-tag tag-value | framed-ipv6-prefix-tag tag-value | framed-ipv6-route-tag tag-value | local-pool-tag tag-value | remote-pool-tag tag-value } *
缺省情况下,未配置IPv6用户网段路由标记值。
(3) 进入IPv6地址池视图。
ipv6 pool pool-name
(4) (可选)配置动态分配的IPv6非临时地址范围。
address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置地址池中动态分配的IPv6非临时地址范围,整个网段内的单播地址都可以作为非临时地址分配给客户端。
(5) (可选)配置动态分配的IPv6临时地址范围。
temporary address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6临时地址范围,不能分配IPv6临时地址。
重复执行static-bind address命令,可以配置多个静态绑定的IPv6地址。
(6) (可选)配置IPv6地址池的IPv6用户网络路由标记值。
unr tag tag-value
缺省情况下,未配置IPv6地址池的IPv6用户网络路由标记值。
(7) (可选)配置IPv6地址池下发给路由管理的网段路由的优先级。
unr preference preference-value
缺省情况下,IPv6地址池下发给路由管理的网段路由的优先级为65。
IPv6地址池分配IPv6地址时,通过执行network export-route命令可以配置发布IPv6地址对应的网段路由。由于多个IPv6地址池的地址空间网段相同,则这些IPv6地址池分配地址时,发布的网段路由相同,导致外部设备根据路由无法访问到终端设备。为了解决这个问题,需要开启用户主机路由发布功能。开启本功能后,IPv6地址池分配IPv6地址时,会发布对应地址的主机路由。这样,外部设备可以访问终端设备。
配置该命令会撤销网段路由,发布主机路由,请在地址池下没有用户时使用,否则使能前先上线的用户的UNR路由无法发布,地址池下的unr tag 命令不生效。执行undo export host-route后,会恢复地址池的网段路由。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 开启用户主机路由发布功能。
export host-route [ ipv6-address | nd-prefix | pd-prefix ] *
缺省情况下,用户主机路由发布功能处于关闭状态。
如图2-4所示,在某些特定的业务模型(如BRAS组网)下,BRAS设备需要实时监测网络流量,并将统计数据发送到RADIUS服务器。该统计数据为用户上线以来产生的所有上下行流量数据,而不能是设备在某个时间段内发生的上下行流量数据。由于RADIUS服务器刷新计数的方法是覆盖以前数据而不是进行累加,所以当一台设备的上下行流量分别从两台BRAS设备上通过时,在RADIUS服务器上记录的数据就会相互覆盖,这时RADIUS服务器得到的统计数据是不准确的。为了提高准确性,需保证一台设备的上下行流量经过同一台BRAS设备。通过在BRAS设备上配置辅助路由信息,并对外发布此网段路由,引导指定网段的下行数据流量来保证上下行流量从一台BRAS设备经过。
图2-4 DHCPv6服务器辅助路由组网图
如果地址池绑定了多机备份实例,需保证该地址池所在的接入设备为主用设备;如果地址池绑定了VPN实例,需保证该VPN实例存在。满足了以上两个条件,该接入设备的辅助路由功能才能生效。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 配置DHCPv6 服务器辅助路由信息。
network { prefix/prefix-length | prefix prefix-number [ sub-prefix/sub-prefix-length ] } [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] export-route [ preference preference | tag tag ] *
缺省情况下,未配置DHCPv6服务器辅助路由信息。
开启本功能后,当添加或删除IPv6地址池的网段路由等路由事件发生时,设备会打印日志信息。
IPv6地址池路由日志功能支持两种配置方式:
· 在系统视图下开启全局IPv6地址池路由日志功能,将开启设备上所有IPv6地址池的路由日志功能。
· 在IPv6地址池视图下开启单个IPv6地址池路由日志功能,设备将仅打印该IPv6地址池的路由日志信息。
(1) 进入系统视图。
system-view
(2) 开启全局IPv6地址池路由日志功能。
ipv6 dhcp route-log enable
缺省情况下,全局IPv6地址池路由日志功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 开启单个IPv6地址池路由日志功能。
route-log enable
缺省情况下,单个IPv6地址池路由日志功能处于关闭状态。
当地址池绑定了VPN实例后,DHCPv6服务器可以将网络划分成公网和VPN私网。未配置VPN属性的地址池被划分到公网,配置了VPN属性的地址池被划分到相应的VPN私网,这样,对于处于公网或VPN私网中的客户端,服务器都能够选择合适的地址池来为客户端分配租约并且记录该客户端的状态信息。
DHCPv6服务器可以通过如下方式判断DHCPv6客户端所属的VPN实例:
· 认证模块(如IPoE)用户接入时由AAA服务器授权VPN实例。
· DHCPv6服务器接收报文的接口绑定的VPN实例即为该客户端所属的VPN实例。
如果以上两种方式都可获取到DHCPv6客户端所属的VPN实例,则以认证模块为准。
设备作为MCE(Multi-VPN-instance Customer Edge,多VPN实例用户网络边界设备)时,在设备上配置DHCPv6服务器功能,不仅可以为公网上的DHCPv6客户端分配IPv6地址,还可以实现为私网内的DHCPv6客户端分配IPv6地址,但是公网和私网之间、不同私网之间的IPv6地址空间不能重叠。MCE的详细介绍,请参见“MPLS配置指导”中的“MCE”。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 指定DHCPv6服务器上的地址池所属的VPN实例。
vpn-instance vpn-instance-name
缺省情况下,未指定DHCPv6服务器上的地址池所属的VPN实例。
在管理IPv6地址池时,可能会有如下需求:
· 当前IPv6地址池地址/前缀被规划为维护使用,即只用于维护已在线DHCPv6客户端的需求,不为新的DHCP客户端分配地址或前缀。
· 管理员对地址池中的地址/前缀进行更新或删除时,如果IPv6地址池已经分配了IPv6地址或前缀,会提示当前有用户在线,无法执行删除或更新操作。
为了解决上述问题,管理员需要配置本功能:
· 如果未指定strict参数,则IPv6地址池不会为新的DHCPv6客户端分配地址或前缀,但会应答已在线客户端的地址续约需求。这种情况下,IPv6地址池的地址/前缀仅用于维护,仅处理在线用户的续租请求。
· 如果指定strict参数,则IPv6地址池既不会为新的DHCPv6客户端分配地址或前缀,也不会应答已在线客户端的地址续约需求。这种情况下,待IPv6地址池中的地址全部回收后,管理员可以对地址/前缀进行更新或删除操作。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 配置地址池锁定。
lock [ strict ]
缺省情况下,IPv6地址池未锁定。
在AAA组网中,终端用户经过AAA认证后,AAA会从配置的IPv6地址池中选择IPv6地址分配给该用户。配置AAA关联某个独立的IPv6地址池时,会出现如下问题:
· 为不同位置的接入用户选择不同的DHCPv6服务器;
· 当前AAA设备既需要作为DHCPv6服务器也需要作为DHCPv6中继,作为DHCPv6服务器可以直接为DHCPv6客户端分配地址;作为DHCPv6中继可以将用户的请求报文转发给DHCPv6服务器,并将DHCPv6服务器的应答报文转发给终端用户。
为了解决上述问题,DHCPv6新增IPv6地址池组功能,管理员可以将多个IPv6地址池添加到同一个IPv6地址池组中。配置AAA关联地址池组后,AAA按照匹配顺序选择地址池组中的地址池为终端用户分配IPv6地址。
IPv6地址池组下可以添加本地地址池和远端地址池,缺省情况下,IPv6地址池组先使用本地地址池进行地址/前缀分配,本地地址池资源用尽后,再使用远端地址池进行地址/前缀分配。
IP地址池组中有多个地址池时,将按照地址池组下的特定排列顺序选择可分配的IPv6地址池进行地址分配。
当IPv6地址池匹配最后一个地址池,仍无法为用户分配IPv6地址,则无法为该终端用户分配IPv6地址。
缺省情况下,只有上次选中的地址池无法为用户分配地址/前缀时,才会从上次选中地址所在的位置按照匹配顺序选择地址池为终端用户分配地址/前缀。这种方式会造成IPv6地址池地址/前缀资源分配不均匀。设备可以通过配置IP地址池组采用轮询方式选择IP地址池来解决此问题。
配置采用轮询方式选择IP地址池后,当IPv6地址池组收到第一个DHCPv6请求报文后,会选择一个可用的IPv6地址池为其分配IPv6地址/前缀;收到第二个DHCPv6请求报文后,会顺序选择下一个可用的IPv6地址池为其分配IPv6地址/前缀;以此类推,当选择完最后一个可用的IPv6地址池后,再从第一个地址池开始继续分配。
(1) 进入系统视图。
system-view
(2) 创建IPv6地址池,并进入IPv6地址池视图。
ipv6 pool pool-name
缺省情况下,设备上不存在IPv6地址池。
(3) 创建IPv6地址池组,并进入IPv6地址池组视图。
ipv6 pool-group group-name
缺省情况下,设备上不存在IPv6地址池组。
(4) 将IPv6地址池添加IPv6地址池组中。
pool pool-name [ priority priority-value ]
缺省情况下,IPv6地址池未添加到IPv6地址池组。
加入地址池组的IPv6地址池所在VPN必须和IPv6地址池组一致。
(5) 配置IP地址池组采用轮询方式选择IP地址池。
ipv6-pool algorithm round-robin { local | remote } *
缺省情况下,IPv6地址池组使用某个地址池为用户分配地址/前缀,当该地址池没有可用地址/前缀后,再选择下一个IPv6地址池。
(6) (可选)为IPv6地址池组绑定VPN实例。
vpn-instance vpn-instance-name
缺省情况下,IPv6地址池组未绑定VPN实例。
如果IPv6地址池组已经绑定了IPv6地址池,则无法再修改VPN实例。
配置接口工作在DHCPv6服务器模式后,当接口未引用地址池时,接口收到DHCPv6客户端发来的DHCPv6报文时,服务器根据该接口的地址或DHCPv6中继接口的地址选择最长匹配的IPv6地址池,并从该地址池中选择IPv6地址或前缀分配给客户端。当接口引用地址池时,则从引用的地址池中选择IPv6地址或前缀分配给客户端。如果引用的地址池中不存在可供分配的IPv6地址或前缀,则设备将无法为客户端分配IPv6地址或前缀。
配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配方式时,需要注意:
· 一个接口不能同时作为DHCPv6服务器和DHCPv6中继。
· 建议不要在一个接口上同时配置DHCPv6服务器和DHCPv6客户端功能。
· 接口可以引用并不存在的地址池,但是,此时该接口无法为客户端分配前缀等信息。只有创建该地址池后,才能为客户端分配前缀等信息。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口工作在DHCPv6服务器模式。
ipv6 dhcp select server
缺省情况下,接口未工作在DHCPv6服务器模式,也未工作在DHCPv6中继模式,接口接收到DHCPv6客户端发来的DHCPv6报文后,丢弃该报文。
(4) 配置地址池选择方式。请选择其中一项进行配置。
¡ 配置全局查找地址池,并指定全局查找IPv6地址池时地址或前缀分配方式。
ipv6 dhcp server { allow-hint | preference preference-value | rapid-commit } *
缺省情况下,支持接口全局查找DHCPv6地址池,但不支持期望地址/前缀分配和快速分配功能,且未指定服务器优先级。
¡ 配置接口引用IPv6地址池。
ipv6 dhcp server apply pool pool-name [ allow-hint | preference preference-value | rapid-commit ] *
创建DHCPv6策略,并在接口引用该策略后,该接口接收到DHCPv6请求报文时,则根据配置顺序逐个匹配DHCPv6策略中通过class pool命令指定的DHCPv6用户类。匹配情况如下:
· 若匹配DHCPv6用户类成功,当该DHCPv6用户类关联的IPv6地址池中存在可供分配的地址或前缀信息时,则从该IPv6地址池中分配IPv6地址、前缀或其他参数;当该DHCPv6用户类关联的IPv6地址池中不存在可供分配的地址或前缀信息时,IPv6地址、前缀或其他参数分配失败。
· 若匹配DHCPv6策略中的所有DHCPv6用户类失败,当配置了默认IPv6地址池时,则从该IPv6地址池中分配IPv6地址、前缀或网络参数;当未配置默认IPv6地址池或IPv6默认地址池不存在可供分配的IPv6地址或前缀时,IPv6地址、前缀或其他参数分配失败。
· 若接收DHCPv6请求报文的接口引用的DHCPv6策略不存在或匹配的DHCPv6用户类关联的IPv6地址池不存在,IPv6地址、前缀或其他参数分配失败。
· 匹配规则中不支持匹配DHCPv6设备添加的选项,比如Option 18或Option 37。
(1) 进入系统视图。
system-view
(2) 创建DHCPv6用户类,并进入DHCPv6用户类视图。
ipv6 dhcp class class-name
(3) 配置DHCPv6用户类的匹配规则。
if-match rule rule-number { option option-code [ ascii acsii-string [ offset offset | partial ] | hex hex-string [ mask mask | offset offset length length | partial ] ] | relay-agent gateway-ipv6-address }
缺省情况下,未配置DHCPv6用户类的匹配规则。
(4) 退回系统视图。
quit
(5) 创建DHCPv6策略,并进入DHCPv6策略视图。
ipv6 dhcp policy policy-name
DHCPv6策略需要在接口上引用才生效。
(6) 指定DHCPv6用户类关联的IPv6地址池。
class class-name pool pool-name
缺省情况下,未指定DHCPv6用户类关联的IPv6地址池。
(7) (可选)指定默认IPv6地址池。
default pool pool-name
缺省情况下,未指定默认IPv6地址池。
(8) 退回系统视图。
quit
(9) 进入接口视图。
interface interface-type interface-number
(10) 指定接口引用的DHCPv6策略。
ipv6 dhcp apply-policy policy-name
缺省情况下,接口未引用DHCPv6策略。
当DHCPv6客户端下线后,DHCPv6服务器会将该客户端对应的地址/前缀租约保存在老化租约中。为确保DHCPv6客户端再次上线时能使用到之前用过的IPv6地址/前缀,管理员可以通过配置IPv6地址池老化地址/前缀保留功能来确定老化租约保留模式、保留老化租约最大数目和保留时间。IPv6地址池老化地址/前缀保留模式包括:
· 按客户端MAC地址保留模式:如果用户第一次上线时,DHCPv6服务器记录用户的MAC地址和分配给用户的IPv6地址/前缀,当用户下线并在此上线时,仍可以获取到之前使用的IPv6地址/前缀,这种保留模式为按客户端MAC地址保留。
· 按客户端DUID保留模式:如果用户第一次上线时,DHCPv6服务器记录用户的客户端的DUID信息和分配给用户的IPv6地址/前缀,当用户下线并再次上线时,让可以获取到之前使用的IPv6地址/前缀,这种保留模式为按客户端DUID保留。
当网络中存在多个DHCPv6客户端的DUID相同时,需要配置按客户端MAC地址保留模式。
针对L2TP用户,DHCPv6不支持按照MAC地址信息保留IPv6地址/前缀租约。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 开启DHCPv6老化地址租约保留功能。
reserve expired-ipv6-address enable
缺省情况下,DHCPv6老化地址租约保留功能处于开启状态。
(4) 配置DHCPv6老化地址租约保留方式。
reserve expired-ipv6-address mode { duid | mac } [ limit limit-number | time time ] *
缺省情况下,当开启了IPv6地址池老化地址保留功能,则设备按照DUID保留IP地址租约。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 开启DHCPv6老化前缀租约保留功能。
reserve expired-pd enable
缺省情况下,DHCPv6老化前缀租约保留功能处于关闭状态。
(4) 配置DHCPv6老化前缀租约保留方式。
reserve expired-pd mode { duid | mac } [ limit limit-number | time time ] *
缺省情况下,当开启了IPv6地址池老化前缀保留功能,则设备按照DUID保留IP前缀租约。
目前,当网络中只存在一台DHCPv6服务器时,相同MAC地址的多个DHCPv6客户端中只有一台DHCPv6客户端能够获取到IPv6地址。在某些组网应用中,需要实现相同MAC地址的DHCPv6客户端可以获取到不同的IPv6地址。针对这种需求,DHCPv6服务器需要支持为MAC地址相同的DHCPv6客户端分配不同IPv6地址的功能。
开启本功能后,DHCPv6服务器通过以下方式来区分MAC地址相同的DHCPv6客户端:
· 如果网络中存在DHCPv6 Snooping或DHCPv6中继,则需要在DHCPv6 Snooping或DHCPv6中继上开启Interface ID功能。DHCPv6服务器根据DHCPv6请求报文中的DHCPv6客户端MAC地址和Interface ID选项字段区分不同的DHCPv6客户端,并为不同的客户端分配不同的IPv6地址。
· 如果网络中不存在DHCPv6 Snooping和DHCPv6中继,DHCPv6服务器根据DHCPv6客户端MAC地址、收到DHCPv6请求报文的接口名和接口VLAN信息区分不同的DHCPv6客户端,并为不同的客户端分配不同的IPv6地址。
设备上同时配置ipv6 dhcp server multi-ip per-mac enable命令和ipv6 dhcp duid-mismatch offline命令后,会出现以下情况:
· 如果服务器发现多个MAC地址相同的DHCPv6客户端的物理位置信息(收到报文的接口和发报文客户端所在VLAN)相同,服务器会认为是同一个客户端进行重复申请操作,故只有ipv6 dhcp duid-mismatch offline命令生效,ipv6 dhcp server multi-ip per-mac enable命令不生效;
· 如果服务器发现多个MAC地址相同的DHCPv6客户端的物理位置信息(收到报文的接口和发报文客户端所在VLAN)不同,服务器会认为是不同的客户端发起的地址申请操作,故只有ipv6 dhcp server multi-ip per-mac enable命令生效,ipv6 dhcp duid-mismatch offline命令不生效。
(1) 进入系统视图。
system-view
(2) 开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能。
ipv6 dhcp server multi-ip per-mac enable
缺省情况下,为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能处于关闭状态。
缺省情况下,当DHCPv6服务器为DHCPv6客户端分配的IPv6地址和中继记录的用户IPv6地址表项冲突,或者接入设备(DHCPv6服务器或DHCPv6中继)上配置的认证授权模块(UCM或AAA模块)分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,已在线的客户端不受影响,新客户端或认证授权用户上线失败。配置本功能后,DHCPv6设备会有以下处理方式:
· 在DHCPv6服务器上配置本功能,当DHCPv6服务器上配置的认证授权模块分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,DHCPv6服务器会释放已在线DHCPv6客户端的IPv6地址,并通知接入模块此IPv6地址冲突不可用。
· 在DHCPv6中继上配置本功能,处理方式如下:
¡ 如果是认证授权模块分配的IPv6地址和DHCPv6中继记录的用户IPv6地址表项冲突,则中继向DHCPv6服务器发送Release报文释放冲突IPv6地址,并通知接入模块此地址冲突不可用。
¡ 如果DHCPv6服务器发送的应答报文中记录的IPv6地址和DHCPv6中继记录的用户表项冲突,则中继向DHCPv6服务器发送Release报文释放冲突地址,丢弃该应答报文,新DHCPv6客户端无法获取到IPv6地址。
当新客户端或认证授权用户再次发起IPv6地址申请时,可以正常申请到该地址,不会再发生地址冲突问题。
只有使用ipv6 dhcp relay client-information record命令开启了DHCPv6中继用户地址表项记录功能后,DHCPv6中继上配置本功能才能生效。
(1) 进入系统视图。
system-view
(2) 配置当为新DHCPv6客户端分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,释放已在线DHCPv6客户端的IPv6地址。
ipv6 dhcp conflict-ip-address offline
缺省情况下,当为新DHCPv6客户端分配的IPv6地址和已在线DHCPv6客户端的IPv6地址发生冲突时,已在线DHCPv6客户端不受影响。
同一个DHCPv6客户端在不同情况下可能DUID不同(比如多操作系统的电脑在不同的操作系统下客户端DUID可能不同)。当DHCPv6客户端DUID变化后重新申请IPv6地址时,缺省情况下DHCPv6服务器会直接丢弃接收到的DHCPv6请求报文,DHCPv6客户端无法申请到IPv6地址。配置本功能后,DHCPv6服务器已经存在和DHCPv6请求报文MAC地址相同但DUID不同的租约时,释放已在线客户端的IPv6地址,使得DHCPv6客户端可以使用新的DUID直接申请到此IPv6地址。
本功能仅适用于IPoE组网。
只有在不经过DHCPv6中继的组网中,才能配置本功能。
设备上同时配置ipv6 dhcp server multi-ip per-mac enable命令和ipv6 dhcp duid-mismatch offline命令后,会出现以下情况:
· 如果服务器发现多个MAC地址相同的DHCPv6客户端的物理位置信息(收到报文的接口和发报文客户端所在VLAN)相同,服务器会认为是同一个客户端进行重复申请操作,故只有ipv6 dhcp duid-mismatch offline命令生效,ipv6 dhcp server multi-ip per-mac enable命令不生效;
· 如果服务器发现多个MAC地址相同的DHCPv6客户端的物理位置信息(收到报文的接口和发报文客户端所在VLAN)不同,服务器会认为是不同的客户端发起的地址申请操作,故只有ipv6 dhcp server multi-ip per-mac enable命令生效,ipv6 dhcp duid-mismatch offline命令不生效。
(1) 进入系统视图。
system-view
(2) 配置当DHCPv6服务器上已经存在和DHCPv6请求报文MAC地址相同但DUID不同的租约时,释放已在线客户端的IPv6地址,并将该IPv6地址分配给DHCPv6请求报文对应的客户端。
ipv6 dhcp duid-mismatch offline
缺省情况下,当DHCPv6服务器上已经存在和DHCPv6请求报文MAC地址相同但DUID不同的租约时,DHCPv6服务器保留已在线用户的IPv6地址,直接丢弃接收到的DHCPv6请求报文。
当用户的物理接入位置发生变化时,例如无线终端用户漫游时,若需要该用户下线后重新上线,则DHCPv6服务器可能会因为未及时收到用户的下线请求,而导致DHCPv6服务器认为该终端用户还在线。因为终端用户所在的无线网络发生变化,但MAC地址不变,则DHCPv6服务器会认为收到的终端用户重新发送的DHCPv6请求报文是攻击报文,直接丢弃该DHCPv6请求报文。为了解决这个问题,需要在DHCPv6服务器上配置本功能:
· 指定fast-renew参数后,当DHCPv6服务器收到物理位置发生变化,MAC地址不变的上线用户发送的DHCPv6请求报文,先释放对应MAC地址的已在线租约,再为该用户分配IPv6地址或IPv6前缀。
· 指定roam参数后,当DHCPv6服务器收到物理位置发生变化,MAC地址不变的上线用户发送的DHCPv6请求报文,使用对应MAC地址的地址或前缀租约应答DHCPv6请求,并刷新该地址或前缀租约的老化时间。这样,可以保证用户继续使用相同的IPv6地址上线,避免了重新进行接入认证。
本功能仅适用于IPoE组网,其中roam参数仅在通过ip subscriber roaming enable命令开启个人接入用户的漫游功能才生效。IPoE漫游功能的详细介绍请参见“BRAS业务配置指导”中的“IPoE”。
(1) 进入系统视图。
system-view
interface interface-type interface-number
(3) 配置DHCPv6服务器收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式。
ipv6 dhcp session-mismatch action { fast-renew | roam }
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6服务器发送的DHCPv6报文的DSCP优先级。
(1) 进入系统视图。
system-view
(2) 配置DHCPv6服务器发送DHCPv6报文的DSCP优先级。
ipv6 dhcp dscp dscp-value
缺省情况下,DHCPv6服务器发送的DHCPv6报文的DSCP优先级为56。
DHCPv6服务器重启后,设备上记录的租约信息将丢失,会影响DHCP服务器的正常业务。
DHCPv6服务器租约固化功能将DHCPv6服务器的核心运行数据(在用地址租约、冲突表项)保存到指定的文件中,DHCPv6服务器设备重启后,自动根据该文件恢复DHCPv6服务器的租约信息,从而保证DHCPv6服务器的租约信息不会丢失。
当DHCPv6服务器设备重启后,自动根据该文件恢复DHCPv6服务器的租约信息,租约恢复的过程中,DHCPv6服务器不能提供DHCPv6业务。所以当恢复过程出现问题导致恢复过程无法结束时,用户可配置ipv6 dhcp server database update stop命令终止当前的DHCPv6服务器表项恢复操作,以便DHCPv6服务器能及时提供DHCPv6服务。
(1) 进入系统视图。
system-view
(2) 指定存储DHCPv6 服务器表项的文件名称。
ipv6 dhcp server database filename { filename | url url [ username username [ password { cipher | simple } string ] ] }
缺省情况下,未指定存储文件名称。
执行本命令后,会立即触发一次表项备份。
(3) (可选)将当前的DHCPv6服务器表项保存到用户指定的文件中。
ipv6 dhcp server database update now
本命令只用来触发一次DHCPv6服务器表项的备份。
(4) (可选)配置刷新DHCPv6服务器表项存储文件的延迟时间。
ipv6 dhcp server database update interval interval
缺省情况下,若DHCPv6服务器表项不变化,则不刷新存储文件;若DHCPv6 服务器表项发生变化,默认在300秒之后刷新存储文件。
(5) (可选)终止当前的DHCPv6服务器表项恢复操作。
ipv6 dhcp server database update stop
本命令只用来触发一次终止DHCPv6服务器表项信息的恢复。
DHCPv6客户端获取到IPv6前缀后,通过该IPv6前缀为下行网络内的主机分配IPv6地址。此时,DHCPv6客户端与网络内的主机不在同一网段内,会导致主机无法与外界通信。为了解决这个问题,当DHCPv6服务器和DHCPv6客户端在同一个链路范围内时,需要在DHCPv6服务器上开启发布前缀路由功能。开启本功能后,DHCPv6服务器为客户端分配IPv6前缀后,同时生成一条该前缀对应的路由条目,并将该路由通告给动态路由协议。DHCPv6客户端通过动态路由协议学到该路由信息后,主机和外界就可以正常通信。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器发布前缀路由功能。
ipv6 dhcp advertise pd-route
缺省情况下,DHCPv6服务器发布前缀路由功能处于关闭状态。
如果网络中存在DHCPv6中继,DHCPv6服务器收到的DHCPv6请求报文中源MAC地址会被DHCPv6中继替换。所以这种组网情况下DHCPv6服务器安全功能不适用,只能开启DHCPv6中继的安全功能。关于DHCPv6中继的安全功能的介绍,请参见“3.12 配置DHCPv6中继安全功能”。
配置DHCPv6 Flood攻击防范功能后,DHCPv6服务器会根据DHCPv6报文中的源MAC地址统计收到的DHCPv6报文数,并创建一个check状态的DHCPv6防Flood攻击表项。当收到某个MAC地址对应DHCPv6客户端发送的报文数在指定的时间内达到配置的最大报文数时,DHCPv6服务器认为受到了该DHCPv6客户端的攻击,DHCPv6防Flood攻击表项状态从check状态变成restrain状态,且DHCPv6服务器丢弃该DHCPv6客户端发送的DHCPv6报文。当某个MAC地址对应的DHCPv6 Flood攻击表项老化时间到达后,设备会检查接口表项报文抑制速率,如果速率小于DHCPv6 Flood攻击报文速率阈值,设备会删除此表项,设备再次收到源MAC地址为此MAC地址的DHCPv6请求报文时,会重新统计接收到的报文数目;如果速率大于等于DHCPv6 Flood攻击报文速率阈值,设备不会删除此表项,老化时间重新刷新。
如果在系统视图下配置了全局DHCPv6 Flood攻击防范功能后,则对每个接口进行监听;如果没有配置全局攻击防范功能,但是在某个接口下配置了攻击防范功能,则只对该接口进行监听。
(1) 进入系统视图。
system-view
(2) (可选)配置DHCPv6防Flood攻击报文速率阈值。
ipv6 dhcp flood-protection threshold packet-number milliseconds
缺省情况下,DHCPv6防Flood攻击检测的最大报文数为10,检测时间为5000毫秒。
(3) (可选)配置DHCPv6防Flood攻击表项老化时间。
ipv6 dhcp flood-protection aging-time time
缺省情况下,DHCPv6 Flood攻击检测表项老化时间为300秒。
(4) 开启全局DHCPv6 Flood防攻击功能。
ipv6 dhcp flood-protection global enable
缺省情况下,全局DHCPv6 Flood防攻击功能处于关闭状态。
(5) 仅开启单个接口的DHCPv6 Flood攻击防范功能。
a. 关闭全局DHCPv6 Flood攻击防范功能。
undo ipv6 dhcp flood-protection globle enable
缺省情况下,全局DHCPv6 Flood防攻击功能处于关闭状态。
b. 进入接口视图。
interface interface-type interface-number
c. 开启接口的DHCPv6防Flood攻击功能。
ipv6 dhcp flood-protection enable
缺省情况下,接口的DHCPv6防Flood攻击功能处于关闭状态。
某个接口配置DHCPv6接口攻击抑制功能后,该接口会统计收到的DHCPv6报文数,并创建一个check状态的DHCPv6接口攻击抑制表项。当接口收到的DHCPv6报文数在指定的时间内等于或大于配置的最大报文数时,则认为该接口受到了DHCPv6报文攻击,DHCPv6接口攻击抑制表项状态从check状态变成restrain状态,在DHCPv6接口攻击抑制表项的老化时间到期之前设备会限制被攻击的接口每秒钟接收DHCPv6报文的速率,防止DHCPv6攻击报文持续冲击CPU。当某个接口对应的DHCPv6接口攻击抑制表项老化时间到达后,接口会查询当前接口收到报文的速率,如果速率达不到攻击标准,设备会删除此表项,接口再次收到DHCPv6报文时,会重新统计接收到的报文数目;如果速率超过攻击标准,则DHCPv6接口攻击抑制表项老化时间重新刷新。
如果在系统视图下配置了全局DHCPv6接口攻击抑制功能,则会对每个接口进行监听;如果没有配置全局接口攻击抑制功能,但是在某个接口下配置了接口攻击抑制功能,则只对该接口进行监听。
(1) 进入系统视图。
system-view
(2) (可选)配置DHCPv6接口攻击抑制阈值。
ipv6 dhcp interface-rate-suppression threshold packet-number milliseconds
缺省情况下,当在5000毫秒内某个接口收到的DHCPv6报文个数超过3000,则认为该接口受到DHCPv6报文攻击。
(3) (可选)配置DHCPv6接口攻击抑制表项的老化时间。
ipv6 dhcp interface-rate-suppression aging-time time
缺省情况下,DHCPv6接口攻击抑制表项的老化时间为300秒。
(4) 开启全局DHCPv6接口攻击抑制功能。
ipv6 dhcp interface-rate-suppression global enable
缺省情况下,全局DHCPv6接口攻击抑制功能处于关闭状态。
(5) 仅开启单个接口的DHCPv6接口攻击抑制功能
a. 关闭全局DHCPv6接口攻击抑制功能。
undo ipv6 dhcp interface-rate-suppression global enable
缺省情况下,全局DHCPv6接口攻击抑制功能处于关闭状态。
b. 进入接口视图。
interface interface-type interface-number
c. 开启接口的DHCPv6接口攻击抑制功能。
ipv6 dhcp interface-rate-suppression enable
缺省情况下,接口的DHCPv6接口攻击抑制功能处于关闭状态。
DHCPv6服务器日志是为了满足管理员审计需求。设备生成DHCPv6日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
大量DHCPv6客户端发生上下线操作时,DHCPv6服务器需要输出大量日志信息,这可能会降低设备性能,影响DHCPv6服务器分配IPv6前缀或IPv6地址的速度。为了避免该情况的发生,用户可以关闭DHCPv6服务器日志信息功能,使得DHCPv6服务器不再输出日志信息。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器日志信息功能。
ipv6 dhcp log enable
缺省情况下,DHCPv6服务器日志信息功能处于关闭状态。
开启DHCPv6服务器的告警功能后,DHCPv6服务器会生成告警信息,用于报告DHCPv6服务器的重要事件。告警信息包括:
· 单个IPv6地址池的资源耗尽/恢复的告警信息。
· 单个IPv6地址池在采样时刻的资源使用率高于等于阈值或恢复到低于阈值的告警信息
生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启IPv6地址池资源耗尽/恢复的告警功能。
snmp-agent trap enable ipv6 dhcp server address-exhaust pd-exhaust
缺省情况下,IPv6地址池资源耗尽/恢复告警功能处于开启状态。
(3) 进入IPv6地址池视图。
ipv6 pool pool-name
(4) (可选)开启单个IPv6地址池资源耗尽告警功能。
exhaustion trap enable
缺省情况下,单个IPv6地址池资源耗尽告警功能处于开启状态。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器分配地址/前缀失败的告警功能。
snmp-agent trap enable ipv6 dhcp server ip-alloc-failed pd-alloc-failed
缺省情况下,DHCPv6服务器分配地址/前缀失败的告警功能处于开启状态。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器告警功能。
snmp-agent trap enable ipv6 dhcp server ip-in-use
缺省情况下,IPv6地址池地址使用率告警功能处于开启状态。
(3) 进入IPv6地址池视图。
ipv6 pool pool-name
(4) (可选)设置IPv6地址池使用率告警门限阈值。
ip-in-use threshold threshold-value
缺省情况下,IPv6地址池使用率告警门限阈值为100%。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器告警功能。
snmp-agent trap enable ipv6 dhcp server pd-in-use
缺省情况下,IPv6前缀使用率告警功能处于开启状态。
(3) 进入IPv6地址池视图。
ipv6 pool pool-name
(4) (可选)设置IPv6地址池前缀使用率告警门限阈值。
pd-in-use threshold threshold-value
缺省情况下,IPv6地址池前缀使用率告警门限阈值为100%。
IPv6地址池组的资源耗尽/恢复的告警功能支持两种配置方式:
· 系统视图下通过snmp-agent trap enable dhcp server pool-group-exhaust开启所有IPv6地址池组的资源耗尽/恢复的告警功能。
· IPv6地址池组视图下通过exhaustion trap enable命令开启单个IPv6地址池组的资源耗尽/恢复的告警功能。
只有开启全局IPv6地址池组资源耗尽/恢复的告警功能,单个IPv6地址池组的资源耗尽/恢复告警功能才生效。
开启全局IPv6地址池组资源耗尽/恢复的告警功能的情况下,可以通过关闭单个IPv6地址池组的资源耗尽/恢复告警功能,来减少无用告警信息的生成。
(1) 进入系统视图。
system-view
(2) 开启IPv6地址池组的地址/前缀资源耗尽/恢复的告警功能。
snmp-agent trap enable ipv6 dhcp server pool-group-exhaust
缺省情况下,IPv6地址池组的地址/前缀资源耗尽/恢复的告警功能处于开启状态。
(3) 进入IPv6地址池组视图。
ipv6 pool-group pool-group-name
(4) (可选)关闭单个IPv6地址池组资源耗尽告警功能。
undo exhaustion trap enable
缺省情况下,IPv6地址池组资源耗尽告警功能处于开启状态。
(1) 进入系统视图。
system-view
(2) 开启IPv6地址池组的地址使用率高于等于阈值或低于阈值的告警功能。
snmp-agent trap enable ipv6 dhcp server pool-group-threshold
缺省情况下,IPv6地址池组的地址使用率高于等于阈值或低于阈值的告警功能处于开启状态。
(3) 进入IPv6地址池组视图。
ipv6 pool-group pool-group-name
(4) (可选)设置单个IPv6地址池组的地址使用率告警门限阈值。
ip-in-use threshold threshold-value
缺省情况下,单个IPv6地址池组的地址使用率告警门限阈值为100%。
开启本功能后,当IPv6地址池或地址池组中可分配的资源耗尽或资源恢复时,系统将生成DHCPv6日志信息,并交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
对于非转发与控制分离场景,IPv6地址池或地址池组中资源使用率的计算方式如下:
· 地址使用率=(总地址数—未分配地址数)/总地址数;
· 前缀使用率=(总前缀数—未分配前缀数)/总前缀数。
关闭DHCPv6服务器日志信息功能后,本功能还可以正常运行。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool pool-name
(3) 配置当IPv6地址池可分配的资源耗尽或资源恢复时,系统生成日志信息。
exhaustion log enable
缺省情况下,当IPv6地址池可分配的资源耗尽或资源恢复时,系统不会生成日志信息。
(1) 进入系统视图。
system-view
(2) 进入IPv6地址池视图。
ipv6 pool-group pool-group-name
(3) 配置当IPv6地址池组可分配的资源耗尽或资源恢复时,系统生成日志信息。
exhaustion log enable
缺省情况下,当IPv6地址池组可分配的资源耗尽或资源恢复时,系统不会生成日志信息。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6服务器的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6服务器的统计信息。
表2-1 DHCPv6服务器显示和维护
操作 |
命令 |
显示本设备的DUID |
display ipv6 dhcp duid |
显示DHCPv6防Flood攻击表项信息 |
(独立运行模式) display ipv6 dhcp flood-protection slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] | state { check | restrain } [ verbose ] | statistics | verbose ] (IRF模式) display ipv6 dhcp flood-protection chassis chassis-number slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] | state { check | restrain } [ verbose ] | statistics | verbose ] |
显示DHCPv6接口攻击抑制表项信息 |
(独立运行模式) display ipv6 dhcp interface-rate-suppression slot slot-number [ cpu cpu-number ] [interface interface-type interface-number | state { check | restrain } [ verbose ] | statistics | verbose ] (IRF模式) display ipv6 dhcp interface-rate-suppression chassis chassis-number slot slot-number [ cpu cpu-number ] [interface interface-type interface-number | state { check | restrain } [ verbose ] | statistics | verbose ] |
显示UP设备上CP为UP下发的IPv6网段路由信息 |
display ipv6 dhcp network-route [ prefix/prefix-length ] [ vpn-instance vpn-instance-name ] |
显示DHCPv6选项组信息 |
display ipv6 dhcp option-group [ option-group-number ] |
显示IPv6地址池组的使用率 |
display ipv6 dhcp pool-group-usage [ pool-group pool-group-name ] |
显示IPv6地址池的使用率 |
display ipv6 dhcp pool-usage [ peak ] [ pool pool-name ] |
显示IPv6地址池的信息 |
display ipv6 pool [ all | name pool-name | pool-group pool-group-name | vpn-instance vpn-instance-name ] [ verbose ] |
显示IPv6地址池组的信息 |
display ipv6 pool-group [ all | [ name pool-group-name ] [ vpn-instance vpn-instance-name ] ] [ verbose ] |
显示前缀池的信息 |
display ipv6 dhcp prefix-pool [ prefix-pool-number ] [ vpn-instance vpn-instance-name ] |
显示DHCP接入用户的DHCPv6报文限速功能的报文统计信息 |
(独立运行模式) display ipv6 dhcp rate-limit slot slot-number [ cpu cpu-number ] (IRF模式) display ipv6 dhcp rate-limit chassis chassis-number slot slot-number [ cpu cpu-number ] |
显示接口上的DHCPv6服务器信息 |
display ipv6 dhcp server [ interface interface-type interface-number ] |
显示DHCPv6地址冲突信息 |
display ipv6 dhcp server conflict [ address ipv6-address | interface interface-type interface-number ] [ vpn-instance vpn-instance-name ] |
显示DHCPv6服务器表项备份信息 |
display ipv6 dhcp server database |
显示租约过期的DHCPv6地址绑定信息 |
display ipv6 dhcp server expired-ip [ [ address ipv6-address | interface interface-type interface-number ] [ vpn-instance vpn-instance-name ] | mac mac-address | pool pool-name ] [ verbose ] |
显示租约过期的DHCPv6前缀绑定信息 |
display ipv6 dhcp server expired-pd [ [ interface interface-type interface-number | prefix prefix/prefix-len ] [ vpn-instance vpn-instance-name ] | mac mac-address | pool pool-name ] [ verbose ] |
显示IPv6地址池的空闲地址信息 |
display ipv6 dhcp server free-ip [ pool pool-name | vpn-instance vpn-instance-name ] |
显示IPv6地址池的空闲前缀信息 |
display ipv6 dhcp server free-pd [ pool pool-name | vpn-instance vpn-instance-name ] |
显示DHCPv6地址绑定信息 |
display ipv6 dhcp server ip-in-use [ [ address ipv6-address | interface interface-type interface-number ] [ vpn-instance vpn-instance-name ] | pool pool-name | pool-group pool-group-name ] |
显示DHCPv6前缀绑定信息 |
display ipv6 dhcp server pd-in-use [ pool pool-name | pool-group pool-group-name | [ interface interface-type interface-number | prefix prefix/prefix-len ] [ vpn-instance vpn-instance-name ] ] |
显示DHCPv6服务器的统计信息 |
display ipv6 dhcp server statistics [ pool pool-name | vpn-instance vpn-instance-name ] |
显示DHCPv6服务器的报文统计信息 |
display ipv6 dhcp server packet statistics [ vpn-instance vpn-instance-name ] |
显示DHCPv6接入用户的数量 |
display dhcpv6-access count |
显示DHCPv6接入模块的报文统计信息 |
display dhcpv6-access packet statistics |
显示DHCPv6接入用户的信息 |
display dhcpv6-access user-table [ index index-value | mac-address mac-address | user-id user-id ] |
清除DHCPv6防Flood攻击表项信息 |
(独立运行模式) reset ipv6 dhcp flood-protection slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] ] [ packet-statistics ] (IRF模式) reset ipv6 dhcp flood-protection chassis chassis-number slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] ] [ packet-statistics ] |
清除DHCPv6接口攻击抑制表项信息 |
(独立运行模式) reset ipv6 dhcp interface-rate-suppression slot slot-number [ cpu cpu-number ] [ interface interface-type interface-number ] [ packet-statistics ] (IRF模式) reset ipv6 dhcp interface-rate-suppression chassis chassis-number slot slot-number [ cpu cpu-number ] [ interface interface-type interface-number ] [ packet-statistics ] |
清除DHCP接入用户的DHCPv6报文限速功能的报文统计信息 |
(独立运行模式) reset ipv6 dhcp rate-limit slot slot-number [ cpu cpu-number ] (IRF模式) reset ipv6 dhcp rate-limit chassis chassis-number slot slot-number [ cpu cpu-number ] |
清除IPv6地址池使用率峰值记录 |
reset ipv6 dhcp pool-usage peak [ pool pool-name ] |
清除DHCPv6地址冲突信息 |
reset ipv6 dhcp server conflict [ address start-ipv6-address [ end-ipv6-address ] ] [ vpn-instance vpn-instance-name ] |
清除租约过期的DHCPv6地址绑定信息 |
reset ipv6 dhcp server expired-ip [ [ address start-ipv6-address [ end-ipv6-address ] ] [ vpn-instance vpn-instance-name ] | pool pool-name ] |
清除租约过期的DHCPv6前缀绑定信息 |
reset ipv6 dhcp server expired-pd [ pool pool-name | [ prefix start-prefix/prefix-len [ end-prefix/prefix-len ] ] [ vpn-instance vpn-instance-name ] ] |
清除DHCPv6的正式地址绑定和临时地址绑定信息 |
reset ipv6 dhcp server ip-in-use [ [ address start-ipv6-address [ end-ipv6-address ] | relay-address ipv6-address ] [ vpn-instance vpn-instance-name ] | pool pool-name [ relay-address ipv6-address ] ] |
清除DHCPv6正式前缀绑定和临时前缀绑定信息 |
reset ipv6 dhcp server pd-in-use [ pool pool-name [ relay-address ipv6-address ] | [ prefix start-prefix/prefix-len [ end-prefix/prefix-len ] | relay-address ipv6-address ] [ vpn-instance vpn-instance-name ] ] |
清除DHCPv6服务器的统计信息 |
reset ipv6 dhcp server packet statistics [ vpn-instance vpn-instance-name ] |
清除DHCP接入模块的报文统计信息 |
reset dhcp-access packet statistics |
DHCPv6客户端从DHCPv6服务器获取IPv6地址前缀,以及网络配置参数:DNS服务器地址、域名、SIP服务器地址和SIP服务器域名。其中:
· Router作为DHCPv6服务器,地址为1::1/64。
· DHCPv6服务器为DUID为00030001CA0006A40000的客户端固定分配前缀2001:0410:0201::/48;为其他客户端分配2001:0410::/48~2001:0410:FFFF::/48之间除2001:0410:0201::/48外的前缀。
· DNS服务器地址为2:2::3。
· DHCPv6客户端所属域的域名为aaa.example.com。
· SIP服务器地址为2:2::4,域名为bbb.example.com。
图2-5 DHCPv6服务器配置组网图
# 配置接口Ten-GigabitEthernet3/1/1的IPv6地址。取消设备发布RA消息的抑制。配置被管理地址的配置标志位为1,即主机通过DHCPv6服务器获取IPv6地址。配置其他信息配置标志位为1,即主机通过DHCPv6服务器获取除IPv6地址以外的其他信息。
<Router> system-view
[Router] interface ten-gigabitethernet 3/1/1
[Router-Ten-GigabitEthernet3/1/1] ipv6 address 1::1/64
[Router-Ten-GigabitEthernet3/1/1] undo ipv6 nd ra halt
[Router-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig managed-address-flag
[Router-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig other-flag
[Router-Ten-GigabitEthernet3/1/1] quit
# 配置前缀池1,包含的前缀为2001:0410::/32,分配的前缀长度为48。
[Router] ipv6 dhcp prefix-pool 1 prefix 2001:0410::/32 assign-len 48
# 创建IPv6地址池1。
[Router] ipv6 pool 1
# 配置地址池1网段为1::/64,与接口地址所属的网段相同。
[Router-ipv6-pool-1] network 1::/64
# 配置地址池1引用已存在的前缀池1,并设置动态分配前缀的首选生命期为1天,有效生命期为3天。
[Router-ipv6-pool-1] prefix-pool 1 preferred-lifetime 86400 valid-lifetime 259200
# 在IPv6地址池1中配置静态绑定前缀:绑定的前缀为2001:0410:0201::/48,绑定的客户端DUID为00030001CA0006A40000,并设置首选生命期为1天,有效生命期为3天。
[Router-ipv6-pool-1] static-bind prefix 2001:0410:0201::/48 duid 00030001CA0006A40000 preferred-lifetime 86400 valid-lifetime 259200
# 配置为客户端分配的DNS服务器地址为2:2::3。
[Router-ipv6-pool-1] dns-server 2:2::3
# 配置为客户端分配的域名为aaa.example.com。
[Router-ipv6-pool-1] domain-name aaa.example.com
# 配置为客户端分配的SIP服务器地址为2:2::4,域名为bbb.example.com。
[Router-ipv6-pool-1] sip-server address 2:2::4
[Router-ipv6-pool-1] sip-server domain-name bbb.example.com
[Router-ipv6-pool-1] quit
# 配置接口Ten-GigabitEthernet3/1/1工作在DHCPv6服务器模式,并在该接口使能期望前缀分配和前缀快速分配功能,并将优先级设置为最高。
[Router] interface ten-gigabitethernet 3/1/1
[Router-Ten-GigabitEthernet3/1/1] ipv6 dhcp select server
[Router-Ten-GigabitEthernet3/1/1] ipv6 dhcp server allow-hint preference 255 rapid-commit
# 完成上述配置后,查看接口Ten-GigabitEthernet3/1/1上的DHCPv6服务器配置信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 dhcp server interface ten-gigabitethernet 3/1/1
Using pool: global
Preference value: 255
Allow-hint: Enabled
Rapid-commit: Enabled
# 显示地址池1的信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 pool name 1
IPv6 pool: 1
Pool index: 1
Network: 1::/64
Preferred lifetime 604800 seconds, valid lifetime 2592000 seconds
Prefix pool: 1
Preferred lifetime 86400 seconds, valid lifetime 259200 seconds
Static bindings:
DUID: 00030001ca0006a4
IAID: Not configured
Prefix: 2001:410:201::/48
Preferred lifetime 86400 seconds, valid lifetime 259200 seconds
DNS server addresses:
2:2::3
Domain name:
aaa.example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.example.com
# 显示前缀池1的信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 dhcp prefix-pool 1
Prefix: 2001:410::/32
Assigned length: 48
Total prefix number: 65536
Available: 65535
In-use: 0
Static: 1
# DUID为00030001CA0006A40000的客户端获取IPv6前缀后,显示前缀绑定信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 dhcp server pd-in-use
Pool: 1
IPv6 prefix Type Lease expiration
2001:410:201::/48 Static(C) Jul 10 19:45:01 2019
# 其他客户端获取IPv6前缀后,显示前缀绑定信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 dhcp server pd-in-use
Pool: 1
IPv6 prefix Type Lease expiration
2001:410:201::/48 Static(C) Jul 10 19:45:01 2019
2001:410::/48 Auto(C) Jul 10 20:44:05 2019
· 作为DHCPv6服务器的Router A为网段1::1:0:0:0/96和1::2:0:0:0/96的客户端动态分配IPv6地址;
· Router A的两个以太网接口Ten-GigabitEthernet3/1/1和Ten-GigabitEthernet3/1/2的地址分别为1::1:0:0:1/96和1::2:0:0:1/96;
· 1::1:0:0:0/96网段内的地址租约时长为172800秒(2天),有效时长为345600秒(4天),域名为aabbcc.com,DNS服务器地址为1::1:0:0:2/96;
· 1::2:0:0:0/96网段内的地址租约时长为432000秒(5天),有效时长为864000秒(10天),域名为aabbcc.com,DNS服务器地址为1::2:0:0:2/96。
图2-6 DHCPv6组网图
(1) 配置DHCPv6 server各接口的IPv6地址。取消设备发布RA消息的抑制。配置被管理地址的配置标志位为1,即主机通过DHCPv6服务器获取IPv6地址。配置其他信息配置标志位为1,即主机通过DHCPv6服务器获取除IPv6地址以外的其他信息
<RouterA> system-view
[RouterA] interface ten-gigabitethernet 3/1/1
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 address 1::1:0:0:1/96
[RouterA-Ten-GigabitEthernet3/1/1] undo ipv6 nd ra halt
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig managed-address-flag
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig other-flag
[RouterA-Ten-GigabitEthernet3/1/1] quit
[RouterA] interface ten-gigabitethernet 3/1/2
[RouterA-Ten-GigabitEthernet3/1/2] ipv6 address 1::2:0:0:1/96
[RouterA-Ten-GigabitEthernet3/1/2] undo ipv6 nd ra halt
[RouterA-Ten-GigabitEthernet3/1/2] ipv6 nd autoconfig managed-address-flag
[RouterA-Ten-GigabitEthernet3/1/2] ipv6 nd autoconfig other-flag
[RouterA-Ten-GigabitEthernet3/1/2] quit
(2) 配置DHCPv6服务
# 配置接口Ten-GigabitEthernet3/1/1和Ten-GigabitEthernet3/1/2工作在DHCPv6服务器模式。
[RouterA] interface ten-gigabitethernet 3/1/1
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 dhcp select server
[RouterA-Ten-GigabitEthernet3/1/1] quit
[RouterA] interface ten-gigabitethernet 3/1/2
[RouterA-Ten-GigabitEthernet3/1/2] ipv6 dhcp select server
[RouterA-Ten-GigabitEthernet3/1/2] quit
# 配置不参与自动分配的IPv6地址,以避免分配DNS服务器的地址。
[RouterA] ipv6 dhcp server forbidden-address 1::1:0:0:2
[RouterA] ipv6 dhcp server forbidden-address 1::2:0:0:2
# 配置IPv6地址池1,为1::1:0:0:0/96网段的客户端分配IPv6地址等参数。
[RouterA] ipv6 pool 1
[RouterA-ipv6-pool-1] network 1::1:0:0:0/96 preferred-lifetime 172800 valid-lifetime 345600
[RouterA-ipv6-pool-1] domain-name aabbcc.com
[RouterA-ipv6-pool-1] dns-server 1::1:0:0:2
[RouterA-ipv6-pool-1] quit
# 配置IPv6地址池2,为1::2:0:0:0/96网段的客户端分配IPv6地址等参数。
[RouterA] ipv6 pool 2
[RouterA-ipv6-pool-2] network 1::2:0:0:0/96 preferred-lifetime 432000 valid-lifetime 864000
[RouterA-ipv6-pool-2] domain-name aabbcc.com
[RouterA-ipv6-pool-2] dns-server 1::2:0:0:2
[RouterA-ipv6-pool-2] quit
配置完成后,1::1:0:0:0/96和1::2:0:0:0/96网段的客户端可以从DHCPv6服务器Router A申请到相应网段的IPv6地址和网络配置参数。通过display ipv6 dhcp server ip-in-use命令可以查看DHCPv6服务器为客户端分配的IPv6地址。
DHCPv6客户端通常通过链路本地范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如图3-1所示,服务器和客户端不在同一个链路范围内时,服务器和客户端无法直接通信,需要通过DHCPv6中继来转发报文。部署DHCPv6中继可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。
图3-1 DHCPv6中继应用组网图
图3-2 DHCPv6中继的工作过程
如图3-2所示,以交互两个消息的快速分配过程为例,DHCPv6客户端通过DHCPv6中继,从DHCPv6服务器获取IPv6地址和其他网络配置参数的过程为:
(1) DHCPv6客户端向所有DHCPv6服务器和中继的组播地址FF02::1:2发送携带Rapid Commit选项的Solicit消息;
(2) DHCPv6中继接收到Solicit消息后,将其封装在Relay-forward报文的中继消息选项(Relay Message Option)中,并将Relay-forward报文发送给DHCPv6服务器;
(3) DHCPv6服务器从Relay-forward报文中解析出客户端的Solicit消息,为客户端选取IPv6地址和其他参数,构造Reply消息,将Reply消息封装在Relay-reply报文的中继消息选项中,并将Relay-reply报文发送给DHCPv6中继;
(4) DHCPv6中继从Relay-reply报文中解析出服务器的Reply消息,转发给DHCPv6客户端,以便DHCPv6客户端根据DHCPv6服务器分配的IPv6地址和其他参数进行网络配置。
在DHCPv6中继组网环境中,需要保证地址池中为DHCPv6客户端分配地址的地址网段与DHCPv6中继的接口地址网段相同,否则将导致数据流量不通。
DHCPv6中继配置任务如下:
(2) 指定DHCPv6服务器的地址
(3) (可选)配置DHCPv6中继为DHCPv6客户端分配的网关地址
(4) (可选)指定DHCPv6中继向DHCPv6服务器转发报文的源地址
(5) (可选)配置DHCPv6中继发送DHCPv6报文的DSCP优先级
(6) (可选)配置DHCPv6中继支持的Interface ID选项填充模式
(7) (可选)开启DHCPv6中继支持添加Option 79选项功能
(8) (可选)开启DHCPv6中继发布前缀路由功能
(9) (可选)配置DHCPv6中继安全功能
(10) (可选)配置DHCPv6中继收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式
(11) (可选)开启非首跳DHCPv6中继功能
建议不要在一个接口上同时配置DHCPv6中继和DHCPv6客户端功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口工作在DHCPv6中继模式。
ipv6 dhcp select relay
缺省情况下,接口未工作在DHCPv6中继模式。
工作在DHCPv6中继模式的接口接收到DHCPv6客户端发来的报文后,将其封装在Relay-forward报文中,并发送给指定的DHCPv6服务器,由DHCPv6服务器为客户端分配IPv6地址、IPv6前缀和其他网络配置参数。
· 通过多次执行ipv6 dhcp relay server-address命令可以指定多个DHCPv6服务器,一个接口下最多可以指定8个DHCPv6服务器。DHCPv6中继接收到DHCPv6客户端报文后,将其转发给所有的DHCPv6服务器。
· 如果指定的DHCPv6服务器地址为链路本地地址或以FF02开头的链路本地范围内的组播地址,则必须通过ipv6 dhcp relay server-address命令的interface参数指定出接口,否则报文可能会无法到达服务器。
· 指定的DHCPv6服务器地址时,如果指定了出接口,则出接口上必须有到达该服务器地址的路由存在,否则报文将无法到达服务器。
· 指定同一个地址时,ipv6 dhcp relay server-address ipv6-address interface配置将覆盖ipv6 dhcp relay server-address ipv6-address配置。
· 如果指定了vpn-instance参数,则DHCPv6中继根据配置的DHCPv6服务器地址对应的VPN信息,向该VPN内的DHCPv6服务器转发报文。如果未指定public和vpn-instance vpn-instance-name参数,则以当前DHCPv6客户端位置(公网或VPN)为准。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 指定DHCPv6中继对应的DHCPv6服务器地址。
ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number | public | vpn-instance vpn-instance-name ]
缺省情况下,未指定DHCPv6中继对应的DHCPv6服务器地址。
对于某些特定的用户接入方式(如IPoE接入方式),基于用户接入位置信息的不同,网络中存在大量不同类型的用户。为了使相同类型的用户可以从指定的DHCPv6服务器申请IPv6地址等网络参数,IPoE模块根据用户注册信息,使不同的用户选择不同的IPv6中继地址池,并从IPv6中继地址池下配置的DHCPv6服务器获取IPv6地址等网络参数。
一台DHCPv6中继的一个接口下可能连接不同类型的用户,当DHCPv6中继转发DHCPv6客户端请求报文给DHCPv6服务器时,不能再以中继接口的IPv6地址作为选择地址池的依据。为了解决这个问题,需要使用gateway-list命令指定某个类型用户所在的网段,并将该地址添加到转发给DHCPv6服务器的报文的Link-address字段中,为DHCPv6服务器选择地址池提供依据。
· 为了提高可靠性,一个IPv6中继地址池下最多可以配置8个DHCPv6服务器地址,当DHCPv6客户端匹配该IPv6中继地址池后,DHCPv6中继会将DHCPv6客户端发来的DHCPv6报文转发给该地址池对应所有的DHCPv6服务器。
· 当PPPoE用户下线时,DHCPv6中继需要查询中继用户地址表项,若存在对应表项,则会向DHCPv6服务器发送Release报文,通知DHCPv6服务器释放该地址租约。这就需要在DHCPv6中继上使用ipv6 dhcp relay client-information record命令开启DHCPv6中继用户地址表项记录功能。
· 和PPPoE配合使用时,如果设备的地址池中配置了remote-server命令,则可以认定该设备一定是DHCPv6中继设备,所以不需要在接口视图下执行ipv6 dhcp select relay命令。
(1) 进入系统视图。
system-view
(2) 创建IPv6中继地址池,并进入IPv6中继地址池视图。
ipv6 pool pool-name
(3) 指定匹配该地址池的DHCPv6客户端所在的网段地址。
gateway-list ipv6-address&<1-8>
缺省情况下,未指定匹配该地址池的DHCPv6客户端所在的网段地址。
(4) 指定IPv6中继地址池对应的DHCPv6服务器地址。
remote-server ipv6-address [ interface interface-type interface-number | public | vpn-instance vpn-instance-name ]
缺省情况下,未指定IPv6中继地址池对应的DHCPv6服务器的地址。
一般来说,DHCPv6中继是向所有DHCPv6服务器转发DHCPv6请求报文(即polling方式),且DHCPv6客户端会选择最快收到DHCPv6应答报文。如果用户想指定一台DHCPv6服务器作为主用DHCPv6服务器,其他DHCPv6服务器只在主用DHCPv6服务器不可用时才起作用,就需要DHCPv6中继支持优先选择用户期望的DHCPv6服务器作为主用DHCPv6服务器的功能。
当DHCPv6中继使用主备方式选择DHCPv6服务器后,会优先向配置的第一个DHCPv6服务器地址转发DHCPv6请求报文。当该DHCPv6服务器确定无法分配IPv6地址或前缀时,DHCPv6中继将之后的DHCPv6请求报文向下一个DHCPv6服务器地址转发。如果DHCPv6中继已切换到配置的最后一个DHCPv6服务器地址且发现该DHCPv6服务器仍不可用,则重新选择第一个配置的DHCPv6服务器地址进入下一个循环。
对于某些用户接入方式(如IPoE方式),用户必须配置远端IPv6地址池,并指定多个DHCPv6服务器地址。这样当配置DHCPv6中继主备方式选择DHCPv6服务器时,配置的第一个地址对应的DHCPv6服务器为主用DHCPv6服务器,之后配置的地址对应的DHCPv6服务器为备用DHCPv6服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置DHCPv6中继选择DHCPv6服务器方式。
ipv6 dhcp relay server-address algorithm { master-backup | polling }
缺省情况下,DHCPv6中继同时向所有DHCPv6服务器转发DHCPv6请求报文(polling方式)。
(1) 进入系统视图。
system-view
(2) 进入远端IPv6地址池视图。
ipv6 pool pool-name
(3) 配置DHCPv6中继选择DHCPv6服务器方式。
remote-server algorithm { master-backup | polling }
缺省情况下,DHCPv6中继同时向所有DHCPv6服务器转发DHCPv6请求报文(polling方式)。
本功能只适用于DHCPv6中继使用IPv6中继地址池选择对应远端DHCPv6服务器的组网环境。
配置本功能后,当DHCPv6中继向远端DHCPv6服务器转发第一个DHCPv6请求报文时,开始对请求报文进行计数,并开始计时。每经过一个timeout时长后,DHCPv6中继都会检查向远端DHCPv6服务器转发的报文数,当DHCPv6中继选择DHCPv6服务器方式不同时,DHCPv6中继探测DHCPv6服务器可用性的机制不同:
· DHCPv6中继选择DHCPv6服务器方式为master-backup时,机制如下:
¡ DHCPv6中继向选中的远端DHCPv6服务器转发第一个DHCPv6请求报文时,启动timeout计时器。timeout时长为DHCPv6中继选中的DHCPv6服务器的timeout值。
¡ 如果在timeout内收到应答报文,中继会清除报文计数,关闭timeout计时器。如果收到的是IPv6地址/前缀分配失败的应答报文,DHCPv6中继认为该远端DHCPv6服务器不可用。再次发送请求时,DHCPv6中继会重新进行报文计数,并重新开始timeout计时。
¡ 如果DHCPv6中继向远端DHCPv6服务器转发了不多于dead-count-value个请求报文,且未收到一个应答报文,则DHCPv6中继会在下次转发报文时重新开始计时,并继续报文计数。
¡ 如果DHCPv6中继向远端服务器转发了多于dead-count-value个请求报文,却仍未收到一个应答报文,则认为该远端DHCPv6服务器不可用。后续DHCPv6中继收到请求报文后,会选择其他可用的远端服务器转发请求报文。如果所有的远端DHCPv6服务器均不可用,DHCPv6中继收到请求报文后,会向所有的远端DHCPv6服务器转发DHCPv6请求报文,但是不会启动timeout计时器。
· DHCPv6中继选择DHCPv6服务器方式为polling时,机制如下:
¡ DHCPv6中继向所有可用的远端DHCPv6服务器转发第一个DHCPv6请求报文时,启动timeout计时器。计时器的时长选取所有可用的DHCPv6服务器中timeout的最大值。
¡ 如果在timeout内收到应答报文,且报文中包含可用的IPv6地址/前缀,中继会清除报文计数,关闭timeout计时器。再次发送请求时,DHCPv6中继会重新进行报文计数,并重新开始timeout计时。
¡ 如果在timeout内收到IPv6地址/前缀分配失败的应答报文,DHCPv6中继认为该远端DHCPv6服务器不可用。同时,timeout计时器继续计时,DHCPv6中继继续报文计数。
¡ 如果DHCPv6中继向远端DHCPv6服务器转发了不多于dead-count-value个请求报文,且未收到一个应答报文,则DHCPv6中继会在下次转发报文时重新开始计时,并继续报文计数。
¡ 如果DHCPv6中继向远端服务器转发了多于dead-count-value个请求报文,却仍未收到一个应答报文,则认为所有的远端服务器不可用。这种情况下,如果DHCPv6中继收到一个请求报文,会向所有的远端DHCPv6服务器转发DHCPv6请求报文,但是不会启动timeout计时器。
当DHCPv6中继认为某台远端DHCPv6服务器不可用后,dead-time定时器开始计时。在dead-time时长内,DHCPv6中继认为该远端DHCPv6服务器不可用,当DHCPv6中继再次匹配到该远端DHCPv6服务器时,也不会向其转发DHCPv6请求报文。经过dead-time时长后,DHCPv6中继会重新认为该远端DHCPv6服务器可用。当DHCPv6中继再次匹配到该远端DHCPv6服务器时,会向其转发DHCPv6请求报文。
对于同一台远端DHCPv6服务器来说,DHCPv6中继优先使用指定判断条件;如果指定判断条件不存在,则使用共用判断条件。
当DHCPv6中继选择远端DHCPv6服务器方式为polling方式时,本功能不生效。
多次配置ipv6 dhcp remote-server命令时,如果ipv6-address参数取值不同,则可以配置多条。如果ipv6-address参数取值相同,或者不带ipv6-address参数时,则配置相同参数时,最后一次配置生效,配置不同参数时,所有配置均可以生效。
(1) 进入系统视图。
system-view
(2) 配置远端DHCPv6服务器可用性探测功能。
ipv6 dhcp remote-server [ ipv6-address [ vpn-instance vpn-instance-name ] ] { dead-count dead-count-value | dead-time dead-time | timeout timeout } *
缺省情况下,DHCPv6中继在55秒后还未收到远端DHCPv6服务器的应答,则DHCPv6中继认为该远端DHCPv6服务器不可用。
当未开启该功能时,DHCPv6中继收到DHCPv6客户端的请求报文后,只能将接口的第一个IPv6地址添加到报文中,然后转发给DHCPv6服务器。同一个中继接口下可能存在多个子网,当管理员需要为某个子网段内的用户分配地址时,就需要配置本功能。配置本功能后,当DHCPv6中继收到某个子网内的DHCP请求报文后,会将该子网段对应的网关地址添加到报文中。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置DHCPv6中继为DHCPv6客户端分配的网关地址。
ipv6 dhcp relay gateway ipv6-address
缺省情况下,DHCPv6中继分配接口下的第一个IPv6地址作为DHCPv6客户端的网关地址。
在某些组网中,多个DHCPv6中继接口IPv6地址相同或者中继接口IPv6地址到服务器没有可达路由,管理员需要配置本功能选择中继设备上的另一个接口(一般选择的是Loopback口)的IPv6地址作为发送到DHCPv6服务器的DHCPv6请求报文中的源地址。
当中继存在Link-address字段地址到DHCPv6服务器的可达路由时,管理员需要指定gateway参数。
(1) 进入系统视图。
system-view
(2) 进入IPv6中继地址池视图。
ipv6 pool pool-name
(3) 指定DHCPv6中继向DHCPv6服务器转发报文的源地址。
dhcpv6-relay source-address { ipv6-address | gateway | interface interface-type interface-number }
缺省情况下,当DHCPv6中继连接服务器的接口和DHCPv6服务器属于同一个VPN时,将DHCPv6中继向DHCPv6服务器转发报文出接口的一个全球单播地址作为报文源地址;当DHCPv6中继连接服务器的接口和DHCPv6服务器不属于同一个VPN时,DHCPv6中继会选择一个中继上和DHCPv6服务器同VPN的最小地址作为报文源地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 指定DHCPv6中继向DHCPv6服务器转发报文的源地址。
ipv6 dhcp relay source-address { ipv6-address | interface interface-type interface-number }
缺省情况下,当DHCPv6中继连接服务器的接口和DHCPv6服务器属于同一个VPN时,DHCPv6中继向DHCPv6服务器转发报文出接口的一个全球单播地址作为报文源地址;当DHCPv6中继连接服务器的接口和DHCPv6服务器不属于同一个VPN时,DHCPv6中继会选择一个中继上和DHCPv6服务器同VPN的最小地址作为报文源地址。
如果指定接口作为源地址,但该接口未配置全球单播地址,则选择默认出接口地址。
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6中继发送的DHCPv6报文的DSCP优先级。
(1) 进入系统视图。
system-view
(2) 配置DHCPv6中继发送DHCPv6报文的DSCP优先级。
ipv6 dhcp dscp dscp-value
缺省情况下,DHCPv6中继发送的DHCPv6报文的DSCP优先级为56。
如果配置了DHCPv6中继支持的Interface ID选项填充模式,当DHCPv6中继接收到客户端发送的DHCPv6报文后,会以配置的填充方式将DHCPv6客户端的位置信息填充到Option 18选项,并把填充好的报文转发给DHCPv6服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置DHCPv6中继支持的Interface ID选项填充模式。
ipv6 dhcp relay interface-id { bas [ merge ] | cn-telecom | interface | tr-101 }
缺省情况下,Interface ID选项的填充模式为接口索引信息。
某些存在DHCPv6中继的组网中,DHCPv6服务器需要获取到DHCPv6客户端的MAC地址信息,进行DHCPv6客户端合法性认证或为DHCPv6客户端分配和MAC地址对应的IPv6地址、IPv6前缀或其他网络参数。为了满足上述需求,需要在DHCPv6客户端发出请求报文后经过的第一个DHCPv6中继上开启支持添加Option 79选项功能。开启本功能后,当DHCPv6中继收到DHCPv6请求报文时,会学习报文中的DHCPv6客户端的MAC地址。DHCPv6中继生成和请求报文对应的Relay-Forward报文时,会将学到的MAC地址添加到报文的Option 79选项中,再将该报文转发给DHCPv6服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6中继支持添加Option 79选项功能。
ipv6 dhcp relay client-link-address enable
缺省情况下,DHCPv6中继支持添加Option 79选项功能处于关闭状态。
DHCPv6客户端获取到IPv6前缀后,通过该IPv6前缀为下行网络内的主机分配IPv6地址。此时,DHCPv6客户端与网络内的主机不在同一网段内,会导致主机无法与外界通信。为了解决这个问题,需要在和DHCPv6客户端处于同一个链路范围内的DHCPv6中继上开启发布前缀路由功能。开启本功能后,当DHCPv6中继收到带IPv6前缀信息的DHCPv6应答报文时,会生成一条该前缀对应的路由条目,并将该路由通告给动态路由协议。DHCPv6客户端通过动态路由协议学到该路由信息后,主机和外界就可以正常通信。
开启DHCPv6中继发布前缀路由功能前,需要先开启DHCPv6中继用户表项记录功能。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6中继发布前缀路由功能。
ipv6 dhcp advertise pd-route
缺省情况下,DHCPv6中继发布前缀路由功能处于关闭状态。
DHCPv6中继用户表项记录功能用来防止非法主机手工配置一个IPv6地址并访问外部网络。
开启该功能后,当DHCPv6客户端通过DHCPv6中继从DHCPv6服务器获取到IPv6地址/前缀时,DHCPv6中继可以自动记录DHCPv6客户端的IPv6地址/前缀和硬件地址的绑定关系,生成DHCPv6中继用户地址/前缀表项。
该功能与其他IPv6地址安全功能(如IP Source Guard)配合后,可以实现只允许匹配DHCPv6中继用户表项的报文通过DHCPv6中继。从而,保证非法主机无法通过DHCPv6中继与外部网络通信。IP Source Guard的详细描述请参见“安全配置指导”中的“IP Source Guard”。
对于广域网接入类型(如IPoE和PPPoE)的用户,本命令不生效:
· 当接入用户通过配置了授权地址池的DHCPv6中继上线时,DHCPv6中继无法记录用户地址/前缀表项。
· 当接入用户通过未配置授权地址池的DHCPv6中继上线时,DHCPv6中继用户地址表项记录功能自动开启且无法关闭,DHCPv6中继会一直记录此类接入用户的地址/前缀表项。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6中继用户地址/前缀表项记录功能。
ipv6 dhcp relay client-information record
缺省情况下,DHCPv6中继用户地址/前缀表项记录功能处于关闭状态。
如果未配置该功能,则删除DHCPv6中继用户表项时(如执行reset ipv6 dhcp relay client-information address命令)只会删除DHCPv6中继上保存的表项信息。
配置该功能后,删除DHCPv6中继用户表项时,DHCPv6中继会主动向DHCPv6服务器发送释放该表项对应IPv6租约的Release报文。DHCPv6服务器收到该报文后,会将该租约状态从已分配转化为过期。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置清除用户表项时通知DHCPv6服务器释放租约。
ipv6 dhcp relay release-agent
缺省情况下,清除用户表项时不会通知DHCPv6服务器释放租约。
开启DHCPv6中继用户下线探测功能后,DHCPv6中继可探测存在的ND表项状态。当ND表项老化后,DHCPv6中继认为该表项对应的用户已下线。这时,DHCPv6中继会删除与该ND表项对应的DHCPv6中继用户表项。ND的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6中继用户下线检测功能。
ipv6 dhcp client-detect
缺省情况下,DHCPv6中继用户下线检测功能处于关闭状态。
配置DHCPv6 Flood攻击防范功能后,DHCPv6中继会根据DHCPv6报文中的源MAC地址统计收到的DHCPv6报文数,并创建一个check状态的DHCPv6防Flood攻击表项。当收到某个MAC地址对应DHCPv6客户端发送的报文数在指定的时间内达到配置的最大报文数时,DHCPv6中继认为受到了该DHCPv6客户端的攻击,DHCPv6防Flood攻击表项状态从check状态变成restrain状态,且DHCPv6中继丢弃该DHCPv6客户端发送的DHCPv6报文。DHCPv6中继在DHCPv6 Flood攻击表项老化时间到达后,设备会检查接口表项报文抑制速率,如果速率小于DHCPv6 Flood攻击报文速率阈值,设备会删除此表项,设备再次收到源MAC地址为此MAC地址的DHCPv6请求报文时,会重新统计接收到的报文数目;如果速率大于等于DHCPv6 Flood攻击报文速率阈值,设备不会删除此表项,老化时间重新刷新。
如果在系统视图下配置了全局DHCPv6 Flood攻击防范功能,则对每个接口进行监听;如果没有配置全局攻击防范功能,但是在某个接口下配置了攻击防范功能,则只对该接口进行监听。
(1) 进入系统视图。
system-view
(2) (可选)配置DHCPv6 Flood攻击报文速率阈值。
ipv6 dhcp flood-protection threshold packet-number milliseconds
缺省情况下,DHCPv6 Flood攻击检测的最大报文数为10,检测时间为5000毫秒。
(3) (可选)配置DHCPv6 Flood攻击表项老化时间。
ipv6 dhcp flood-protection aging-time time
缺省情况下,DHCPv6 Flood攻击检测表项老化时间为300秒。
(4) 开启全局DHCPv6 Flood攻击防范功能。
ipv6 dhcp flood-protection global enable
缺省情况下,全局DHCPv6 Flood攻击防范功能处于关闭状态。
(5) 仅开启单个接口的DHCPv6 Flood攻击防范功能。
a. 关闭全局DHCPv6 Flood攻击防范功能。
undo ipv6 dhcp flood-protection globle enable
缺省情况下,全局DHCPv6 Flood攻击防范功能处于关闭状态。
b. 进入接口视图。
interface interface-type interface-number
c. 开启接口的DHCPv6 Flood攻击防范功能。
ipv6 dhcp flood-protection enable
缺省情况下,接口的DHCPv6 Flood攻击防范功能处于关闭状态。
某个接口配置DHCPv6接口攻击抑制功能后,该接口会统计收到的DHCPv6报文数,并创建一个check状态的DHCPv6接口攻击抑制表项。当接口收到的DHCPv6报文数在指定的时间内等于或大于配置的最大报文数时,则认为该接口受到了DHCPv6报文攻击,DHCPv6接口攻击抑制表项状态从check状态变成restrain状态,在DHCPv6接口攻击抑制表项的老化时间到期之前设备会限制被攻击的接口每秒钟接收DHCPv6报文的速率,防止DHCPv6攻击报文持续冲击CPU。当某个接口对应的DHCPv6接口攻击抑制表项老化时间到达后,接口会查询当前接口收到报文的速率,如果速率达不到攻击标准,设备会删除此表项,接口再次收到DHCPv6报文时,会重新统计接收到的报文数目;如果速率超过攻击标准,则DHCPv6接口攻击抑制表项老化时间重新刷新。
如果在系统视图下配置了全局DHCPv6接口攻击抑制功能,则会对每个接口进行监听;如果没有配置全局接口攻击抑制功能,但是在某个接口下配置了接口攻击抑制功能,则只对该接口进行监听。
(1) 进入系统视图。
system-view
(2) (可选)配置DHCPv6接口攻击抑制阈值。
ipv6 dhcp interface-rate-suppression threshold packet-number milliseconds
缺省情况下,当在5000毫秒内某个接口收到的DHCPv6报文个数超过3000,则认为该接口受到DHCPv6报文攻击。
(3) (可选)配置DHCPv6接口攻击抑制表项的老化时间。
ipv6 dhcp interface-rate-suppression aging-time time
缺省情况下,DHCPv6接口攻击抑制表项的老化时间为300秒。
(4) 开启全局DHCPv6接口攻击抑制功能。
ipv6 dhcp interface-rate-suppression global enable
缺省情况下,全局DHCPv6接口攻击抑制功能处于关闭状态。
(5) 仅开启单个接口的DHCPv6接口攻击抑制功能
a. 关闭全局DHCPv6接口攻击抑制功能。
undo ipv6 dhcp interface-rate-suppression global enable
缺省情况下,全局DHCPv6接口攻击抑制功能处于关闭状态。
b. 进入接口视图。
interface interface-type interface-number
c. 开启接口的DHCPv6接口攻击抑制功能。
ipv6 dhcp interface-rate-suppression enable
缺省情况下,接口的DHCPv6接口攻击抑制功能处于关闭状态。
当用户的物理接入位置发生变化时,例如无线终端用户漫游时,若需要该用户下线后重新上线,则DHCPv6中继可能会因为未及时收到用户的下线请求,而导致DHCPv6中继认为该终端用户还在线。因为终端用户所在的无线网络发生变化,但MAC地址不变,则DHCPv6中继会认为收到的终端用户重新发送的DHCPv6请求报文是攻击报文,直接丢弃该DHCP请求报文。为了解决这个问题,需要在DHCPv6中继上配置本功能:
· 指定fast-renew参数后,当DHCPv6中继收到物理位置发生变化,MAC地址不变的上线用户发送的DHCPv6请求报文,先向服务器发报文释放对应MAC地址的已在线租约,再将请求报文转发给DHCPv6服务器。
· 指定roam参数后,当DHCPv6中继收到物理位置发生变化,MAC地址不变的上线用户发送的DHCP请求报文,直接将该请求报文转发给DHCPv6服务器。这样,可以保证用户继续使用相同的IP地址上线,避免了重新进行接入认证。
本功能仅适用于IPoE组网,其中roam参数仅在通过ip subscriber roaming enable命令开启个人接入用户的漫游功能才生效。IPoE漫游功能的详细介绍请参见“BRAS业务配置指导”中的“IPoE”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置DHCPv6服务器收到物理位置发生变化、MAC地址不变的上线用户发送的DHCPv6请求的处理方式。
ipv6 dhcp session-mismatch action { fast-renew | roam }
在某些网络环境中,在DHCPv6客户端和DHCPv6服务器之间可能存在多跳DHCPv6中继。缺省情况下,只有连接DHCPv6客户端的第一跳DHCPv6中继处理DHCPv6请求报文,后续的DHCPv6中继只会转发该报文。若需要在非第一跳DHCPv6中继设备上开启接入认证功能,则需要在该DHCPv6中继设备开启本功能,DHCPv6中继收到DHCPv6请求报文后,会将报文发送接入认证模块进行用户的认证、授权等操作。
本命令只适用于接入认证组网环境,普通组网不需要配置本功能。只需要在开启接入认证功能的DHCPv6中继开启本功能,其他中继不需要配置本功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启非首跳DHCPv6中继功能。
ipv6 dhcp relay non-first-hop enable
缺省情况下,非首跳DHCPv6中继功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6中继的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6中继的统计信息。
表3-1 DHCPv6中继显示和维护
操作 |
命令 |
显示本设备DUID |
display ipv6 dhcp duid |
显示DHCPv6防Flood攻击表项信息 |
(独立运行模式) display ipv6 dhcp flood-protection slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] | state { check | restrain } [ verbose ] | statistics | verbose ] (IRF模式) display ipv6 dhcp flood-protection chassis chassis-number slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] | state { check | restrain } [ verbose ] | statistics | verbose ] |
显示DHCPv6接口攻击抑制表项信息 |
(独立运行模式) display ipv6 dhcp interface-rate-suppression slot slot-number [ cpu cpu-number ] [interface interface-type interface-number | state { check | restrain } [ verbose ] | statistics | verbose ] (IRF模式) display ipv6 dhcp interface-rate-suppression chassis chassis-number slot slot-number [ cpu cpu-number ] [interface interface-type interface-number | state { check | restrain } [ verbose ] | statistics | verbose ] |
显示DHCP接入用户的DHCPv6报文限速功能的报文统计信息 |
(独立运行模式) display ipv6 dhcp rate-limit slot slot-number [ cpu cpu-number ] (IRF模式) display ipv6 dhcp rate-limit chassis chassis-number slot slot-number [ cpu cpu-number ] |
显示DHCPv6中继用户地址表项信息 |
display ipv6 dhcp relay client-information address [ interface interface-type interface-number | ipv6 ipv6-address ] [ vpn-instance vpn-instance-name ] |
显示DHCPv6中继用户前缀表项信息 |
display ipv6 dhcp relay client-information pd [ interface interface-type interface-number | prefix prefix/prefix-len ] [ vpn-instance vpn-instance-name ] |
显示DHCPv6中继的DHCPv6地址池对应的远端DHCPv6服务器配置和状态信息 |
(独立运行模式) display ipv6 dhcp relay remote-server-info [ vpn-instance vpn-name ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display ipv6 dhcp relay remote-server-info [ vpn-instance vpn-name ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
显示DHCPv6中继上指定的DHCPv6服务器地址信息 |
display ipv6 dhcp relay server-address [ interface interface-type interface-number ] |
显示DHCPv6中继的相关报文统计信息 |
display ipv6 dhcp relay packet statistics [ interface interface-type interface-number ] |
清除DHCPv6防Flood攻击表项信息 |
(独立运行模式) reset ipv6 dhcp flood-protection slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] ] [ packet-statistics ] (IRF模式) reset ipv6 dhcp flood-protection chassis chassis-number slot slot-number [ cpu cpu-number ] [ mac-address mac-address [ interface interface-type interface-number ] ] [ packet-statistics ] |
清除DHCPv6接口攻击抑制表项信息 |
(独立运行模式) reset ipv6 dhcp interface-rate-suppression slot slot-number [ cpu cpu-number ] [ interface interface-type interface-number ] [ packet-statistics ] (IRF模式) reset ipv6 dhcp interface-rate-suppression chassis chassis-number slot slot-number [ cpu cpu-number ] [ interface interface-type interface-number ] [ packet-statistics ] |
清除DHCP接入用户的DHCPv6报文限速功能的报文统计信息 |
(独立运行模式) reset ipv6 dhcp rate-limit slot slot-number [ cpu cpu-number ] (IRF模式) reset ipv6 dhcp rate-limit chassis chassis-number slot slot-number [ cpu cpu-number ] |
清除DHCPv6中继用户地址表项信息 |
reset ipv6 dhcp relay client-information address [ interface interface-type interface-number | ipv6 ipv6-address ] [ vpn-instance vpn-instance-name ] |
清除DHCPv6中继用户前缀表项信息 |
reset ipv6 dhcp relay client-information pd [ interface interface-type interface-number | prefix prefix/prefix-len ] [ vpn-instance vpn-instance-name ] |
清除DHCPv6中继的相关报文统计信息 |
reset ipv6 dhcp relay packet statistics [ interface interface-type interface-number ] |
· DHCPv6客户端所在网络地址为1::/64,DHCPv6服务器的地址为2::2/64。客户端和服务器不在同一个链路范围,需要通过DHCPv6中继转发报文。
· Router A作为DHCPv6中继,为客户端和服务器转发报文。
· Router A同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。RA消息的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
图3-3 DHCPv6中继组网图
# 配置接口Ten-GigabitEthernet3/1/1和Ten-GigabitEthernet3/1/2的IPv6地址。取消设备发布RA消息的抑制。配置被管理地址的配置标志位为1,即主机通过DHCPv6服务器获取IPv6地址。配置其他信息配置标志位为1,即主机通过DHCPv6服务器获取除IPv6地址以外的其他信息。
<RouterA> system-view
[RouterA] interface ten-gigabitethernet 3/1/2
[RouterA-Ten-GigabitEthernet3/1/2] ipv6 address 2::1 64
[RouterA-Ten-GigabitEthernet3/1/2] quit
[RouterA] interface ten-gigabitethernet 3/1/1
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 address 1::1 64
[RouterA-Ten-GigabitEthernet3/1/1] undo ipv6 nd ra halt
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig managed-address-flag
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig other-flag
# 配置接口Ten-GigabitEthernet3/1/1工作在DHCPv6中继模式,并指定DHCPv6服务器地址。
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 dhcp select relay
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 dhcp relay server-address 2::2
# 完成上述配置后,查看DHCPv6中继上指定的DHCPv6服务器地址信息。
[RouterA-Ten-GigabitEthernet3/1/1] display ipv6 dhcp relay server-address
Interface: Ten-GigabitEthernet3/1/1
Server address Outgoing Interface
2::2
# 查看DHCPv6中继相关报文的统计信息。
[RouterA-Ten-GigabitEthernet3/1/1] display ipv6 dhcp relay packet statistics
Packets dropped : 0
Packets received : 14
Solicit : 0
Request : 0
Confirm : 0
Renew : 0
Rebind : 0
Release : 0
Decline : 0
Information-request : 7
Relay-forward : 0
Relay-reply : 7
Packets sent : 14
Advertise : 0
Reconfigure : 0
Reply : 7
Relay-forward : 7
Relay-reply : 0
设备作为DHCPv6客户端时,可以具有如下功能:
· 通过DHCPv6获取IPv6地址和网络配置参数,IPv6地址作为开启DHCPv6客户端功能的接口地址,当设备开启DHCPv6服务器功能后,获取的网络配置参数用来自动创建DHCPv6选项组。
· 通过DHCPv6获取IPv6前缀和网络配置参数,IPv6前缀作为本地设备的IPv6前缀(本地设备根据该前缀生成IPv6地址);当设备开启DHCPv6服务器功能后,获取的网络配置参数用来自动创建DHCPv6选项组。
· 通过DHCPv6同时获取IPv6地址、IPv6前缀和网络配置参数,IPv6地址作为开启DHCPv6客户端功能的接口地址,IPv6前缀作为本地设备的IPv6前缀(本地设备根据该前缀生成IPv6地址);当设备开启DHCPv6服务器功能后,获取的网络配置参数用来自动创建DHCPv6选项组。
· 通过DHCPv6无状态配置获取除IPv6地址/前缀外的其他网络配置参数。DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA报文中M标志位的取值为0、O标志位的取值为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。否则DHCPv6客户端不会开启无状态配置过程。
建议不要在一个接口上同时配置DHCPv6客户端和DHCPv6服务器功能,也不要在一个接口上同时配置DHCPv6客户端和DHCPv6中继功能,否则会影响功能正常使用。
DHCPv6客户端配置任务如下:
(1) (可选)配置接口使用的DHCPv6客户端DUID
(2) 配置DHCPv6客户端获取IPv6地址、IPv6前缀和网络配置参数
请至少选择以下一项任务进行配置:
¡ 配置DHCPv6客户端同时获取IPv6地址、IPv6前缀和网络配置参数
¡ 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
(3) (可选)配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
DHCPv6客户端DUID用来填充DHCPv6报文的Option 1,作为识别DHCPv6客户端的唯一标识。DHCPv6服务器可以根据DHCPv6客户端DUID为特定的DHCPv6客户端分配特定的IPv6地址。用户可以通过三种方法指定DHCPv6客户端DUID:ASCII字符串、十六进制数或接口的MAC地址。
用户在指定客户端ID时,需要确保不同客户端的客户端ID不能相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口使用的DHCPv6客户端DUID。
ipv6 dhcp client duid { ascii ascii-string | hex hex-string | mac interface-type interface-number }
缺省情况下,根据设备的桥MAC地址生成DHCPv6客户端DUID。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口作为DHCPv6客户端,通过DHCPv6方式获取IPv6地址和其他网络配置参数。
ipv6 address dhcp-alloc [ option-group group-number | rapid-commit ] *
缺省情况下,接口不会作为DHCPv6客户端获取IPv6地址和网络配置参数。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口作为DHCPv6客户端,通过DHCPv6方式获取IPv6前缀和其他网络配置参数。
ipv6 dhcp client pd prefix-number [ option-group group-number | rapid-commit ]*
缺省情况下,接口不会作为DHCPv6客户端获取IPv6前缀和网络配置参数。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口作为DHCPv6客户端,通过DHCPv6方式同时获取IPv6地址、IPv6前缀和其他网络配置参数。
ipv6 dhcp client stateful prefix prefix-number [ option-group option-group-number | rapid-commit ] *
缺省情况下,接口不会作为DHCPv6客户端同时获取IPv6地址、IPv6前缀和网络配置参数。
DHCPv6客户端可通过如下方式获取除地址/前缀外的其他网络参数:
· 如果接口上只配置了ipv6 address auto命令,则接口会通过无状态自动配置方式生成全球单播地址,同时自动生成链路本地地址。只有接收到的RA报文中M标志位的取值为0、O标志位的取值为1时,设备才会自动启动DHCPv6无状态配置功能。
· 如果接口只配置了ipv6 dhcp client stateless enable命令,则接口开启了DHCPv6客户端功能,并从DHCPv6服务器获取除地址/前缀外的其他网络配置参数。
· 如果接口上同时配置了ipv6 address auto命令和ipv6 dhcp client stateless enable命令,则接口通过无状态生成全球单播地址,同时自动生成链路本地地址,且直接从DHCPv6服务器获取除地址/前缀外的其他网络配置参数。
ipv6 address auto命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启无状态自动配置功能。请至少选择其中一项进行配置。
¡ 开启IPv6地址无状态自动配置功能。
ipv6 address auto
¡ 开启DHCPv6客户端无状态配置功能。
ipv6 dhcp client stateless enable
缺省情况下,接口不会作为DHCPv6客户端获取除地址/前缀外的其他网络配置参数。
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6客户端发送的DHCPv6报文的DSCP优先级。
(1) 进入系统视图。
system-view
(2) 配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级。
ipv6 dhcp client dscp dscp-value
缺省情况下,DHCPv6客户端发送的DHCPv6报文的DSCP优先级为56。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6客户端的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6客户端的统计信息。
表4-1 DHCPv6客户端显示和维护
操作 |
命令 |
显示DHCPv6客户端的信息 |
display ipv6 dhcp client [ interface interface-type interface-number ] |
显示DHCPv6客户端的统计信息 |
display ipv6 dhcp client statistics [ interface interface-type interface-number ] |
清除DHCPv6客户端的统计信息 |
reset ipv6 dhcp client statistics [ interface interface-type interface-number ] |
DHCPv6客户端Router从DHCPv6服务器获取IPv6地址,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名。
DHCPv6客户端根据获取到的网络配置参数自动创建DHCPv6选项组1。
图4-1 DHCPv6客户端申请地址及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。DHCPv6服务器的配置方法,请参见“BRAS业务配置指导”中的“DHCPv6服务器”。
# 配置接口Ten-GigabitEthernet3/1/1作为DHCPv6客户端获取IPv6地址及网络参数,配置DHCPv6客户端支持地址快速分配功能,并配置根据获取到的网络配置参数自动创建DHCPv6选项组1。
<Router> system-view
[Router] interface ten-gigabitethernet 3/1/1
[Router-Ten-GigabitEthernet3/1/1] ipv6 address dhcp-alloc rapid-commit option-group 1
[Router-Ten-GigabitEthernet3/1/1] quit
# 显示DHCPv6客户端的信息。
[Router] display ipv6 dhcp client
Ten-GigabitEthernet3/1/1:
Type: Stateful client requesting address
State: OPEN
Client DUID: 00030001d07e28db74fb
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:19
Server DUID: 00030001000fe20a0a00
IA_NA: IAID 0x00000a02, T1 50 sec, T2 80 sec
Address: 1:2::2/128
Preferred lifetime 100 sec, valid lifetime 200 sec
Will expire on Mar 27 2014 at 15:35:55 (196 seconds left)
DNS server addresses:
2000::FF
Domain name:
example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.example.com
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Router-Ten-GigabitEthernet3/1/1] display ipv6 dhcp option-group 1
DHCPv6 option group: 1
DNS server addresses:
Type: Dynamic (DHCPv6 address allocation)
Interface: Ten-GigabitEthernet3/1/1
2000::FF
Domain name:
Type: Dynamic (DHCPv6 address allocation)
Interface: Ten-GigabitEthernet3/1/1
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 address allocation)
Interface: Ten-GigabitEthernet3/1/1
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 address allocation)
Interface: Ten-GigabitEthernet3/1/1
bbb.example.com
# 查看获取到的IPv6地址。
[Router] display ipv6 interface brief
*down: administratively down
(s): spoofing
Interface Physical Protocol IPv6 Address
Ten-GigabitEthernet3/1/1 up up 1:1::2
可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6地址及网络参数。
DHCPv6客户端Router从DHCPv6服务器获取IPv6前缀,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名等。
DHCPv6客户端Router根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1。
图4-2 DHCPv6客户端申请前缀及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 在DHCPv6客户端连接到DHCPv6服务器的接口Ten-GigabitEthernet3/1/1上配置IPv6地址。
<Router> system-view
[Router] interface ten-gigabitethernet 3/1/1
[Router-Ten-GigabitEthernet3/1/1] ipv6 address 1::2/48
# 配置接口Ten-GigabitEthernet3/1/1作为DHCPv6客户端获取IPv6前缀及网络参数,配置根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1,并配置DHCPv6客户端支持前缀快速分配功能。
[Router-Ten-GigabitEthernet3/1/1] ipv6 dhcp client pd 1 rapid-commit option-group 1
[Router-Ten-GigabitEthernet3/1/1] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6前缀及网络参数。
[Router] display ipv6 dhcp client
Ten-GigabitEthernet3/1/1:
Type: Stateful client requesting prefix
State: OPEN
Client DUID: 00030001d07e28db74fb
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:19
Server DUID: 0003000100e001000000
IA_PD: IAID 0x00000a02, T1 50 sec, T2 80 sec
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
Will expire on Feb 4 2014 at 15:37:20(80 seconds left)
DNS server addresses:
2000::FF
Domain name:
example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.example.com
# 显示动态创建的IPv6前缀1的信息。
[Router] display ipv6 prefix 1
Number: 1
Type : Dynamic
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Router] display ipv6 dhcp option-group 1
DHCPv6 option group: 1
DNS server addresses
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
2000::FF
Domain name:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
bbb.example.com
以上两条display命令可以看到客户端获取到的前缀信息和网络参数。
DHCPv6客户端Router从DHCPv6服务器同时获取IPv6地址、IPv6前缀以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名等。
DHCPv6客户端Router根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1。
图4-3 DHCPv6客户端同时申请地址、前缀及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 在DHCPv6客户端连接到DHCPv6服务器的接口Ten-GigabitEthernet3/1/1上配置IPv6地址。
<Router> system-view
[Router] interface ten-gigabitethernet 3/1/1
[Router-Ten-GigabitEthernet3/1/1] ipv6 address 1::2/48
# 配置接口Ten-GigabitEthernet3/1/1作为DHCPv6客户端同时获取IPv6地址、IPv6前缀及网络参数,配置根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1,并配置DHCPv6客户端支持前缀快速分配功能。
[Router-Ten-GigabitEthernet3/1/1] ipv6 dhcp client stateful prefix 1 rapid-commit option-group 1
[Router-Ten-GigabitEthernet3/1/1] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6前缀及网络参数。
[Router] display ipv6 dhcp client
Ten-GigabitEthernet3/1/1:
Type: Stateful client requesting address and prefix
State: OPEN
Client DUID: 00030001d07e28db74fb
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:19
Server DUID: 0003000100e001000000
IA_NA: IAID 0x00000a02, T1 50 sec, T2 80 sec
Address: 1:1::2/128
Preferred lifetime 100 sec, valid lifetime 200 sec
Will expire on Mar 27 2014 at 15:29:34 (198 seconds left)
IA_PD: IAID 0x00000a02, T1 50 sec, T2 80 sec
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
Will expire on Mar 27 2014 at 15:29:34 (198 seconds left)
DNS server addresses:
2000::FF
Domain name:
example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.example.com
# 查看获取到的IPv6地址。
[Router] display ipv6 interface brief
*down: administratively down
(s): spoofing
Interface Physical Protocol IPv6 Address
Ten-GigabitEthernet3/1/1 up up 1:1::2
# 显示动态创建的IPv6前缀1的信息。
[Router] display ipv6 prefix 1
Number: 1
Type : Dynamic
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Router] display ipv6 dhcp option-group 1
DHCPv6 option group: 1
DNS server addresses:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
2000::FF
Domain name:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Ten-GigabitEthernet3/1/1
bbb.example.com
以上三条display命令可以看到客户端获取到的地址信息、前缀信息和网络参数。
· DHCPv6客户端Router A通过DHCPv6无状态配置获取域名服务器、域名等信息;
· Router B作为网关,周期性发布RA消息。
图4-4 DHCPv6无状态配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
(1) 配置网关Router B
# 配置接口Ten-GigabitEthernet3/1/1的IPv6地址。
<RouterB> system-view
[RouterB] interface ten-gigabitethernet 3/1/1
[RouterB-Ten-GigabitEthernet3/1/1] ipv6 address 1::1 64
# 配置RA消息中O标志位为1。
[RouterB-Ten-GigabitEthernet3/1/1] ipv6 nd autoconfig other-flag
# 配置允许发送RA消息。
[RouterB-Ten-GigabitEthernet3/1/1] undo ipv6 nd ra halt
(2) 配置DHCPv6客户端Router A
# 在接口Ten-GigabitEthernet3/1/1上使能IPv6地址无状态自动配置功能。
<RouterA> system-view
[RouterA] interface ten-gigabitethernet 3/1/1
[RouterA-Ten-GigabitEthernet3/1/1] ipv6 address auto
执行此命令后,如果Ten-GigabitEthernet3/1/1下未配置地址,Router A会自动生成链路本地地址,并主动发送RS(Router Solicitation,路由器请求)报文,请求网关Router B立即回应RA报文。
如果收到的RA报文中M标志位为0、O标志位为1,Router A就会启动DHCPv6客户端无状态配置。
# 可以通过display ipv6 dhcp client命令查看当前客户端的配置信息。
[RouterA-Ten-GigabitEthernet3/1/1] display ipv6 dhcp client interface ten-gigabitethernet 3/1/1
Ten-GigabitEthernet3/1/1:
Type: Stateless client
State: OPEN
Client DUID: 00030001000fe2ff0000
Preferred server:
Reachable via address: FE80::213:7FFF:FEF6:C818
Server DUID: 0003000100137ff6c818
DNS server addresses:
1:2:4::5
1:2:4::7
Domain name:
abc.example.com
如果从服务器成功获取了配置,将会有以上的显示信息。
# 可以通过display ipv6 dhcp client statistics命令查看当前客户端的统计信息。
[RouterA-Ten-GigabitEthernet3/1/1] display ipv6 dhcp client statistics
Interface : Ten-GigabitEthernet3/1/1
Packets received : 1
Reply : 1
Advertise : 0
Reconfigure : 0
Invalid : 0
Packets sent : 5
Solicit : 0
Request : 0
Renew : 0
Rebind : 0
Information-request : 5
Release : 0
Decline : 0
DHCPv6 Snooping是DHCPv6的一种安全特性,用来保证客户端从合法的服务器获取IPv6地址,并可以记录DHCPv6客户端IPv6地址与MAC地址的对应关系。
网络中如果存在私自架设的非法DHCPv6服务器,则可能导致DHCPv6客户端获取错误的IPv6地址和网络配置参数,从而无法正常通信。为了使DHCPv6客户端能通过合法的DHCPv6服务器获取IPv6地址,DHCPv6 Snooping安全机制允许将端口设置为信任端口和不信任端口:
· 信任端口正常转发接收到的DHCPv6报文。
· 不信任端口接收到DHCPv6服务器发送的应答报文后,丢弃该报文。
如图5-1所示,在DHCPv6 Snooping设备上指向DHCPv6服务器方向的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCPv6客户端只能从合法的DHCPv6服务器获取地址,私自架设的非法DHCPv6服务器无法为DHCPv6客户端分配地址。
DHCPv6 Snooping通过监听DHCPv6报文,记录DHCPv6 Snooping表项,其中包括客户端的MAC地址、获取到的IPv6地址、与DHCPv6客户端连接的端口及该端口所属的VLAN等信息。网络管理员可以通过display ipv6 dhcp snooping binding命令查看客户端获取的IPv6地址信息,以便了解用户上网时所用的IPv6地址,并对其进行管理和监控。
设备只有位于DHCPv6客户端与DHCPv6服务器之间,或DHCPv6客户端与DHCPv6中继之间时,DHCPv6 Snooping功能配置后才能正常工作;设备位于DHCPv6服务器与DHCPv6中继之间时,DHCPv6 Snooping功能配置后不能正常工作。
DHCPv6 Snooping配置任务如下:
(2) (可选)配置DHCPv6 Snooping支持Option 18功能
(3) (可选)配置DHCPv6 Snooping支持Option 37功能
(4) (可选)配置DHCPv6 Snooping表项固化功能
(5) (可选)配置接口动态学习DHCPv6 Snooping表项的最大数目
(6) (可选)开启DHCPv6 Snooping的DHCPv6请求方向报文检查功能
(7) (可选)开启DHCPv6 Snooping报文阻断功能
(8) (可选)开启DHCPv6 Snooping日志信息功能
· 为了使DHCPv6客户端能从合法的DHCPv6服务器获取IPv6地址,必须将与合法DHCPv6服务器相连的端口设置为信任端口,且设置的信任端口和与DHCPv6客户端相连的端口必须在同一个VLAN内。
· 如果二层以太网接口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的DHCPv6 Snooping相关配置不会生效;该接口退出聚合组后,DHCPv6 Snooping的配置才会生效。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6 Snooping功能。
ipv6 dhcp snooping enable
缺省情况下,DHCPv6 Snooping功能处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
此接口为连接DHCPv6服务器的接口。
(4) 配置DHCPv6 Snooping信任端口。
ipv6 dhcp snooping trust
缺省情况下,开启DHCPv6 Snooping功能后,设备的所有端口均为不信任端口。
(5) (可选)开启端口的DHCPv6 Snooping表项记录功能。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
此接口为连接DHCPv6客户端的接口。
c. 开启端口的DHCPv6 Snooping表项记录功能。
ipv6 dhcp snooping binding record
缺省情况下,在开启DHCPv6 Snooping功能后, 端口的DHCPv6 Snooping表项记录功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6 Snooping支持Option 18功能。
ipv6 dhcp snooping option interface-id enable
缺省情况下,DHCPv6 Snooping支持Option 18功能处于关闭状态。
(4) (可选)配置Option 18选项中的DUID。
ipv6 dhcp snooping option interface-id [ vlan vlan-id ] string interface-id
缺省情况下,Option 18选项中的DUID为本设备的DUID。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6 Snooping支持Option 37功能。
ipv6 dhcp snooping option remote-id enable
缺省情况下,DHCPv6 Snooping支持Option 37功能处于关闭状态。
(4) (可选)配置Option 37选项中的DUID。
ipv6 dhcp snooping option remote-id [ vlan vlan-id ] string remote-id
缺省情况下,Option 37选项中的DUID为本设备的DUID。
DHCPv6 Snooping设备重启后,设备上记录的DHCPv6 Snooping表项将丢失。如果DHCPv6 Snooping与其他特性(如IP Source Guard)配合使用,表项丢失会导致安全特性无法通过DHCPv6 Snooping获取到相应的表项,进而导致DHCPv6客户端不能顺利通过安全检查、正常访问网络。
DHCPv6 Snooping表项备份功能将DHCPv6 Snooping表项保存到指定的文件中,DHCPv6 Snooping设备重启后,自动根据该文件恢复DHCPv6 Snooping表项,从而保证DHCPv6 Snooping表项不会丢失。
· 执行undo ipv6 dhcp snooping enable命令关闭DHCPv6 Snooping功能后,设备会删除所有DHCPv6 Snooping表项,文件中存储的DHCPv6 Snooping表项也将被删除。
· 执行ipv6 dhcp snooping binding database filename命令后,会立即触发一次表项备份。
¡ 如果未配置ipv6 dhcp snooping binding database update interval命令,若表项发生变化,默认在300秒之后刷新存储文件;若表项未发生变化,则不再刷新存储文件。
¡ 如果配置了ipv6 dhcp snooping binding database update interval命令,若表项发生变化,则到达刷新时间间隔后刷新存储文件;若表项未发生变化,则不再刷新存储文件。
(1) 进入系统视图。
system-view
(2) 指定存储DHCPv6 Snooping表项的文件名称。
ipv6 dhcp snooping binding database filename { filename | url url [ username username [ password { cipher | simple } string ] ] }
缺省情况下,未指定存储文件名称。
(3) (可选)将当前的DHCPv6 Snooping表项保存到用户指定的文件中。
ipv6 dhcp snooping binding database update now
本命令只用来触发一次DHCPv6 Snooping表项的备份。
(4) (可选)配置刷新DHCPv6 Snooping表项存储文件的延迟时间。
ipv6 dhcp snooping binding database update interval interval
缺省情况下,若DHCPv6 Snooping表项不变化,则不刷新存储文件;若DHCPv6 Snooping表项发生变化,默认在300秒之后刷新存储文件。
通过本配置可以限制接口动态学习DHCPv6 Snooping表项的最大数目,以防止接口学习到大量DHCPv6 Snooping表项,占用过多的系统资源。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口动态学习DHCPv6 Snooping表项的最大数目。
ipv6 dhcp snooping max-learning-num max-number
缺省情况下,不限制接口动态学习DHCPv6 Snooping表项的数目。
本功能用来检查DHCPv6-Renew、DHCPv6-Decline和DHCPv6-Release三种DHCPv6请求方向的报文,以防止非法客户端伪造这三种报文对DHCPv6服务器进行攻击。
伪造DHCPv6-Renew报文攻击是指攻击者冒充合法的DHCPv6客户端,向DHCPv6服务器发送伪造的DHCPv6-Renew报文,导致DHCPv6服务器和DHCPv6客户端无法按照自己的意愿及时释放IPv6地址租约。如果攻击者冒充不同的DHCPv6客户端发送大量伪造的DHCPv6-Renew报文,则会导致大量IPv6地址被长时间占用,DHCPv6服务器没有足够的地址分配给新的DHCPv6客户端。
伪造DHCPv6-Decline/DHCPv6-Release报文攻击是指攻击者冒充合法的DHCPv6客户端,向DHCPv6服务器发送伪造的DHCPv6-Decline/DHCPv6-Release报文,导致DHCPv6服务器错误终止IPv6地址租约。
在DHCPv6 Snooping设备上开启DHCPv6请求方向报文检查功能,可以有效地防止伪造DHCPv6请求方向报文攻击。如果开启了该功能,则DHCPv6 Snooping设备接收到上述报文后,检查本地是否存在与请求方向报文匹配的DHCPv6 Snooping表项。若存在,则接收报文信息与DHCPv6 Snooping表项信息一致时,认为该报文为合法的DHCPv6请求方向报文,将其转发给DHCPv6服务器;不一致时,认为该报文为伪造的DHCPv6请求方向报文,将其丢弃。若不存在,则认为该报文合法,将其转发给DHCPv6服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6 Snooping的DHCPv6请求方向报文检查功能。
ipv6 dhcp snooping check request-message
缺省情况下,DHCPv6 Snooping的DHCPv6请求方向报文检查功能处于关闭状态。
在某些组网环境下,用户需要在DHCPv6 Snooping设备的某一端口上丢弃该端口收到的所有DHCPv6请求方向报文,而又不影响其他端口正常接收DHCPv6报文。这时,用户可以在该端口上开启DHCPv6 Snooping报文阻断功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6 Snooping报文阻断功能。
ipv6 dhcp snooping deny
缺省情况下,端口的DHCPv6 Snooping报文阻断功能处于关闭状态。
在端口上开启本功能后,DHCPv6 Snooping设备会丢弃该端口收到的所有DHCPv6请求方向报文,这将导致该端口上的DHCPv6客户端无法申请到IPv6地址或IPv6前缀。因此,本功能只能在未连接DHCPv6客户端的端口上开启。
DHCPv6 Snooping日志是为了满足管理员的审计需求。DHCPv6 Snooping设备生成DHCPv6 Snooping日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
当DHCPv6 Snooping设备输出大量日志信息时,可能会降低设备性能。为了避免该情况的发生,用户可以关闭DHCPv6 Snooping日志信息功能,使得DHCPv6 Snooping设备不再输出日志信息。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6 Snooping日志信息功能。
ipv6 dhcp snooping log enable
缺省情况下,DHCPv6 Snooping日志信息功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示DHCPv6 Snooping的配置情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6 Snooping表项信息。
表5-1 DHCPv6 Snooping显示和维护
操作 |
命令 |
显示DHCPv6 Snooping信任端口信息 |
display ipv6 dhcp snooping trust |
显示DHCPv6 Snooping表项信息 |
display ipv6 dhcp snooping binding [ address ipv6-address [ vlan vlan-id ] ] |
显示DHCPv6 Snooping表项备份信息 |
display ipv6 dhcp snooping binding database |
显示DHCPv6 Snooping设备上的DHCPv6报文统计信息 |
(独立运行模式) display ipv6 dhcp snooping packet statistics [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display ipv6 dhcp snooping packet statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
清除DHCPv6 Snooping表项 |
reset ipv6 dhcp snooping binding { all | address ipv6-address [ vlan vlan-id ] } |
清除DHCPv6 Snooping设备上的DHCPv6报文统计信息 |
(独立运行模式) reset ipv6 dhcp snooping packet statistics [ slot slot-number [ cpu cpu-number ] ] (IRF模式) reset ipv6 dhcp snooping packet statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
Router B通过以太网端口Ten-GigabitEthernet3/1/1连接到合法DHCPv6服务器,通过以太网端口Ten-GigabitEthernet3/1/3连接到非法服务器,通过Ten-GigabitEthernet3/1/2连接到DHCPv6客户端。要求:
· 与合法DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。
· 记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。
图5-2 DHCPv6 Snooping组网示意图
# 开启DHCPv6 Snooping功能。
<RouterB> system-view
[RouterB] ipv6 dhcp snooping enable
# 配置Ten-GigabitEthernet3/1/1端口为信任端口。
[RouterB] interface ten-gigabitethernet 3/1/1
[RouterB-Ten-GigabitEthernet3/1/1] ipv6 dhcp snooping trust
[RouterBB-Ten-GigabitEthernet3/1/1] quit
# 在Ten-GigabitEthernet3/1/2上开启安全表项功能。
[RouterB]interface ten-gigabitethernet 3/1/2
[RouterB-Ten-GigabitEthernet3/1/2] ipv6 dhcp snooping binding record
[RouterB-Ten-GigabitEthernet3/1/2] quit
配置完成后,DHCPv6客户端只能够从合法DHCPv6服务器获取IPv6地址和其他配置信息,非法DHCPv6服务器无法为DHCPv6客户端分配IPv6地址和其他配置信息。且使用display ipv6 dhcp snooping binding命令可以查看生成的DHCPv6 Snooping表项。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!