11-DHCPv6配置
本章节下载: 11-DHCPv6配置 (583.36 KB)
2.2.5 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配策略
2.2.6 配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
3.3.3 配置DHCPv6中继发送DHCPv6报文的DSCP优先级
4.2.2 配置DHCPv6客户端获取IPv6地址和网络配置参数
4.2.3 配置DHCPv6客户端获取IPv6前缀和网络配置参数
4.2.4 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
4.2.5 配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
5.4 配置DHCPv6 Snooping支持Option 18和Option 37功能
5.6 配置接口动态学习DHCPv6 Snooping表项的最大数目
5.8 启用DHCPv6 Snooping的DHCPv6请求方向报文检查功能
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的,为主机分配IPv6前缀、IPv6地址和其他网络配置参数的协议。
与其他IPv6地址分配方式(包括手工配置、通过路由器公告消息中的网络前缀无状态自动配置等,关于这两种形式的配置,请参见“三层技术-IP业务配置指导”中的“IPv6基础”)相比,DHCPv6具有以下优点:
· 更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。
· 除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名后缀等网络配置参数。
DHCPv6服务器为客户端分配地址/前缀的过程分为两类:
图1-1 地址/前缀快速分配过程
(2) DHCPv6客户端在向DHCPv6服务器发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和其他网络配置参数。
(3) 如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用“1.2.2 交互四个消息的分配过程”为客户端分配IPv6地址/前缀和其他网络配置参数。
DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数 |
||
如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数 |
||
如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数 |
||
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无状态配置。地址无状态自动配置是指节点根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。详细介绍请参见“三层技术-IP业务配置指导”的“IPv6基础”。
DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA(Router Advertisement,路由器通告)报文中M标志位(Managed address configuration flag,被管理地址配置标志位)取值为0、O标志位(Other stateful configuration flag,其他配置标志位)取值为1,则DHCPv6客户端会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。
图1-5 DHCPv6无状态配置工作过程
(1) 客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
(2) 服务器收到Information-request报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端。
(3) 客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。如果接收到多个与请求相符的Reply报文,客户端将选择最先收到的Reply报文,并根据该报文中提供的参数完成客户端无状态配置。
与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服务器功能中所指的“接口”包括VLAN接口、三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网接口配置”。
DHCPv6服务器可以为客户端分配IPv6地址/前缀和其他网络配置参数。
图2-1 DHCPv6服务器地址和其他网络配置参数分配应用环境
如图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前缀及其他参数。
DHCPv6地址池的地址管理方式有以下几种:静态绑定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地址网段。
DHCPv6服务器为客户端分配IPv6地址或前缀时,地址池的选择原则如下:
(1) 如果存在将客户端DUID、IAID与IPv6地址或前缀静态绑定的地址池,则选择该地址池,并将静态绑定的IPv6地址或前缀、及该地址池中的网络参数分配给客户端。
(2) 如果接收到DHCPv6请求报文的接口引用了某个地址池,则选择该地址池,从该地址池中选取IPv6地址或前缀、及网络配置参数分配给客户端。
(3) 如果不存在静态绑定的地址池,且接收到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;
(6) 地址池/前缀池中与客户端期望地址/前缀匹配的空闲地址/前缀;
(7) 地址池/前缀池中的其他空闲地址/前缀;
(8) 如果未找到可用的地址/前缀,则依次查询租约过期地址/前缀、曾经发生过冲突的地址,如果找到则进行分配,否则将不予处理。
如果客户端的网段发生变化,服务器不会为客户端分配曾经分配给它的地址/前缀,而是从匹配新网段的地址池中重新选择地址/前缀等信息。
使用曾经发生过冲突的IPv6地址时,只有冲突状态超过一小时的地址租约才能够被服务器分配给新的DHCPv6客户端。
表2-1 DHCPv6服务器配置任务简介
配置为DHCPv6客户端分配IPv6前缀 |
||
配置为DHCPv6客户端分配IPv6地址 |
||
配置为DHCPv6客户端分配网络参数 |
||
配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配策略 |
||
配置DHCPv6服务器发送DHCPv6报文的DSCP优先级 |
可以通过以下两种方式配置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命令的方式修改地址池引用的前缀池、前缀的首选生命期和有效生命期。只有取消当前地址池引用的前缀池后,才能引用其他的前缀池,或修改首选生命期和有效生命期。
表2-2 配置为DHCPv6客户端分配IPv6前缀
ipv6 dhcp server forbidden-prefix start-prefix/prefix-len [ end-prefix/prefix-len ] |
缺省情况下,DHCPv6前缀池中的所有IPv6前缀都参与自动分配 如果通过ipv6 dhcp server forbidden-prefix命令将已经静态绑定的IPv6前缀配置为不参与自动分配的前缀,则该前缀仍然可以分配给静态绑定的用户 多次执行ipv6 dhcp server forbidden-prefix命令,可以配置多个不参与自动分配的IPv6前缀段 |
|
ipv6 dhcp prefix-pool prefix-pool-number prefix prefix/prefix-len assign-len assign-len |
DHCPv6服务器为DHCPv6客户端动态分配IPv6前缀时,为必选;其他情况下,不需要进行本配置 |
|
创建DHCPv6地址池,并进入DHCPv6地址池视图 |
ipv6 dhcp pool pool-name |
|
配置动态分配的IPv6地址网段 |
network prefix/prefix-length [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
|
重复执行static-bind prefix命令,可以配置多个静态绑定的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服务器分配这些地址。
配置为DHCPv6客户端分配IPv6地址,需要注意:
· 一个地址池下只能配置一个IPv6非临时地址范围和一个IPv6临时地址范围。
· address range命令和temporary address range命令配置的地址范围应该在network命令配置的网段内,否则地址不能被分配。
· 一个地址池最多可以引用一个前缀池。地址池可以引用并不存在的前缀池,但是,此时设备无法从该地址池中动态选择前缀分配给客户端。只有创建该前缀池后,才能支持前缀的动态选择。
· 一个IPv6地址只能与一个客户端绑定。不允许通过重复执行static-bind address命令的方式修改IPv6地址与客户端的绑定关系、地址的首选生命期和有效生命期。只有删除该IPv6地址的静态绑定配置后,才能通过重新配置将该IPv6地址与其他客户端绑定,或修改地址的首选生命期和有效生命期。
· 每个DHCPv6地址池只能配置一个网段,在相同地址池中重复执行network命令,新的配置会覆盖已有配置。如果相邻两次network命令配置的地址网段相同而首选生命期和有效生命期不同,则新配置的首选生命期和有效生命期只能在新生成的绑定信息中生效,原有绑定信息不受影响。
表2-3 配置为DHCPv6客户端分配IPv6地址
ipv6 dhcp server forbidden-address start-ipv6-address [ end-ipv6-address ] |
缺省情况下,除DHCPv6服务器接口的IPv6地址外,DHCPv6地址池中的所有IPv6地址都参与自动分配 如果通过ipv6 dhcp server forbidden-address命令将已经静态绑定的IPv6地址配置为不参与自动分配的地址,则该地址仍然可以分配给静态绑定的用户 多次执行ipv6 dhcp server forbidden-address命令,可以配置多个不参与自动分配的IPv6地址段 |
|
创建DHCPv6地址池,并进入DHCPv6地址池视图 |
ipv6 dhcp pool pool-name |
|
配置动态分配的IPv6地址网段 |
network prefix/prefix-length [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
不能在不同地址池下使用network命令配置相同的地址网段 |
(可选)配置动态分配的IPv6非临时地址范围 |
address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
缺省情况下,没有配置地址池中动态分配的IPv6非临时地址范围,整个网段内的单播地址都可以作为非临时地址分配给客户端 |
(可选)配置动态分配的IPv6临时地址范围 |
temporary address range start-ipv6-address end-ipv6-adddress [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
缺省情况下,没有配置动态分配的IPv6临时地址范围,不能分配IPv6临时地址 |
static-bind address ipv6-address/addr-prefix-length duid duid [ iaid iaid ] [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
重复执行static-bind address命令,可以配置多个静态绑定的IPv6地址 |
除了分配IPv6地址和IPv6前缀外,DHCPv6地址池中还可以配置其他网络参数,如在一个地址池下最多可以配置8个DNS服务器地址、1个域名后缀、8个SIP服务器地址和8个SIP服务器域名等。
表2-4 配置为DHCPv6客户端分配网络参数
创建DHCPv6地址池,并进入DHCPv6地址池视图 |
ipv6 dhcp pool pool-name |
|
配置动态分配的IPv6地址网段 |
network prefix/prefix-length [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
|
(可选)配置为客户端分配的DNS服务器地址 |
dns-server ipv6-address |
缺省情况下,没有指定为客户端分配的DNS服务器地址 |
domain-name domain-name |
||
(可选)配置为客户端分配的SIP服务器地址或域名 |
sip-server { address ipv6-address | domain-name domain-name } |
缺省情况下,没有指定为客户端分配的SIP服务器地址或域名 |
(可选)配置DHCPv6自定义选项 |
option code hex hex-string |
缺省情况下,没有配置DHCPv6自定义选项 |
配置接口工作在DHCPv6服务器模式后,当接口未引用地址池时,接口收到DHCPv6客户端发来的DHCPv6报文时,服务器根据该接口的地址或DHCPv6中继接口的地址选择最长匹配的DHCPv6地址池,并从该地址池中选择IPv6地址或前缀分配给客户端。当接口引用地址池时,则从引用的地址池中选择IPv6地址或前缀分配给客户端。如果引用的地址池中不存在可供分配的IPv6地址或前缀,则设备将无法为客户端分配IPv6地址或前缀。
配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配策略时,接口可以引用并不存在的地址池,但是,此时该接口无法为客户端分配前缀等信息。只有创建该地址池后,才能为客户端分配前缀等信息。
表2-5 配置接口工作在DHCPv6服务器模式,并配置地址/前缀分配策略
配置接口工作在DHCPv6服务器模式 |
缺省情况下,接口未工作在DHCPv6服务器模式,也未工作在DHCPv6中继模式,接口接收到DHCPv6客户端发来的DHCPv6报文后,丢弃该报文 |
|
配置全局查找地址池,并指定全局查找DHCPv6地址池时地址或前缀分配策略 |
ipv6 dhcp server { allow-hint | preference preference-value | rapid-commit } * |
缺省情况下,不支持期望地址/前缀分配,缺省优先级为0,不支持快速分配 多次执行ipv6 dhcp server命令,新的配置会覆盖已有配置 一个接口上最多只能引用一个地址池,如果多次执行ipv6 dhcp server apply pool命令,新的配置会覆盖已有配置 |
配置接口引用DHCP地址池 |
ipv6 dhcp server apply pool pool-name [ allow-hint | preference preference-value | rapid-commit ] * |
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6服务器发送的DHCPv6报文的DSCP优先级。
表2-6 配置DHCPv6服务器发送DHCPv6报文的DSCP优先级
配置DHCPv6服务器发送DHCPv6报文的DSCP优先级 |
缺省情况下,DHCPv6服务器发送的DHCPv6报文的DSCP优先级为56 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6服务器的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6服务器的统计信息。
表2-7 DHCPv6服务器显示和维护
显示DHCPv6地址池的信息 |
|
display ipv6 dhcp prefix-pool [ prefix-pool-number ] |
|
显示接口上的DHCPv6服务器信息 |
display ipv6 dhcp server [ interface interface-type interface-number ] |
显示DHCPv6地址冲突信息 |
display ipv6 dhcp server conflict [ address ipv6-address ] |
显示租约过期的DHCPv6地址绑定信息 |
display ipv6 dhcp server expired [ address ipv6-address | pool pool-name ] |
显示DHCPv6地址绑定信息 |
display ipv6 dhcp server ip-in-use [ address ipv6-address | pool pool-name ] |
显示DHCPv6前缀绑定信息 |
display 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 conflict [ address ipv6-address ] |
清除租约过期的DHCPv6地址绑定信息 |
reset ipv6 dhcp server expired [ address ipv6-address | pool pool-name ] |
清除DHCPv6的正式地址绑定和临时地址绑定信息 |
reset ipv6 dhcp server ip-in-use [ address ipv6-address | pool pool-name ] |
清除DHCPv6正式前缀绑定和临时前缀绑定信息 |
reset ipv6 dhcp server pd-in-use [ pool pool-name | prefix prefix/prefix-len ] |
清除DHCPv6服务器的报文统计信息 |
DHCPv6客户端从DHCPv6服务器获取IPv6地址前缀,以及网络配置参数:DNS服务器地址、域名、SIP服务器地址和SIP服务器域名。其中:
· Switch作为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.com。
· SIP服务器地址为2:2::4,域名为bbb.com。
图2-4 DHCPv6服务器配置组网图
(1) 配置DHCPv6服务器
# 配置VLAN接口2的IPv6地址。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address 1::1/64
[Switch-Vlan-interface2] quit
# 配置前缀池1,包含的前缀为2001:0410::/32,分配的前缀长度为48。
[Switch] ipv6 dhcp prefix-pool 1 prefix 2001:0410::/32 assign-len 48
# 创建地址池1。
# 配置地址池1网段为1::/64,与VLAN接口2地址所属的网段相同。
[Switch-dhcp6-pool-1] network 1::/64
# 配置地址池1引用已存在的前缀池1,并设置动态分配前缀的首选生命期为1天,有效生命期为3天。
[Switch-dhcp6-pool-1] prefix-pool 1 preferred-lifetime 86400 valid-lifetime 259200
# 在地址池1中配置静态绑定前缀:绑定的前缀为2001:0410:0201::/48,绑定的客户端DUID为00030001CA0006A40000,并设置首选生命期为1天,有效生命期为3天。
# 配置为客户端分配的DNS服务器地址为2:2::3。
[Switch-dhcp6-pool-1] dns-server 2:2::3
# 配置为客户端分配的域名为aaa.com。
[Switch-dhcp6-pool-1] domain-name aaa.com
# 配置为客户端分配的SIP服务器地址为2:2::4,域名为bbb.com。
[Switch-dhcp6-pool-1] sip-server address 2:2::4
[Switch-dhcp6-pool-1] sip-server domain-name bbb.com
[Switch-dhcp6-pool-1] quit
# 配置VLAN接口2工作在DHCPv6服务器模式,并在该接口使能期望前缀分配和前缀快速分配功能,并将优先级设置为最高。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 dhcp select server
[Switch-Vlan-interface2] ipv6 dhcp server allow-hint preference 255 rapid-commit
# 完成上述配置后,查看VLAN接口2上的DHCPv6服务器配置信息。
[Switch-Vlan-interface2] display ipv6 dhcp server interface vlan-interface 2
Using pool: global
Preference value: 255
Allow-hint: Enabled
Rapid-commit: Enabled
# 显示地址池1的信息。
[Switch-Vlan-interface2] display ipv6 dhcp pool 1
DHCPv6 pool: 1
Network: 1::/64
Preferred lifetime 604800, valid lifetime 2592000
Prefix pool: 1
Preferred lifetime 86400, valid lifetime 259200
Static bindings:
DUID: 00030001ca0006a40000
IAID: Not configured
Prefix: 2001:410:201::/48
Preferred lifetime 86400, valid lifetime 259200
DNS server addresses:
2:2::3
Domain name:
aaa.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.com
# 显示前缀池1的信息。
[Switch-Vlan-interface2] 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前缀后,显示前缀绑定信息。
[Switch-Vlan-interface2] 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 2009
# 其他客户端获取IPv6前缀后,显示前缀绑定信息。
[Switch-Vlan-interface2] 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 2009
2001:410::/48 Auto(C) Jul 10 20:44:05 2009
· 作为DHCPv6服务器的Switch A为网段1::1:0:0:0/96和1::2:0:0:0/96的客户端动态分配IPv6地址;
· Switch A的两个VLAN接口Vlan-interface10和Vlan-interface20的地址分别为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-5 DHCPv6组网图
(1) 配置DHCPv6 server各接口的IPv6地址(略)
(2) 配置DHCPv6服务
# 配置接口Vlan-interface10和Vlan-interface20工作在DHCPv6服务器模式。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ipv6 dhcp select server
[SwitchA-Vlan-interface10] quit
[SwitchA] interface vlan-interface20
[SwitchA-Vlan-interface20] ipv6 dhcp select server
[SwitchA-Vlan-interface20] quit
# 配置不参与自动分配的IPv6地址,以避免分配DNS服务器的地址。
[SwitchA] ipv6 dhcp server forbidden-address 1::1:0:0:2
[SwitchA] ipv6 dhcp server forbidden-address 1::2:0:0:2
# 配置DHCPv6地址池1,为1::1:0:0:0/96网段的客户端分配IPv6地址等参数。
[SwitchA-dhcp6-pool-1] network 1::1:0:0:0/96 preferred-lifetime 172800 valid-lifetime 345600
[SwitchA-dhcp6-pool-1] domain-name aabbcc.com
[SwitchA-dhcp6-pool-1] dns-server 1::1:0:0:2
[SwitchA-dhcp6-pool-1] quit
# 配置DHCPv6地址池2,为1::2:0:0:0/96网段的客户端分配IPv6地址等参数。
[SwitchA-dhcp6-pool-2] network 1::2:0:0:0/96 preferred-lifetime 432000 valid-lifetime 864000
[SwitchA-dhcp6-pool-2] domain-name aabbcc.com
[SwitchA-dhcp6-pool-2] dns-server 1::2:0:0:2
[SwitchA-dhcp6-pool-2] quit
配置完成后,1::1:0:0:0/96和1::2:0:0:0/96网段的客户端可以从DHCPv6服务器Switch A申请到相应网段的IPv6地址和网络配置参数。通过display ipv6 dhcp server ip-in-use命令可以查看DHCPv6服务器为客户端分配的IPv6地址。
DHCPv6中继功能中所指的“接口”包括VLAN接口、三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网接口配置”。
图3-1 DHCPv6中继应用组网图
DHCPv6客户端通常通过链路本地范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如图3-1所示,服务器和客户端不在同一个链路范围内时,服务器和客户端无法直接通信,需要通过DHCPv6中继来转发报文。部署DHCPv6中继可以避免在每个链路范围内都部署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地址和其他参数进行网络配置。
表3-1 DHCPv6中继配置任务简介
配置接口工作在DHCPv6中继模式 |
||
指定DHCPv6服务器的地址 |
||
配置DHCPv6中继发送DHCPv6报文的DSCP优先级 |
DHCPv6服务器和DHCPv6客户端位于不同网段时,需要配置DHCPv6中继在DHCPv6客户端和DHCPv6服务器之间转发报文。建议不要在一个接口上同时配置DHCPv6中继和DHCPv6客户端功能。
配置接口工作在DHCPv6中继模式 |
工作在DHCPv6中继模式的接口接收到DHCPv6客户端发来的报文后,将其封装在Relay-forward报文中,并发送给指定的DHCPv6服务器,由DHCPv6服务器为客户端分配IPv6地址、IPv6前缀和其他网络配置参数。
表3-3 指定DHCPv6服务器的地址
指定DHCPv6服务器的地址 |
ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number ] |
通过多次执行ipv6 dhcp relay server-address命令可以指定多个DHCPv6服务器,一个接口下最多可以指定8个DHCPv6服务器。DHCPv6中继接收到DHCPv6客户端报文后,将其转发给所有的DHCPv6服务器 如果指定的DHCPv6服务器地址为链路本地地址或组播地址,则必须通过ipv6 dhcp relay server-address命令的interface参数指定出接口,否则报文可能会无法到达服务器 |
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6中继发送的DHCPv6报文的DSCP优先级。
表3-4 配置DHCPv6中继发送DHCPv6报文的DSCP优先级
配置DHCPv6中继发送DHCPv6报文的DSCP优先级 |
缺省情况下,DHCPv6中继发送的DHCPv6报文的DSCP优先级为56 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6中继的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6中继的统计信息。
表3-5 DHCPv6中继显示和维护
显示DHCPv6中继上指定的DHCPv6服务器地址信息 |
display ipv6 dhcp relay server-address [ interface interface-type interface-number ] |
显示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中继转发报文。
· Switch A作为DHCPv6中继,为客户端和服务器转发报文。
· Switch A同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。RA消息的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
图3-3 DHCPv6中继组网图
(1) 配置Switch A作为DHCPv6中继
# 配置VLAN接口2和VLAN接口3的IPv6地址。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address 2::1 64
[SwitchA-Vlan-interface2] quit
[SwitchA] interface vlan-interface 3
[SwitchA-Vlan-interface3] ipv6 address 1::1 64
# 配置VLAN接口3工作在DHCPv6中继模式,并指定DHCPv6服务器地址。
[SwitchA-Vlan-interface3] ipv6 dhcp select relay
[SwitchA-Vlan-interface3] ipv6 dhcp relay server-address 2::2
(2) 配置Switch A作为网关
# 配置发布RA消息,并配置M和O标志位。
[SwitchA-Vlan-interface3] undo ipv6 nd ra halt
[SwitchA-Vlan-interface3] ipv6 nd autoconfig managed-address-flag
[SwitchA-Vlan-interface3] ipv6 nd autoconfig other-flag
# 完成上述配置后,查看DHCPv6中继上指定的DHCPv6服务器地址信息。
[SwitchA-Vlan-interface3] display ipv6 dhcp relay server-address
Interface: Vlan-interface3
Server address Outgoing Interface
2::2
# 查看DHCPv6中继相关报文的统计信息。
[SwitchA-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前缀和网络配置参数,并根据获取的前缀自动创建IPv6前缀。
· 通过DHCPv6无状态配置获取除IPv6地址/前缀外的其他网络配置参数。DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA报文中M标志位的取值为0、O标志位的取值为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。否则DHCPv6客户端不会开启无状态配置过程。
建议不要在一个接口上同时配置DHCPv6客户端和DHCPv6服务器功能,也不要在一个接口上同时配置DHCPv6客户端和DHCPv6中继功能,否则会影响功能正常使用。
表4-1 DHCPv6客户端配置任务简介
配置DHCPv6客户端获取IPv6地址和网络配置参数 |
||
配置DHCPv6客户端获取IPv6前缀和网络配置参数 |
||
配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数 |
||
配置DHCPv6客户端发送DHCPv6报文的DSCP优先级 |
表4-2 配置DHCPv6客户端获取IPv6地址和网络配置参数
VLAN接口视图 |
|||
配置接口作为DHCPv6客户端,通过DHCPv6方式获取IPv6地址和其他网络配置参数 |
缺省情况下,接口不会作为DHCPv6客户端获取IPv6地址和网络配置参数 |
表4-3 配置DHCPv6客户端获取IPv6前缀和网络配置参数
VLAN接口视图 |
|||
配置接口作为DHCPv6客户端,通过DHCPv6方式获取IPv6前缀和其他网络配置参数 |
缺省情况下,接口不会作为DHCPv6客户端获取IPv6前缀和网络配置参数 |
表4-4 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
VLAN接口视图 |
|||
使能IPv6地址无状态自动配置功能 |
如果只配置了ipv6 address auto命令,只有接收到的RA报文中M标志位的取值为0、O标志位的取值为1时,设备才会自动启动DHCPv6无状态配置功能 缺省情况下,接口不会作为DHCPv6客户端获取除地址/前缀外的其他网络配置参数 |
||
使能DHCPv6无状态配置功能 |
ipv6 address auto命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCPv6客户端发送的DHCPv6报文的DSCP优先级。
表4-5 配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级 |
ipv6 dhcp client dscp dscp-value |
缺省情况下,DHCPv6客户端发送的DHCPv6报文的DSCP优先级为56 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6客户端的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6客户端的统计信息。
表4-6 DHCPv6客户端显示和维护
DHCPv6客户端Switch从DHCPv6服务器获取IPv6地址,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名。
图4-1 DHCPv6客户端申请地址及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 配置VLAN接口2作为DHCPv6客户端获取IPv6地址及网络参数,并配置DHCPv6客户端支持地址快速分配功能。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address dhcp-alloc rapid-commit
[Switch-Vlan-interface2] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6地址及网络参数。
[Switch] display ipv6 dhcp client
Vlan-interface2:
Type: Stateful client requesting address
State: OPEN
IAID: 0xf0019
Client DUID: 00030001000fe2ff0000
Preferred server:
Reachable via address: FE80::200:5EFF:FE0A:2303
Server DUID: 00030001000fe20a0a00
Address: 1:2::2
Preferred lifetime 60 sec, valid lifetime 60 sec
T1 30 sec, T2 48 sec
Will expire on Feb 4 2013 at 15:37:20(50 seconds left)
DNS server addresses:
2000::FF
Domain name:
example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.com
# 查看获取到的IPv6地址。
[Switch] display ipv6 interface brief
*down: administratively down
(s): spoofing
Interface Physical Protocol IPv6 Address
Vlan-interface2 up up 1:2::2
DHCPv6客户端Switch从DHCPv6服务器获取IPv6前缀,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名等。
DHCPv6客户端Switch根据获取到的前缀自动创建IPv6前缀1。
图4-2 DHCPv6客户端申请前缀及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 在客户端连接到DHCPv6服务器的VLAN接口2上配置IPv6地址。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address 1::2/48
# 配置VLAN接口2作为DHCPv6客户端获取IPv6前缀及网络参数,配置根据获取到的前缀自动创建IPv6前缀1,并配置DHCPv6客户端支持前缀快速分配功能。
[Switch-Vlan-interface2] ipv6 dhcp client pd 1 rapid-commit
[Switch-Vlan-interface2] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6前缀及网络参数。
[Switch] display ipv6 dhcp client
Vlan-interface2:
Type: Stateful client requesting prefix
State: OPEN
IAID: 0xf0019
Client DUID: 00030001000fe2ff0000
Preferred server:
Reachable via address: FE80::200:5EFF:FE0A:2303
Server DUID: 00030001000fe20a0a00
Prefix: 12:34::/32
Preferred lifetime 90 sec, valid lifetime 90 sec
T1 45 sec, T2 72 sec
Will expire on Feb 4 2013 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.com
# 显示动态创建的IPv6前缀1的信息。
[Switch] display ipv6 prefix 1
Number: 1
Type : Dynamic
Prefix: 12:34::/32
Preferred lifetime 90 sec, valid lifetime 90 sec
· DHCPv6客户端Switch A通过DHCPv6无状态配置获取域名服务器、域名等信息;
· Switch B作为网关,周期性发布RA消息。
图4-3 DHCPv6无状态配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 配置VLAN接口2的IPv6地址。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ipv6 address 1::1 64
# 配置RA消息中O标志位为1。
[SwitchB-Vlan-interface2] ipv6 nd autoconfig other-flag
# 配置允许发送RA消息。
[SwitchB-Vlan-interface2] undo ipv6 nd ra halt
(2) 配置DHCPv6客户端Switch A
# 在VLAN接口2上使能IPv6地址无状态自动配置功能。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address auto
执行此命令后,如果VLAN接口2下没有配置地址,Switch A会自动生成本地链路地址,并主动发送RS(Router Solicitation,路由器请求)报文,请求网关Switch B立即回应RA报文。
如果收到的RA报文中M标志位为0、O标志位为1,Switch A就会启动DHCPv6客户端无状态配置。
# 可以通过display ipv6 dhcp client命令查看当前客户端的配置信息,如果从服务器成功获取了配置,将会有类似的显示信息。
[SwitchA-Vlan-interface2] display ipv6 dhcp client interface vlan-interface 2
Vlan-interface2:
Type: Stateless client
State: OPEN
IAID: 0xf0019
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.com
# 可以通过display ipv6 dhcp client statistics命令查看当前客户端的统计信息。
[SwitchA-Vlan-interface2] display ipv6 dhcp client statistics
Interface : Vlan-interface2
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客户端与DHCPv6服务器之间,或DHCPv6客户端与DHCPv6中继之间时,DHCPv6 Snooping功能配置后才能正常工作;设备位于DHCPv6服务器与DHCPv6中继之间时,DHCPv6 Snooping功能配置后不能正常工作。
DHCPv6 Snooping是DHCPv6的一种安全特性,具有如下功能:
网络中如果存在私自架设的非法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地址,并对其进行管理和监控。
表5-1 DHCPv6 Snooping配置任务简介
配置DHCPv6 Snooping支持Option 18与Option 37功能 |
||
配置DHCPv6 Snooping表项备份功能 |
||
配置接口动态学习DHCPv6 Snooping 表项的最大数目 |
||
配置DHCPv6 Snooping报文限速功能 |
||
启用DHCPv6 Snooping的DHCPv6请求方向报文检查功能 |
启用DHCPv6 Snooping功能,并正确地配置信任端口和非信任端口后,可以保证客户端从合法的服务器获取IPv6地址,配置DHCPv6 Snooping基本功能时,需要注意:
· 为了使DHCPv6客户端能从合法的DHCPv6服务器获取IPv6地址,必须将与合法DHCPv6服务器相连的端口设置为信任端口,且设置的信任端口和与DHCPv6客户端相连的端口必须在同一个VLAN内。
· 如果二层以太网接口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的DHCPv6 Snooping相关配置不会生效;该接口退出聚合组后,DHCPv6 Snooping的配置才会生效。
缺省情况下,DHCPv6 Snooping功能处于关闭状态 |
||
此接口为连接DHCPv6服务器的接口 |
||
缺省情况下,启用DHCPv6 Snooping功能后,设备的所有端口均为不信任端口 |
||
此接口为连接DHCPv6客户端的接口 |
||
(可选)启用端口的DHCPv6 Snooping表项记录功能 |
缺省情况下,在启用DHCPv6 Snooping功能后, 端口的DHCPv6 Snooping表项记录功能处于关闭状态 |
Option 18称为接口ID选项(Interface ID),DHCPv6 Snooping设备接收到DHCPv6客户端发送给DHCPv6服务器的请求报文后,在该报文中添加Option 18选项,并转发给DHCPv6服务器。服务器可根据Option 18选项中的客户端信息选择合适的地址池为DHCPv6客户端分配IPv6地址。图5-2为Option 18选项格式。
图5-2 Option 18选项格式
· Option code:Option编号。
· Option length:Option字段长度。
· Port index:DHCPv6 Snooping设备收到客户端请求报文的端口信息。
· VLAN ID:第一层VLAN信息。
· Second VLAN ID:第二层VLAN信息。
· DUID:DHCPv6客户端的DUID信息。
Option 37称为远程ID选项(Remote ID),DHCPv6 Snooping设备接收到DHCPv6客户端发送给DHCPv6服务器的请求报文后,在该报文中添加Option 37选项,并转发给DHCPv6服务器。服务器可根据Option37选项中的信息对DHCPv6客户端定位,对分配IPv6地址提供帮助。图5-3为Option 37选项格式。
图5-3 Option 37选项格式
· Option code:Option编号。
· Option length:Option字段长度。
· Enterprise number:企业编号。
· Port index:DHCPv6 Snooping设备收到客户端请求报文的端口信息。
· VLAN ID:第一层VLAN信息。
· Second VLAN ID:第二层VLAN信息。
· DUID:DHCPv6客户端的DUID信息。
选项格式中的Second VLAN ID字段为可选,如果DHCPv6报文中不含有Second Vlan,则Option 18或Option 37中也不包含Second VLAN ID内容。
表5-3 配置DHCPv6 Snooping支持Option 18和Option 37功能
启用DHCPv6 Snooping支持Option 18功能 |
缺省情况下,DHCPv6 Snooping支持Option 18功能处于关闭状态 |
||
(可选)配置Option 18选项中的DUID |
ipv6 dhcp snooping option interface-id [ vlan vlan-id ] string interface-id |
缺省情况下,Option 18选项中的DUID为本设备的DUID |
|
启用DHCPv6 Snooping支持Option 37功能 |
缺省情况下,DHCPv6 Snooping支持Option 37功能处于关闭状态 |
||
(可选)配置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表项不会丢失。
表5-4 配置DHCPv6 Snooping表项固化功能
指定存储DHCPv6 Snooping表项的文件名称 |
执行本命令后,会立即触发一次表项备份。之后,如果未配置ipv6 dhcp snooping binding database update interval命令,若表项发生变化,默认在300秒之后刷新存储文件;若表项未发生变化,则不再刷新存储文件。如果配置了ipv6 dhcp snooping binding database update interval命令,若表项发生变化,则到达刷新时间间隔后刷新存储文件;若表项未发生变化,则不再刷新存储文件 |
|
(可选)将当前的DHCPv6 Snooping表项保存到用户指定的文件中 |
||
(可选)启用刷新DHCPv6 Snooping表项存储文件的延迟时间 |
缺省情况下,若DHCPv6 Snooping表项不变化,则不刷新存储文件;若DHCPv6 Snooping表项发生变化,默认在300秒之后刷新存储文件 |
执行undo ipv6 dhcp snooping enable命令关闭DHCPv6 Snooping功能后,设备会删除所有DHCPv6 Snooping表项,文件中存储的DHCPv6 Snooping表项也将被删除。
通过本配置可以限制接口动态学习DHCPv6 Snooping表项的最大数目,以防止接口学习到大量DHCPv6 Snooping表项,占用过多的系统资源。
表5-5 配置接口动态学习DHCPv6 Snooping表项的最大数目
配置接口动态学习DHCPv6 Snooping表项的最大数目 |
为了避免非法用户发送大量的DHCPv6报文,对网络造成攻击,DHCPv6 Snooping支持报文限速功能,限制接口接收DHCPv6报文的速率。当接口接收的DHCPv6报文速率超过限制的最高速率时,DHCPv6 Snooping设备将丢弃超过速率限制的报文。
表5-6 配置DHCPv6 Snooping报文限速功能
配置DHCPv6 Snooping的报文限速功能 |
缺省情况下, DHCPv6 Snooping的报文限速功能处于关闭状态,即不限制接口接收DHCPv6报文的速率 只能在二层以太网接口和二层聚合接口上启用DHCPv6 Snooping的报文限速功能 如果二层以太网接口加入了聚合组,则该接口采用对应二层聚合接口下的DHCPv6 Snooping的报文限速配置。如果二层以太网接口离开聚合组,则该接口采用二层以太网接口下的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服务器。
表5-7 启用DHCPv6 Snooping的DHCPv6请求方向报文检查功能
启用DHCPv6 Snooping的DHCPv6请求方向报文检查功能 |
缺省情况下,DHCPv6 Snooping的DHCPv6请求方向报文检查功能处于关闭状态 只能在二层以太网接口和二层聚合接口上启用DHCPv6 Snooping的DHCPv6请求方向报文检查功能 |
在完成上述配置后,在任意视图下执行display命令可以显示DHCPv6 Snooping的配置情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6 Snooping表项信息。
表5-8 DHCPv6 Snooping显示和维护
Switch B通过以太网端口GigabitEthernet1/0/1连接到合法DHCPv6服务器,通过以太网端口GigabitEthernet1/0/3连接到非法服务器,通过GigabitEthernet1/0/2连接到DHCPv6客户端。要求:
· 与合法DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。
· 记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。
图5-4 DHCPv6 Snooping组网示意图
# 启用DHCPv6 Snooping功能。
[SwitchB] ipv6 dhcp snooping enable
# 配置GigabitEthernet1/0/1端口为信任端口。
[SwitchB] interface GigabitEthernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] ipv6 dhcp snooping trust
[SwitchB-GigabitEthernet1/0/1] quit
# 在GigabitEthernet1/0/2上启用安全表项功能。
[SwitchB]interface GigabitEthernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] ipv6 dhcp snooping binding record
[SwitchB-GigabitEthernet1/0/2] quit
配置完成后,DHCPv6客户端只能够从合法DHCPv6服务器获取IPv6地址和其他配置信息,非法DHCPv6服务器无法为DHCPv6客户端分配IPv6地址和其他配置信息。且使用display ipv6 dhcp snooping binding命令可以查看生成的DHCPv6 Snooping表项。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!