配置DHCPv6 Relay
当DHCPv6客户端和服务器不在同一个链路范围内时,可以通过DHCPv6中继来实现DHCPv6客户端与服务器之间DHCPv6报文转发。
应用环境
如图5-1所示,DHCPv6客户端在网络A中,而DHCPv6服务器在网络B中。当DHCPv6客户端需要DHCPv6服务器为其分配IPv6地址等配置信息时,则必须配置DHCPv6中继功能来实现DHCPv6报文的转发。
前置任务
在配置DHCPv6 Relay之前,需完成以下任务:
- 配置DHCPv6服务器
- 配置DHCPv6中继接口
- 配置DHCPv6服务器到DHCPv6中继接口的路由
使能DHCPv6功能
配置DHCPv6 Relay转发功能
DHCPv6 Relay转发功能在DHCPv6报文的用户侧入接口上进行配置,包括指定报文转发的出接口信息、目的DHCPv6服务器地址或者下一跳DHCPv6中继地址等信息。
背景信息
要对设备连接的某一网段内的DHCPv6客户端实现DHCPv6中继代理功能,必须在连接该网段的接口上进行转发功能配置,如果指定多个出接口和多个目的IPv6地址(包括DHCPv6服务器地址或者下一跳DHCPv6中继地址),则从该接口上收到的客户端报文会被复制多份转发至每个出接口和目的IPv6地址。
操作步骤
- 执行命令system-view,进入系统视图。
- (可选)执行命令dhcpv6 relay server group group-name,配置DHCPv6中继服务器组,并进入服务器组视图。
当多个接口需要使能DHCPv6中继功能,并且需要指定相同的多个DHCPv6中继服务器时,可以通过配置DHCPv6服务器组简化配置。
- (可选)执行命令server server-addr,配置DHCPv6中继服务器组中的服务器地址。
- 执行命令quit,退回系统视图。
- 执行命令interface interface-type interface-number,进入需要使能DHCPv6中继功能的接口。
- 用户可以选择下面两种方式进行配置:
- 执行命令dhcpv6 relay { interface interface-type interface-number | destination ipv6–address },配置DHCPv6中继转发报文的出接口或目的IPv6地址。
- 执行命令dhcpv6 relay binding server group group-name,配置接口绑定DHCPv6中继服务器组。
- (可选)执行命令dhcpv6 relay link-address ipv6–address,配置DHCPv6中继的网关地址。
- (可选)针对基于源IP地址进行回应报文的DHCPv6 Server,DHCPv6 Relay在转发DHCPv6 Client的请求报文时,通常使用的是DHCPv6 Relay接口的IP地址作为源IP。当用户需要指定源IP地址时,有如下两种方式可以进行配置:
- 执行命令dhcpv6 relay source-ip-address ipv6–address,配置DHCPv6中继转发报文中的源IPv6地址。
- 执行命令dhcpv6 relay source-interface{ interface-name | interface-type interface-num },配置DHCPv6中继转发报文中的源IPv6地址采用指定接口的地址。
dhcpv6 relay source-ip-address和dhcpv6 relay source-interface是覆盖写入的关系,在同一个DHCPv6 Relay接口下配置其中一条会自动替换另一条命令。
- 执行命令quit,退回系统视图。
- (可选)执行命令dhcpv6 rate-limit { enable | rate-limit },配置DHCPv6报文全局限速功能。
当DHCPv6设备受到报文攻击造成系统繁忙时,可以使用全局限速功能控制系统处理DHCPv6报文的速率,超过指定速率后报文会被丢弃。
- (可选)执行命令dhcpv6 source-ip-address format adaptive enable,配置DHCPv6中继向DHCPv6客户端回复的报文的源IPv6地址类型为Link-Local类型。
- 执行命令commit,提交配置。
(可选)配置DHCPv6 PD Relay功能
DHCPv6 PD Relay功能目前包含PD前缀路由发布,限制客户端接入数目,以及检查报文物理信息。
背景信息
配置DHCPv6 PD前缀路由发布
在DHCPv6(IA_PD)场景下,DHCPv6中继设备会根据服务器分配给客户端的DHCPv6 PD前缀生成前缀路由,但是缺省情况下该路由仅在本机生效,不对外发布,此时网络上其他设备无法获得到达CPE及下挂用户终端的路由信息,因此会导致CPE下挂的用户终端无法访问网络。可以通过两种方式解决该问题:- 手动配置DHCPv6 PD前缀的聚合路由,然后通过路由协议将聚合路由发布给其他设备,使网络上其他设备获得到达CPE及下挂用户终端的路由信息。该方式下网络上其他设备需要学习的路由条数较少,对核心网络冲击较小,推荐用户使用该方式。
- 通过配置dhcpv6 export pd-route命令使中继设备自动将生成的前缀路由通过路由协议发布给其他设备,因为该前缀路由是到达客户端的路由,而客户端获取和释放前缀是实时变化的,所以前缀路由很难动态聚合,全部的前缀路由发布出去会对核心网络造成较大冲击,故不推荐用户使用该方式。
配置DHCPv6客户端接入限制
配置DHCPv6客户端接入限制可以基于接口、接口+VLAN进行限制。
配置检查DHCPv6报文物理信息
对于WLAN用户,用户位置发生改变,报文物理信息可能会发生改变,不需要检查报文物理信息。
但是对于固定网络用户,用户报文物理信息一般不会发生变化,执行此命令检查报文物理信息可以避免安全隐患。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令dhcpv6 export pd-route,配置中继设备自动发布DHCPv6 PD前缀路由。
- 执行命令dhcpv6 relay pd-route
auto-save file-name,使能前缀路由信息的自动保存功能。
中继设备重启后,前缀路由会丢失,使得用户不能访问网络,可以使用该命令使能前缀路由信息的自动保存功能,当中继设备重启后,中继可以根据保存的文件恢复前缀路由信息。
- 执行命令interface interface-type interface-number,进入使能了DHCPv6中继功能的接口。
- 执行命令dhcpv6 relay access-limit,配置中继接口上允许接入DHCPv6客户端的最大数目,超过限制后,新的DHCPv6客户端将被限制接入。
- dhcpv6 relay access-limit limit-number命令用来配置基于DHCPv6中继接口的DHCPv6客户端最大数目限制。
- dhcpv6 relay access-limit limit-number vlan vlan-id [ end-vlan-id ]命令配置基于DHCPv6中继接口+指定VLAN的DHCPv6客户端的最大数目限制。配置起始和结束VLAN时,表示这段VLAN内每个VLAN限制接入的DHCPv6客户端数目都是配置的数目,每个接口支持配置16个VLAN段。例如子接口GE0/1/1.1下配置命令dhcpv6 relay access-limit 1 vlan 1 100表示VLAN 1到100的每个VLAN只能接入1个DHCPv6客户端。
- dhcpv6 relay access-limit limit-number pevlan pevlan-id { cevlan cevlan-id [ end-cevlan-id ] | any }命令用来配置基于DHCPv6中继接口+双层VLAN的DHCPv6客户端的数目限制。每个接口支持配置16个VLAN段,cevlan指定any关键字时,表示配置的DHCPv6客户端的数目限制适用pevlan对应的所有未配置限制数的cevlan,cevlan的any配置占用16个VLAN段中一个VLAN。例如子接口GE0/1/1.1下配置dhcpv6 relay access-limit 1 pevlan 2 cevlan 1 100和dhcpv6 relay access-limit 2 pevlan 2 cevlan any命令,表示PEVLAN 2且CEVLAN 1到100的每对VLAN只能接入1个DHCPv6客户端,PEVLAN 2中CEVLAN 101到4094的每对VLAN只能接入2个DHCPv6客户端。
- dhcpv6 relay access-limit limit-number vlan any命令表示配置的DHCPv6客户端数目限制适用所有未配置限制数的单层VLAN和双层VLAN,该配置不占用接口的16个单层VLAN段和16个双层VLAN段的配置规格。当需要对DHCPv6中继接口+VLAN接入的DHCPv6客户端数目做限制时,配置该命令行。例如客户端通过QinQ方式接入,每对VLAN表示一个VLAN,可以配置命令dhcpv6 relay access-limit 1 vlan any限制每对VLAN只接入一个用户,可以阻止客户端变换MAC和DUID发送DHCPv6报文,占用DHCPv6中继设备的客户端表项规格。
- 执行命令dhcpv6 relay strict-check interface-info,配置使能中继接口检查DHCPv6报文物理信息的功能。
- 执行命令commit,提交配置。
(可选)配置DHCPv6 Relay报文选项
DHCPv6中继选项目前支持Interface-ID选项、Remote-ID选项、Subscriber-ID选项,提供DHCPv6服务器用于地址分配和参数配置。
背景信息
服务器根据报文中的选项信息来进行IPv6地址分配和参数配置,用户可以根据服务器的实现来选择是否在中继代理上使能下述选项功能:
- Interface-ID选项包含中继收到客户端报文的入接口信息。
- Remote-ID选项包含中继代理的DUID、端口、VLAN等信息。
- Subscriber-ID选项包含客户端的MAC信息。
其中,Interface-ID、Remote-ID、Subscriber-ID可配置于二层模式或三层模式的以太网接口。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入需要使能DHCPv6中继报文选项的接口。
- 执行命令dhcpv6 relay option-insert { interface-id mode { cn-telecom | tr-101 } | remote-id | subscriber-id }或者dhcpv6 relay option-insert { interface-id mode self-define self-define-value | remote-id mode self-define self-define-value },配置DHCPv6中继支持Interface-ID选项、Subscriber-ID选项和Remote-ID选项功能。
- 执行命令commit,提交配置。