14-DHCPv6配置
本章节下载: 14-DHCPv6配置 (604.13 KB)
目 录
2.6 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配方式
2.7 配置DHCPv6策略动态分配IPv6地址、前缀和其他参数
2.8 开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能
2.9 配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
3.4.1 指定DHCPv6中继对应的DHCPv6服务器地址
3.5 配置DHCPv6中继为DHCPv6客户端分配的网关地址
3.7 配置DHCPv6中继发送DHCPv6报文的DSCP优先级
3.8 配置DHCPv6中继支持的Interface ID选项填充模式
3.9 开启DHCPv6中继支持添加Option 79选项功能
3.11.2 配置清除用户表项时通知DHCPv6服务器释放租约
4.5 配置DHCPv6客户端获取IPv6地址和网络配置参数
4.6 配置DHCPv6客户端获取IPv6前缀和网络配置参数
4.7 配置DHCPv6客户端同时获取IPv6地址、IPv6前缀和网络配置参数
4.8 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
4.9 配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)针对IPv6编址方案设计,用来为主机分配IPv6前缀、IPv6地址和其他网络配置参数。
与其他IPv6地址分配方式(包括手工配置、通过路由器公告消息中的网络前缀无状态自动配置等,关于这两种形式的配置,请参见“网络互通配置指导”中的“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客户端未收到服务器的应答报文,则到达有效生命期后,客户端停止使用该地址/前缀。有效生命期和首选生命期的详细介绍请参见“网络互通配置指导”中的“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无状态配置的具体过程为:
(1) 客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
(2) 服务器收到Information-request报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端。
(3) 客户端检查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地址等信息。
每个DHCPv6地址池都拥有一组可供分配的IPv6地址、IPv6前缀和网络配置参数。DHCPv6服务器从地址池中为客户端选择并分配IPv6地址、IPv6前缀及其他参数。
· 静态绑定IPv6地址:通过将客户端DUID和IAID与IPv6地址绑定的方式,实现为特定的客户端分配特定的IPv6地址;
· 动态选择IPv6地址:在地址池中指定可供分配的IPv6地址范围,当收到客户端的IPv6地址申请时,从该地址范围中动态选择IPv6地址,分配给该客户端。
在DHCPv6地址池中指定可供分配的IPv6地址范围时,需要:
(1) 指定动态分配的IPv6地址网段。
(2) 将该网段划分为非临时地址范围和临时地址范围。每个地址范围内的地址必须属于该网段,否则无法分配。
采用动态选择IPv6地址方式时,如果接收到客户端的地址申请,则DHCPv6服务器选择一个合适的地址池,并按照客户端申请的地址类型(非临时地址或临时地址),从该地址池对应的地址范围(非临时地址范围或临时地址范围)中选择合适的IPv6地址分配给客户端。
DHCPv6地址池的前缀管理方式有以下几种:
· 静态绑定IPv6前缀:通过将客户端DUID和IAID与IPv6前缀绑定的方式,实现为特定的客户端分配特定的IPv6前缀;
· 动态选择IPv6前缀:在地址池中指定可供分配的IPv6前缀范围,当收到客户端的IPv6前缀申请时,从该前缀范围中动态选择IPv6前缀,分配给该客户端。
在DHCPv6地址池中指定可供分配的IPv6前缀范围时,需要:
(1) 创建前缀池,指定前缀池中包括的IPv6前缀范围。
(2) 在地址池中指定动态分配的IPv6地址网段。
(3) 在地址池中引用前缀池。
DHCPv6服务器为客户端分配IPv6地址或前缀时,按照如下顺序选择地址池:
(1) 如果存在将客户端DUID、IAID与IPv6地址或前缀静态绑定的地址池,则选择该地址池,并将静态绑定的IPv6地址或前缀、及该地址池中的网络参数分配给客户端。
(2) 如果配置了DHCPv6策略,则DHCPv6客户端匹配某个DHCPv6用户类时,DHCPv6服务器选择与该DHCPv6用户类关联的DHCPv6地址池;DHCPv6客户端未匹配到DHCPv6用户类时,若配置了默认DHCPv6地址池,则选择该DHCPv6地址池;若未配置默认DHCPv6地址池或DHCPv6默认地址池不存在可供分配的IPv6地址或前缀时,IPv6地址、前缀或其他参数分配失败。
(3) 如果接收到DHCPv6请求报文的接口引用了某个地址池,则选择该地址池,从该地址池中选取IPv6地址或前缀、及网络配置参数分配给客户端。
(4) 如果上述条件均不满足,则使用以下方法选择DHCPv6地址池:
¡ 如果客户端与服务器在同一网段,则将接收到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) 配置为DHCPv6客户端分配IPv6前缀、IPv6地址和其他网络参数
请至少选择以下一项任务进行配置:
(2) 修改DHCPv6服务器的地址池选择方式
请至少选择以下一项任务进行配置:
¡ 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配方式
¡ 配置DHCPv6策略动态分配IPv6地址、前缀和其他参数
(3) (可选)开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能
(4) (可选)配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
(5) (可选)配置DHCPv6服务器租约固化功能
(6) (可选)配置DHCPv6服务器辅助路由信息
(7) (可选)开启DHCPv6服务器发布前缀路由功能
(8) (可选)配置DHCPv6厂商自定义选项
(9) (可选)配置DHCPv6服务器安全功能
(10) (可选)开启DHCPv6服务器的日志信息功能
可以通过以下两种方式配置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前缀与其他客户端绑定,或修改前缀的首选生命期和有效生命期。
· 一个地址池最多可以引用一个前缀池。
· 地址池可以引用并不存在的前缀池,但是,此时设备无法从该地址池中动态选择前缀分配给客户端。只有创建该前缀池后,才能支持前缀的动态选择。
· 不允许通过重复执行prefix-pool命令的方式修改地址池引用的前缀池、前缀的首选生命期和有效生命期。只有取消当前地址池引用的前缀池后,才能引用其他的前缀池,或修改首选生命期和有效生命期。
(1) 进入系统视图。
system-view
(2) (可选)配置不参与自动分配的IPv6前缀。
ipv6 dhcp server forbidden-prefix start-prefix/prefix-len [ end-prefix/prefix-len ]
缺省情况下,DHCPv6前缀池中的所有IPv6前缀都参与自动分配。
如果通过ipv6 dhcp server forbidden-prefix命令将已经静态绑定的IPv6前缀配置为不参与自动分配的前缀,则该前缀仍然可以分配给静态绑定的用户。
(3) 创建前缀池。
ipv6 dhcp prefix-pool prefix-pool-number prefix { prefix-number | prefix/prefix-len } assign-len assign-len
仅在DHCPv6服务器为DHCPv6客户端动态分配IPv6前缀时需要进行本配置。
当配置前缀池引用前缀编号时,必须保证指定前缀号有对应的生效前缀,否则配置不生效。
(4) 创建DHCPv6地址池,并进入DHCPv6地址池视图。
ipv6 dhcp pool pool-name
(5) 配置动态分配的IPv6地址网段。
network { prefix/prefix-length | prefix prefix-number [ sub-prefix/sub-prefix-length ] } [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6地址网段。
不能在不同地址池下使用network命令配置相同的地址网段。
不能在不同地址池下引用完全一致的前缀编号、子前缀和子前缀长度。
(6) 配置地址池引用前缀信息。请至少选择其中一项进行配置。
¡ 配置静态绑定前缀。
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 ]
缺省情况下,未配置可动态分配的前缀。
可以通过以下两种方式配置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服务器分配这些地址。
配置为DHCPv6客户端分配IPv6地址,需要注意:
· 一个地址池下只能配置一个IPv6非临时地址范围和一个IPv6临时地址范围。
· address range命令和temporary address range命令配置的地址范围应该在network命令配置的网段内,否则地址不能被分配。
· 一个地址池最多可以引用一个前缀池。地址池可以引用并不存在的前缀池,但是,此时设备无法从该地址池中动态选择前缀分配给客户端。只有创建该前缀池后,才能支持前缀的动态选择。
· 一个IPv6地址只能与一个客户端绑定。不允许通过重复执行static-bind address命令的方式修改IPv6地址与客户端的绑定关系、地址的首选生命期和有效生命期。只有删除该IPv6地址的静态绑定配置后,才能通过重新配置将该IPv6地址与其他客户端绑定,或修改地址的首选生命期和有效生命期。
· 每个DHCPv6地址池只能配置一个网段,在相同地址池中重复执行network命令,新的配置会覆盖已有配置。如果相邻两次network命令配置的地址网段相同而首选生命期和有效生命期不同,则新配置的首选生命期和有效生命期只能在新生成的绑定信息中生效,原有绑定信息不受影响。
(1) 进入系统视图。
system-view
(2) (可选)配置不参与自动分配的IPv6地址。
ipv6 dhcp server forbidden-address start-ipv6-address [ end-ipv6-address ]
缺省情况下,除DHCPv6服务器接口的IPv6地址外,DHCPv6地址池中的所有IPv6地址都参与自动分配。
如果通过ipv6 dhcp server forbidden-address命令将已经静态绑定的IPv6地址配置为不参与自动分配的地址,则该地址仍然可以分配给静态绑定的用户。
(3) 进入DHCPv6地址池视图。
ipv6 dhcp 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) (可选)配置动态分配的IPv6非临时地址范围。
address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置地址池中动态分配的IPv6非临时地址范围,整个网段内的单播地址都可以作为非临时地址分配给客户端。
(6) (可选)配置动态分配的IPv6临时地址范围。
temporary address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
缺省情况下,未配置动态分配的IPv6临时地址范围,不能分配IPv6临时地址。
(7) (可选)配置静态绑定的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地址。
除了分配IPv6地址和IPv6前缀外,DHCPv6地址池中还可以配置其他网络参数,如在一个地址池下最多可以配置8个DNS服务器地址、1个域名、1个AFTR(Address Family Transition Router,地址族转换路由器)域名、8个SIP服务器地址和8个SIP服务器域名等。
可以通过如下方式配置为DHCPv6客户端分配的网络参数:
· 直接在DHCPv6地址池视图下配置网络参数。
· 在DHCPv6选项组中配置网络参数,并在DHCPv6地址池视图下指定引用的DHCPv6选项组。
直接在DHCPv6地址池视图下配置的网络参数的优先级高于DHCPv6选项组中配置的网络参数。
(1) 进入系统视图。
system-view
(2) 进入DHCPv6地址池视图。
ipv6 dhcp 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自定义选项。
DHCPv6选项组的创建方法有以下几种:
· 通过ipv6 dhcp option-group命令手工创建静态DHCPv6选项组。
· 设备作为DHCPv6客户端获取IPv6地址、前缀和网络配置参数时,在DHCPv6客户端上根据获取的网络配置参数动态创建DHCPv6选项组。
手工创建的DHCPv6选项组优先级高于动态创建的DHCPv6选项组。本节只介绍手工创建静态DHCPv6选项组的方法,动态创建DHCPv6选项组的方法请参见“网络互通配置指导”中的“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) 进入DHCPv6地址池视图。
ipv6 dhcp pool pool-name
(9) 配置DHCPv6地址池引用选项组。
option-group option-group-number
缺省情况下,DHCPv6地址池未引用选项组。
配置接口工作在DHCPv6服务器模式后,当接口未引用地址池时,接口收到DHCPv6客户端发来的DHCPv6报文时,服务器根据该接口的地址或DHCPv6中继接口的地址选择最长匹配的DHCPv6地址池,并从该地址池中选择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) 配置地址池选择方式。请选择其中一项进行配置。
¡ 配置全局查找地址池,并指定全局查找DHCPv6地址池时地址或前缀分配方式。
ipv6 dhcp server { allow-hint | preference preference-value | rapid-commit } *
缺省情况下,支持接口全局查找DHCPv6地址池,但不支持期望地址/前缀分配和快速分配功能,且未指定服务器优先级。
¡ 配置接口引用DHCP地址池。
ipv6 dhcp server apply pool pool-name [ allow-hint | preference preference-value | rapid-commit ] *
创建DHCPv6策略,并在接口引用该策略后,该接口接收到DHCPv6请求报文时,则根据配置顺序逐个匹配DHCPv6策略中通过class pool命令指定的DHCPv6用户类。匹配情况如下:
· 若匹配DHCPv6用户类成功,当该DHCPv6用户类关联的DHCPv6地址池中存在可供分配的地址或前缀信息时,则从该DHCPv6地址池中分配IPv6地址、前缀或其他参数;当该DHCPv6用户类关联的DHCPv6地址池中不存在可供分配的地址或前缀信息时,IPv6地址、前缀或其他参数分配失败。
· 若匹配DHCPv6策略中的所有DHCPv6用户类失败,当配置了默认DHCPv6地址池时,则从该DHCPv6地址池中分配IPv6地址、前缀或网络参数;当未配置默认DHCPv6地址池或DHCPv6默认地址池不存在可供分配的IPv6地址或前缀时,IPv6地址、前缀或其他参数分配失败。
· 若接收DHCPv6请求报文的接口引用的DHCPv6策略不存在或匹配的DHCPv6用户类关联的DHCPv6地址池不存在,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用户类关联的DHCPv6地址池。
class class-name pool pool-name
缺省情况下,未指定DHCPv6用户类关联的DHCPv6地址池。
(7) (可选)指定默认DHCPv6地址池。
default pool pool-name
缺省情况下,未指定默认DHCPv6地址池。
(8) 退回系统视图。
quit
(9) 进入接口视图。
interface interface-type interface-number
(10) 指定接口引用的DHCPv6策略。
ipv6 dhcp apply-policy policy-name
缺省情况下,接口未引用DHCPv6策略。
目前,当网络中只存在一台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地址。
(1) 进入系统视图。
system-view
(2) 开启为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能。
ipv6 dhcp server multi-ip per-mac enable
缺省情况下,为MAC地址相同的DHCPv6客户端分配不同IPv6地址功能处于关闭状态。
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服务器表项信息的恢复。
如图2-4所示,在某些特定的业务模型(如BRAS组网)下,BRAS设备需要实时监测网络流量,并将统计数据发送到RADIUS服务器。该统计数据为用户上线以来产生的所有上下行流量数据,而不能是设备在某个时间段内发生的上下行流量数据。由于RADIUS服务器刷新计数的方法是覆盖以前数据而不是进行累加,所以当一台设备的上下行流量分别从两台BRAS设备上通过时,在RADIUS服务器上记录的数据就会相互覆盖,这时RADIUS服务器得到的统计数据是不准确的。为了提高准确性,需保证一台设备的上下行流量经过同一台BRAS设备。通过在BRAS设备上配置辅助路由信息,并对外发布此网段路由,引导指定网段的下行数据流量来保证上下行流量从一台BRAS设备经过。
图2-4 DHCPv6服务器辅助路由组网图
(1) 进入系统视图。
system-view
(2) 进入DHCPv6地址池视图。
ipv6 dhcp 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服务器辅助路由信息。
DHCPv6客户端获取到IPv6前缀后,通过该IPv6前缀为下行网络内的主机分配IPv6地址。此时,DHCPv6客户端与网络内的主机不在同一网段内,会导致主机无法与外界通信。为了解决这个问题,当DHCPv6服务器和DHCPv6客户端在同一个链路范围内时,需要在DHCPv6服务器上开启发布前缀路由功能。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器发布前缀路由功能。
ipv6 dhcp advertise pd-route
缺省情况下,DHCPv6服务器发布前缀路由功能处于关闭状态。
除了RFC规定的Option选项外,还有一部分Option选项可以通过手工定义的方式添加到DHCPv6服务器的属性列表中,这类选项被称为厂商自定义选项。DHCPv6服务器可以在应答报文中利用厂商自定义选项携带额外的网络配置信息(例如TFTP服务器名称、地址或设备的配置文件名等),DHCPv6客户端收到该应答报文后,通过解析自定义选项的填充内容获取需要的信息。
(1) 进入系统视图。
system-view
(2) 进入DHCPv6地址池视图。
ipv6 dhcp pool pool-name
(3) 配置DHCPv6厂商自定义选项,并进入厂商自定义模式视图。
vendor-specific vendor-id
缺省情况下,未配置DHCPv6厂商自定义选项。
(4) 配置DHCPv6厂商自定义子选项。
suboption suboption-code { address ipv6-address&<1-4> | ascii ascii-string | hex hex-string }
缺省情况下,未配置DHCPv6厂商自定义子选项。
DHCPv6服务器日志是为了满足管理员审计需求。设备生成DHCPv6日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“设备管理配置指导”中的“信息中心”。
大量DHCPv6客户端发生上下线操作时,DHCPv6服务器需要输出大量日志信息,这可能会降低设备性能,影响DHCPv6服务器分配IPv6前缀或IPv6地址的速度。为了避免该情况的发生,用户可以关闭DHCPv6服务器日志信息功能,使得DHCPv6服务器不再输出日志信息。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6服务器日志信息功能。
ipv6 dhcp log enable
缺省情况下,DHCPv6服务器日志信息功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示本设备的DUID。
display ipv6 dhcp duid
· 显示DHCPv6选项组信息。
display ipv6 dhcp option-group [ option-group-number ]
· 显示DHCPv6地址池的信息。
display ipv6 dhcp pool [ pool-name | all ]
· 显示前缀池的信息。
display ipv6 dhcp prefix-pool [ prefix-pool-number ]
· 显示接口上的DHCPv6服务器信息。
display ipv6 dhcp server [ interface interface-type interface-number ]
· 显示DHCPv6服务器表项备份信息。
display ipv6 dhcp server database
DHCPv6服务器重启或使用reset ipv6 dhcp server ip-in-use命令清除租约后,DHCPv6服务器上不存在租约信息。此时客户端如果发出续约请求将会被拒绝,客户端需要重新申请IPv6地址。
可在任意视图下执行以下命令:
· 显示DHCPv6地址绑定信息。
display ipv6 dhcp server ip-in-use [ address ipv6-address | pool pool-name ]
· 显示租约过期的DHCPv6地址绑定信息。
display ipv6 dhcp server expired [ address ipv6-address | pool pool-name ]
· 显示DHCPv6地址冲突信息。
display ipv6 dhcp server conflict [ address ipv6-address ]
请在用户视图下执行以下命令:
· 清除DHCPv6的正式地址绑定和临时地址绑定信息。
reset ipv6 dhcp server ip-in-use [ address ipv6-address | pool pool-name ]
· 清除租约过期的DHCPv6地址绑定信息。
reset ipv6 dhcp server expired [ address ipv6-address | pool pool-name ]
· 清除DHCPv6地址冲突信息。
reset ipv6 dhcp server conflict [ address ipv6-address ]
DHCPv6服务器重启或使用reset ipv6 dhcp server pd-in-use命令清除租约后,DHCPv6服务器上不存在租约信息。此时客户端如果发出续约请求将会被拒绝,客户端需要重新申请IPv6前缀。
可在任意视图下执行以下命令,显示DHCPv6前缀绑定信息。
display ipv6 dhcp server pd-in-use [ pool pool-name | prefix prefix/prefix-len ]
请在用户视图下执行以下命令,清除DHCPv6正式前缀绑定和临时前缀绑定信息。
reset ipv6 dhcp server pd-in-use [ pool pool-name | prefix prefix/prefix-len ]
可在任意视图下执行以下命令,显示DHCPv6服务器的报文统计信息。
display ipv6 dhcp server statistics [ pool pool-name ]
请在用户视图下执行以下命令,清除DHCPv6服务器的报文统计信息。
reset ipv6 dhcp server statistics
· 作为DHCPv6服务器的AC为AP分配1::1:0:0:0/96网段、客户端分配1::2:0:0:0/96网段的IPv6地址;
· AC的两个VLAN接口Vlan-interface10和Vlan-interface20的地址分别为1::1:0:0:1/96和1::2:0:0:1/96。
图2-5 DHCPv6动态分配IPv6地址组网图
(1) 配置DHCPv6 server各接口的IPv6地址。取消设备发布RA消息的抑制。配置被管理地址的配置标志位为1,即主机通过DHCPv6服务器获取IPv6地址。配置其他信息配置标志位为1,即主机通过DHCPv6服务器获取除IPv6地址以外的其他信息
<AC> system-view
[AC] vlan 10
[AC-vlan10] quit
[AC] vlan 20
[AC-vlan20] quit
[AC] interface vlan-interface 10
[AC-Vlan-interface10] ipv6 address 1::1:0:0:1/96
[AC-Vlan-interface10] undo ipv6 nd ra halt
[AC-Vlan-interface10] ipv6 nd autoconfig managed-address-flag
[AC-Vlan-interface10] ipv6 nd autoconfig other-flag
[AC-Vlan-interface10] quit
[AC] interface vlan-interface 20
[AC-Vlan-interface20] ipv6 address 1::2:0:0:1/96
[AC-Vlan-interface20] undo ipv6 nd ra halt
[AC-Vlan-interface20] ipv6 nd autoconfig managed-address-flag
[AC-Vlan-interface20] ipv6 nd autoconfig other-flag
[AC-Vlan-interface20] quit
(2) 配置端口属于VLAN及对应VLAN接口的IP地址
# 将与AP连接的接口加入VLAN10中。
[AC] interface gigabitethernet 1/0/2
[AC-GigabitEthernet1/0/2] port link-type trunk
[AC-GigabitEthernet1/0/2] port trunk permit vlan 10
[AC-GigabitEthernet1/0/2] port trunk pvid vlan 10
[AC-GigabitEthernet1/0/2] quit
(3) 配置无线服务
# 配置无线服务模板并把服务模板加入VLAN20中。
[AC] wlan service-template service
[AC-wlan-st-service] ssid service
[AC-wlan-st-service] vlan 20
[AC-wlan-st-service] service-template enable
[AC-wlan-st-service] quit
# 配置AP。
[AC] wlan ap ap1 model WA6320
[AC-wlan-ap-ap1] serial-id 219801A28N819CE0002T
[AC-wlan-ap-ap1] radio 1
[AC-wlan-ap-ap1-radio-1] service-template service1
[AC-wlan-ap-ap1-radio-1] radio enable
[AC-wlan-ap-ap1-radio-1] return
(4) 配置DHCPv6服务
# 配置接口Vlan-interface10和Vlan-interface20工作在DHCPv6服务器模式。
[AC] interface vlan-interface 10
[AC-Vlan-interface10] ipv6 dhcp select server
[AC-Vlan-interface10] quit
[AC] interface vlan-interface 20
[AC-Vlan-interface20] ipv6 dhcp select server
[AC-Vlan-interface20] quit
# 配置DHCPv6地址池1,为1::1:0:0:0/96网段的客户端分配IPv6地址等参数。
[AC] ipv6 dhcp pool 1
[AC-dhcp6-pool-1] network 1::1:0:0:0/96
[AC-dhcp6-pool-1] quit
# 配置DHCPv6地址池2,为1::2:0:0:0/96网段的客户端分配IPv6地址等参数。
[AC] ipv6 dhcp pool 2
[AC-dhcp6-pool-2] network 1::2:0:0:0/96
[AC-dhcp6-pool-2] quit
配置完成后,1::1:0:0:0/96和1::2:0:0:0/96网段的AP和客户端可以从DHCPv6服务器AC申请到相应网段的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中继配置任务如下:
(2) 指定DHCPv6服务器的地址
(3) (可选)配置DHCPv6中继为DHCPv6客户端分配的网关地址
(4) (可选)配置DHCPv6中继报文填充指定源地址
(5) (可选)配置DHCPv6中继发送DHCPv6报文的DSCP优先级
(6) (可选)配置DHCPv6中继支持的Interface ID选项填充模式
(7) (可选)开启DHCPv6中继支持添加Option 79选项功能
(8) (可选)开启DHCPv6中继发布前缀路由功能
(9) (可选)配置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服务器地址为链路本地地址或组播地址,则必须通过ipv6 dhcp relay server-address命令的interface参数指定出接口,否则报文可能会无法到达服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 指定DHCPv6中继对应的DHCPv6服务器地址。
ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number ]
缺省情况下,未指定DHCPv6中继对应的DHCPv6服务器地址。
对于某些特定的用户接入方式,基于用户接入位置信息的不同,网络中存在大量不同类型的用户。为了使相同类型的用户可以从指定的DHCPv6服务器申请IPv6地址等网络参数,模块根据用户注册信息,使不同的用户选择不同的DHCPv6中继地址池,并从中继地址池下配置的DHCPv6服务器获取IPv6地址等网络参数。
一台DHCPv6中继的一个接口下可能连接不同类型的用户,当DHCPv6中继转发DHCPv6客户端请求报文给DHCPv6服务器时,不能再以中继接口的IPv6地址作为选择地址池的依据。为了解决这个问题,需要使用gateway-list命令指定某个类型用户所在的网段,并将该地址添加到转发给DHCPv6服务器的报文的Link-address字段中,为DHCPv6服务器选择地址池提供依据。
· 为了提高可靠性,一个DHCPv6中继地址池下最多可以配置8个DHCPv6服务器地址,当DHCPv6客户端匹配该中继地址池后,DHCPv6中继会将DHCPv6客户端发来的DHCPv6报文转发给该地址池对应所有的DHCPv6服务器。
(1) 进入系统视图。
system-view
(2) 创建DHCPv6中继地址池,并进入DHCPv6中继地址池视图。
ipv6 dhcp pool pool-name
(3) 指定匹配该地址池的DHCPv6客户端所在的网段地址。
gateway-list ipv6-address&<1-8>
缺省情况下,未指定匹配该地址池的DHCPv6客户端所在的网段地址。
(4) 指定中继地址池对应的DHCPv6服务器地址。
remote-server ipv6-address [ interface interface-type interface-number ]
缺省情况下,未指定中继地址池对应的DHCPv6服务器的地址。
当未开启该功能时,DHCPv6中继收到DHCPv6客户端的请求报文后,只能将接口的第一个IPv6添加到报文中,然后转发给DHCPv6服务器。对于某些特定需求,DHCPv6中继需要添加指定的地址到报文中,这时就需要配置此功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置DHCPv6中继为DHCPv6客户端分配的网关地址。
ipv6 dhcp relay gateway ipv6-address
缺省情况下,DHCPv6中继分配接口下的第一个IPv6地址作为DHCPv6客户端的网关地址。
在某些组网中,DHCPv6中继接口到DHCPv6服务器没有可达路由,用户需要配置本命令选择DHCPv6中继设备上的另一个接口(一般选择的是Loopback口)的IPv6地址填充到转发给DHCPv6服务器的DHCPv6请求报文中的源地址字段。
DHCPv6中继上行报文源地址填充为用户指定的全球单播地址或指定接口的地址。
未配置该功能时,DHCPv6中继上行报文源地址默认填充为出接口的地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置指定源地址。
(4) ipv6 dhcp relay source-address { ipv6-address | interface interface-type interface-number }
(5) 缺省情况下,DHCPv6中继自动选择向DHCPv6服务器转发报文出接口的一个全球单播地址作为DHCPv6中继向DHCPv6服务器转发报文的源地址。
(6) 如果指定接口作为源地址,但该接口未配置全球单播地址,则选择默认出接口地址。
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 | interface }
缺省情况下,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中继上开启发布前缀路由功能。
(1) 进入系统视图。
system-view
(2) 开启DHCPv6中继发布前缀路由功能。
ipv6 dhcp advertise pd-route
缺省情况下,DHCPv6中继发布前缀路由功能处于关闭状态。
开启DHCPv6中继发布前缀路由功能前,需要先开启DHCPv6中继用户表项记录功能。
DHCPv6中继用户表项记录功能用来防止非法主机手工配置一个IPv6地址并访问外部网络。
开启该功能后,当DHCPv6客户端通过DHCPv6中继从DHCPv6服务器获取到IPv6地址/前缀时,DHCPv6中继可以自动记录DHCPv6客户端的IPv6地址/前缀和硬件地址的绑定关系,生成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的详细介绍请参见“网络互通配置指导”中的“IPv6基础”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6中继用户下线检测功能。
ipv6 dhcp client-detect
缺省情况下,DHCPv6中继用户下线检测功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示本设备DUID。
display ipv6 dhcp duid
· 显示DHCPv6中继上指定的DHCPv6服务器地址信息。
display ipv6 dhcp relay server-address [ interface interface-type interface-number ]
可在任意视图下执行以下命令,显示DHCPv6中继用户地址表项信息。
display ipv6 dhcp relay client-information address [ interface interface-type interface-number | ipv6 ipv6-address ]
请在用户视图下执行以下命令,清除DHCPv6中继用户地址表项信息。
reset ipv6 dhcp relay client-information address [ interface interface-type interface-number | ipv6 ipv6-address ]
可在任意视图下执行以下命令,显示DHCPv6中继用户前缀表项信息。
display ipv6 dhcp relay client-information pd [ interface interface-type interface-number | prefix prefix/prefix-len ]
请在用户视图下执行以下命令,清除DHCPv6中继用户前缀表项信息。
reset ipv6 dhcp relay client-information pd [ interface interface-type interface-number | prefix prefix/prefix-len ]
可在任意视图下执行以下命令,显示DHCPv6中继的报文统计信息。
display ipv6 dhcp relay statistics [ interface interface-type interface-number ]
请在用户视图下执行以下命令,清除DHCPv6中继的报文统计信息。
reset ipv6 dhcp relay statistics [ interface interface-type interface-number ]
· DHCPv6客户端所在网络地址为1::/64,DHCPv6服务器的地址为2::2/64。客户端和服务器不在同一个链路范围,需要通过DHCPv6中继转发报文。
· AC作为DHCPv6中继,为客户端和服务器转发报文。
· AC同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。RA消息的详细介绍,请参见“网络互通配置指导”中的“IPv6基础”。
图3-3 DHCPv6中继组网图
# 配置AC基本功能(详细介绍请参见“WLAN接入配置指导”中的“WLAN接入”)(略)
# 配置VLAN接口2和VLAN接口3的IPv6地址。取消设备发布RA消息的抑制。配置被管理地址的配置标志位为1,即主机通过DHCPv6服务器获取IPv6地址。配置其他信息配置标志位为1,即主机通过DHCPv6服务器获取除IPv6地址以外的其他信息
<AC> system-view
[AC] interface vlan-interface 2
[AC-Vlan-interface2] ipv6 address 2::1 64
[AC-Vlan-interface2] quit
[AC] interface vlan-interface 3
[AC-Vlan-interface3] ipv6 address 1::1 64
[AC-Vlan-interface3] undo ipv6 nd ra halt
[AC-Vlan-interface3] ipv6 nd autoconfig managed-address-flag
[AC-Vlan-interface3] ipv6 nd autoconfig other-flag
# 配置VLAN接口3工作在DHCPv6中继模式,并指定DHCPv6服务器地址。
[AC-Vlan-interface3] ipv6 dhcp select relay
[AC-Vlan-interface3] ipv6 dhcp relay server-address 2::2
# 完成上述配置后,查看DHCPv6中继上指定的DHCPv6服务器地址信息。
[AC-Vlan-interface3] display ipv6 dhcp relay server-address
Interface: Vlan-interface3
Server address Outgoing Interface
2::2
# 查看DHCPv6中继相关报文的统计信息。
[AC-Vlan-interface3] display ipv6 dhcp relay 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命令的详细介绍请参见“网络互通命令参考”中的“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。
可在任意视图下执行以下命令,显示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 ]
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!