10-DHCPv6配置
本章节下载: 10-DHCPv6配置 (651.66 KB)
目 录
2.4 配置DHCPv6客户端获取IPv6地址和网络配置参数
2.5 配置DHCPv6客户端获取IPv6前缀和网络配置参数
2.6 配置DHCPv6客户端同时获取IPv6地址、IPv6前缀和网络配置参数
2.7 配置DHCPv6客户端获取除地址/前缀外的其他网络配置参数
2.8 配置DHCPv6客户端发送DHCPv6报文的DSCP优先级
2.10.3 DHCPv6客户端同时申请地址、前缀及网络参数配置举例
3.1.1 保证客户端从合法的服务器获取IPv6地址或IPv6前缀
3.1.2 记录DHCPv6客户端IPv6地址与MAC地址的对应关系
3.1.3 记录DHCPv6客户端IPv6前缀与端口的对应关系
3.4.1 在普通组网中配置DHCPv6 Snooping基本功能
3.5 配置DHCPv6 Snooping支持Option 18功能
3.6 配置DHCPv6 Snooping支持Option 37功能
3.8 配置接口动态学习DHCPv6 Snooping表项的最大数目
3.10.1 开启DHCPv6 Snooping的DHCPv6请求方向报文检查功能
3.10.2 开启DHCPv6 Snooping报文阻断功能
3.11.1 开启DHCPv6 Snooping日志信息功能
3.14.1 DHCPv6 Snooping基本组网配置举例
3.14.2 按VLAN开启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无状态配置的具体过程为:
(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信息。
Option 79称为客户端链路地址选项(Client link layer address)。DHCPv6请求报文经过第一个DHCPv6中继时,该DHCPv6中继会学习报文中的DHCPv6客户端的MAC地址。DHCPv6中继生成和请求报文对应的Relay-Forward报文时,会将学到的MAC地址添加到报文的Option 79选项中,再将该报文转发给DHCPv6服务器。DHCPv6服务器可根据Option 79选项中的信息学习DHCPv6客户端的MAC地址,为IPv6地址/IPv6前缀分配或客户端合法性认证提供帮助。图1-8为Option 79选项格式。
图1-8 Option 79选项格式
各字段的解释如下:
· Option code:Option编号,取值为79。
· Option length:Option字段长度。
· Link-layer type:客户端链路层地址类型。
· Link-layer address:客户端链路层地址。
与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
· RFC 6939:Client Link-Layer Address Option in DHCPv6
设备作为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客户端配置任务如下:
(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客户端的统计信息。
表2-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客户端Switch从DHCPv6服务器获取IPv6地址,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名。
DHCPv6客户端根据获取到的网络配置参数自动创建DHCPv6选项组1。
图2-1 DHCPv6客户端申请地址及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 配置VLAN接口2作为DHCPv6客户端获取IPv6地址及网络参数,配置DHCPv6客户端支持地址快速分配功能,并配置根据获取到的网络配置参数自动创建DHCPv6选项组1。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address dhcp-alloc rapid-commit option-group 1
[Switch-Vlan-interface2] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6地址及网络参数。
[Switch] display ipv6 dhcp client
Vlan-interface2:
Type: Stateful client requesting address
State: OPEN
Client DUID: 0003000100e002000000
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:18
Server DUID: 0003000100e001000000
IA_NA: IAID 0x00000642, 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 08:06:57 (198 seconds left)
DNS server addresses:
2000::FF
Domain name:
example.com
SIP server addresses:
2:2::4
SIP server domain names:
bbb.com
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Switch] display ipv6 dhcp option-group 1
DHCPv6 option group: 1
DNS server addresses:
Type: Dynamic (DHCPv6 address allocation)
Interface: Vlan-interface2
2000::FF
Domain name:
Type: Dynamic (DHCPv6 address allocation)
Interface: Vlan-interface2
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 address allocation)
Interface: Vlan-interface2
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 address allocation)
Interface: Vlan-interface2
bbb.com
# 查看获取到的IPv6地址。
[Switch] display ipv6 interface brief
*down: administratively down
(s): spoofing
Interface Physical Protocol IPv6 Address
Vlan-interface2 up up 1:1::2
DHCPv6客户端Switch从DHCPv6服务器获取IPv6前缀,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名等。
DHCPv6客户端Switch根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1。
图2-2 DHCPv6客户端申请前缀及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 在客户端连接到DHCPv6服务器的VLAN接口2上配置IPv6地址。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address 1::2/48
# 配置VLAN接口2作为DHCPv6客户端获取IPv6前缀及网络参数,配置根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1,并配置DHCPv6客户端支持前缀快速分配功能。
[Switch-Vlan-interface2] ipv6 dhcp client pd 1 rapid-commit option-group 1
[Switch-Vlan-interface2] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6前缀及网络参数。
[Switch] display ipv6 dhcp client
Vlan-interface2:
Type: Stateful client requesting prefix
State: OPEN
Client DUID: 0003000100e002000000
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:18
Server DUID: 0003000100e001000000
IA_PD: IAID 0x00000642, 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.com
# 显示动态创建的IPv6前缀1的信息。
[Switch] display ipv6 prefix 1
Number: 1
Type : Dynamic
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Switch] display ipv6 dhcp option-group 1
DHCPv6 option group: 1
DNS server addresses:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Vlan-interface2
2000::FF
Domain name:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Vlan-interface2
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Vlan-interface2
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 prefix allocation)
Interface: Vlan-interface2
bbb.com
DHCPv6客户端Switch从DHCPv6服务器同时获取IPv6地址、IPv6前缀,以及网络配置参数:DNS服务器地址、域名后缀、SIP服务器地址和SIP服务器域名等。
DHCPv6客户端Switch根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1。
图2-3 DHCPv6客户端同时申请地址、前缀及网络参数配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
# 在客户端连接到DHCPv6服务器的VLAN接口2上配置IPv6地址。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address 1::2/48
# 配置VLAN接口2作为DHCPv6客户端获取IPv6前缀及网络参数,配置根据获取到的前缀自动创建IPv6前缀1,根据获取到的网络配置参数自动创建DHCPv6选项组1,并配置DHCPv6客户端支持前缀快速分配功能。
[Switch-Vlan-interface2] ipv6 dhcp client stateful prefix 1 rapid-commit option-group 1
[Switch-Vlan-interface2] quit
# 显示DHCPv6客户端的信息。可以看出DHCPv6客户端已经成功从DHCPv6服务器获取IPv6前缀及网络参数。
[Switch] display ipv6 dhcp client
Vlan-interface2:
Type: Stateful client requesting address and prefix
State: OPEN
Client DUID: 0003000100e002000000
Preferred server:
Reachable via address: FE80::2E0:1FF:FE00:18
Server DUID: 0003000100e001000000
IA_NA: IAID 0x00000642, 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 08:02:00 (199 seconds left)
IA_PD: IAID 0x00000642, 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 08:02:00 (199 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:1::2
# 显示动态创建的IPv6前缀1的信息。
[Switch] display ipv6 prefix 1
Number: 1
Type : Dynamic
Prefix: 12:34::/48
Preferred lifetime 100 sec, valid lifetime 200 sec
# 在DHCPv6客户端上开启DHCPv6服务器功能后,显示动态创建的DHCPv6选项组1的信息。
[Switch] display ipv6 dhcp option-group 1
DNS server addresses:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Vlan-interface2
2000::FF
Domain name:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Vlan-interface2
example.com
SIP server addresses:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Vlan-interface2
2:2::4
SIP server domain names:
Type: Dynamic (DHCPv6 address and prefix allocation)
Interface: Vlan-interface2
bbb.com
以上三条display命令可以看到客户端获取到的地址信息、前缀信息和网络参数。
· DHCPv6客户端Switch A通过DHCPv6无状态配置获取域名服务器、域名等信息;
· Switch B作为网关,周期性发布RA消息。
图2-4 DHCPv6无状态配置组网图
进行下面的配置前,需要先完成DHCPv6服务器的配置。
(1) 配置网关Switch B
# 配置VLAN接口2的IPv6地址。
<SwitchB> system-view
[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> system-view
[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
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 Snooping是DHCPv6的一种安全特性,用来保证客户端从合法的服务器获取IPv6地址或IPv6前缀,并可以记录DHCPv6客户端IPv6地址或IPv6前缀与MAC地址的对应关系。
网络中如果存在私自架设的非法DHCPv6服务器,则可能导致DHCPv6客户端获取错误的IPv6地址和网络配置参数,从而无法正常通信。为了使DHCPv6客户端能通过合法的DHCPv6服务器获取IPv6地址,DHCPv6 Snooping安全机制允许将端口设置为信任端口和不信任端口:
· 信任端口正常转发接收到的DHCPv6报文。
· 不信任端口接收到DHCPv6服务器发送的应答报文后,丢弃该报文。
如图3-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 Snooping通过监听DHCPv6报文中的前缀和收到DHCPv6请求报文的端口信息,记录DHCPv6 Snooping前缀表项,其中包括客户端获取到的IPv6前缀、租约信息、与DHCPv6客户端连接的端口及该端口所属的VLAN等信息。网络管理员可以通过display ipv6 dhcp snooping pd binding命令查看客户端获取的IPv6前缀信息,以便了解用户上网时所用的IPv6前缀,并对其进行管理和监控。
设备只有位于DHCPv6客户端与DHCPv6服务器之间,或DHCPv6客户端与DHCPv6中继之间时,DHCPv6 Snooping功能配置后才能正常工作;设备位于DHCPv6服务器与DHCPv6中继之间时,DHCPv6 Snooping功能配置后不能正常工作。
为了使DHCPv6客户端能从合法的DHCPv6服务器获取IPv6地址,必须将与合法DHCPv6服务器相连的端口设置为信任端口,且设置的信任端口和与DHCPv6客户端相连的端口必须在同一个VLAN内。
如果二层以太网接口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的DHCPv6 Snooping相关配置不会生效;该接口退出聚合组后,DHCPv6 Snooping的配置才会生效。
DHCPv6 Snooping配置任务如下:
(2) (可选)配置DHCPv6 Snooping支持Option 18功能
(3) (可选)配置DHCPv6 Snooping支持Option 37功能
(4) (可选)配置DHCPv6 Snooping表项固化功能
(5) (可选)配置接口动态学习DHCPv6 Snooping表项的最大数目
(6) (可选)开启DHCPv6 Snooping报文限速功能
(7) (可选)配置DHCPv6 Snooping安全功能
(8) (可选)开启DHCPv6 Snooping日志和告警功能
(9) (可选)关闭接口的DHCPv6 Snooping功能
在一台DHCPv6 Snooping设备上,如果全局开启了DHCPv6 Snooping功能,则设备上所有VLAN内的DHCPv6 Snooping功能也同时开启。
对于某些组网来说,管理员只需要在设备在某些特定VLAN内开启DHCPv6 Snooping功能,而不需要在整个设备上开启DHCPv6 Snooping功能。为了满足此需求,设备支持在指定VLAN内开启DHCPv6 Snooping功能,并在VLAN内配置DHCPv6 Snooping信任端口和开启端口的DHCPv6 Snooping表项记录功能。
在一台设备上,全局DHCPv6 Snooping功能和VLAN内的DHCPv6 Snooping功能关系如下:
· 如果全局开启了DHCPv6 Snooping基本功能(包括开启DHCPv6 Snooping功能、配置信任端口和配置DHCPv6 Snooping表项记录功能),只能使用对应的全局命令关闭功能,使用VLAN内的命令关闭功能不生效;
· 如果VLAN内开启了DHCPv6 Snooping基本功能(包括开启DHCPv6 Snooping功能、配置信任端口和配置DHCPv6 Snooping表项记录功能),只能使用对应的VLAN内命令关闭功能,使用全局命令关闭功能不生效。
(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
此接口为连接DHCP客户端的接口。
c. 开启端口的DHCPv6 Snooping表项记录功能。请至少选择其中一项进行配置。
- 开启端口的DHCPv6 Snooping地址表项记录功能。
ipv6 dhcp snooping binding record
缺省情况下,端口的DHCPv6 Snooping地址表项记录功能处于关闭状态。
- 开启端口的DHCPv6 Snooping前缀表项记录功能。
ipv6 dhcp snooping pd binding record
缺省情况下,端口的DHCPv6 Snooping前缀表项记录功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 在指定VLAN内开启DHCPv6 Snooping功能。
ipv6 dhcp snooping enable vlan vlan-id-list
缺省情况下,所有VLAN内的DHCPv6 Snooping功能处于关闭状态。
(3) 进入VLAN视图。
vlan vlan-id
该VLAN为开启了DHCPv6 Snooping功能的VLAN。
(4) 配置指定接口为VLAN下DHCPv6 Snooping功能的信任端口。
ipv6 dhcp snooping trust interface interface-type interface-number
缺省情况下,在开启DHCPv6 Snooping功能后,VLAN内的所有接口均为不信任端口。
(5) (可选)开启VLAN内的DHCPv6 Snooping表项记录功能。请至少选择其中一项进行配置。
¡ 开启VLAN内的DHCPv6 Snooping地址表项记录功能。
ipv6 dhcp snooping binding record
缺省情况下,VLAN内的DHCPv6 Snooping地址表项记录功能处于关闭状态。
¡ 开启VLAN内的DHCPv6 Snooping前缀表项记录功能。
ipv6 dhcp snooping pd binding record
缺省情况下,VLAN内的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报文,对网络造成攻击,DHCPv6 Snooping支持报文限速功能,限制接口接收DHCPv6报文的速率。当接口接收的DHCPv6报文速率超过限制的最高速率时,DHCPv6 Snooping设备将丢弃超过速率限制的报文。
如果二层以太网接口加入了聚合组,则该接口采用对应二层聚合接口下的DHCPv6 Snooping的报文限速配置。如果二层以太网接口离开聚合组,则该接口采用二层以太网接口下的DHCPv6 Snooping的报文限速配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCPv6 Snooping的报文限速功能。
ipv6 dhcp snooping rate-limit rate
缺省情况下,DHCPv6 Snooping的报文限速功能处于关闭状态,即不限制接口接收DHCPv6报文的速率。
本功能用来检查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报文。这时,用户可以在该端口上开启DHCP Snooping报文阻断功能。
当端口上开启了DHCPv6 Snooping报文阻断功能后,该端口收到的所有DHCPv6请求方向的报文都将被丢弃。
(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日志信息功能处于关闭状态。
当管理员在设备或VLAN中开启DHCPv6 Snooping功能后,该设备或整个VLAN内的所有接口也都开启了DHCPv6 Snooping功能。为了灵活控制DHCPv6 Snooping功能生效的接口范围,用户可以通过本功能关闭某个接口上的DHCPv6 Snooping功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图
interface interface-type interface-number
(3) 关闭接口的DHCPv6 Snooping功能。
ipv6 dhcp snooping disable
缺省情况下,若接口所在设备或VLAN上已经开启DHCPv6 Snooping功能,则接口的DHCPv6 Snooping功能处于开启状态;若接口所在设备或VLAN上未开启DHCPv6 Snooping功能,则接口的DHCPv6 Snooping功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示DHCPv6 Snooping的配置情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6 Snooping表项信息。
表3-1 DHCPv6 Snooping显示和维护
操作 |
命令 |
显示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 ] |
显示DHCPv6 Snooping前缀表项信息 |
display ipv6 dhcp snooping pd binding [ prefix prefix/prefix-length [ vlan vlan-id ] ] |
显示DHCPv6 Snooping信任端口信息 |
display ipv6 dhcp snooping trust |
清除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 ] |
清除DHCPv6 Snooping前缀表项信息 |
reset ipv6 dhcp snooping pd binding { all | prefix prefix/prefix-length [ vlan vlan-id ] } |
Switch B通过以太网端口GigabitEthernet1/0/1连接到合法DHCPv6服务器,通过以太网端口GigabitEthernet1/0/3连接到非法服务器,通过GigabitEthernet1/0/2连接到DHCPv6客户端。要求:
· 与合法DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。
· 记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。
图3-2 DHCPv6 Snooping组网示意图
# 开启DHCPv6 Snooping功能。
<SwitchB> system-view
[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表项。
Switch B通过以太网端口GigabitEthernet1/0/1连接到合法DHCPv6服务器,通过以太网端口GigabitEthernet1/0/3连接到非法DHCPv6服务器,通过GigabitEthernet1/0/2连接到DHCPv6客户端。要求:
· VLAN 100上与合法DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。
· 记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。
图3-3 按VLAN开启DHCPv6 Snooping配置组网示意图
# 配置端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3为Access端口,允许VLAN 100通过。
<SwitchB> system-view
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
[SwitchB-vlan100] quit
# 在VLAN100内开启DHCPv6 Snooping功能。
[SwitchB] ipv6 dhcp snooping enable vlan 100
# 指定端口GigabitEthernet1/0/1为VLAN 100下DHCPv6 Snooping功能的信任端口。
[SwitchB] vlan 100
[SwitchB-vlan100] ipv6 dhcp snooping trust interface gigabitethernet 1/0/1
# 在VLAN 100内开启DHCPv6 Snooping表项记录功能。
[SwitchB-vlan100] ipv6 dhcp snooping binding record
[SwitchB-vlan100] quit
配置完成后,DHCPv6客户端只能从合法DHCPv6服务器获取IPv6地址和其它配置信息,非法DHCPv6服务器无法为DHCPv6客户端分配IPv6地址和其他配置信息。且在Switch B上使用display ipv6 dhcp snooping binding可查询到获取到的DHCPv6 Snooping表项。
DHCPv6 guard功能可根据DHCPv6报文源地址、分配给用户的IPv6地址或DHCPv6服务器优先级等信息对DHCPv6应答报文进行过滤,保证DHCPv6客户端从指定的DHCPv6服务器上获取前缀、地址或其他参数。为了应对不同位置DHCPv6客户端的不同需求,管理员可在同一台设备上的不同VLAN或接口上引用不同的DHCPv6 guard策略。与DHCP snooping功能相比,DHCP guard功能可以对DHCP服务器进行更加精细地过滤。
设备收到DHCPv6请求方向报文后,DHCPv6 guard功能直接转发该报文;收到DHCPv6应答方向报文后,按照如下顺序过滤报文:
(1) 按照信任接口过滤报文:如果接口下或VLAN内所有接口下连接的都是符合要求的DHCPv6服务器,就需要在该接口或VLAN上引用的DHCPv6 guard策略中设置信任接口。否则,就不需要设置信任接口。DHCPv6 guard功能不检查信任接口收到的DHCPv6应答报文是否符合要求,直接转发这些报文。
(2) 按照设备角色过滤报文:
¡ 如图4-1所示,只有引用DHCPv6 guard策略的接口下未连接任何符合要求的DHCPv6服务器,管理员才能将DHCPv6 guard策略中的设备角色策略设置为DHCPv6客户端。从连接的设备角色为客户端的接口或VLAN收到DHCPv6应答方向报文后,DHCPv6 guard功能直接丢弃该报文。
¡ 如图4-2所示,只要引用DHCPv6 guard策略的接口下连接了符合要求的DHCPv6服务器,管理员就需要将DHCPv6 guard策略中的设备角色策略设置为DHCPv6服务器。从连接的设备角色为服务器的接口或VLAN收到DHCPv6应答方向报文后,DHCPv6 guard功能还支持按照如下DHCPv6 guard策略过滤报文:
- 对于Advertise报文,DHCPv6 guard功能既可根据ACL规则过滤掉不符合要求的DHCPv6服务器发送的应答报文;也可按照指定的DHCPv6服务器优先级过滤掉不符合要求的DHCPv6服务器发送的应答报文。
- 对于Reply报文,DHCPv6 guard功能可根据ACL规则过滤掉携带不符合要求的地址/前缀的DHCPv6应答报文。
DHCPv6应答报文只有通过所有DHCPv6 guard策略检查后,才能被转发给DHCPv6客户端。
配置了DHCPv6 guard功能的设备只有位于DHCPv6客户端与DHCPv6服务器之间,或DHCPv6客户端与DHCPv6中继之间时,DHCPv6 guard功能才能正常工作;设备位于DHCPv6服务器与DHCPv6中继之间时,DHCPv6 guard功能不能正常工作。
当DHCPv6 guard功能配置在DHCPv6 Snooping设备上时,DHCPv6 guard功能和DHCPv6 Snooping功能可以同时生效。只有从DHCPv6 Snooping的信任端口收到的DHCPv6应答报文,并通过DHCPv6 guard功能过滤后,才能被转发,否则报文会被直接丢弃。
DHCPv6 guard配置任务如下:
(1) 配置DHCPv6 guard策略
(2) 引用DHCPv6 guard策略。请至少选择其中一项进行配置。
如果接口和接口所在VLAN都引用了DHCPv6 guard策略,该接口使用接口引用的DHCPv6 guard策略。
(1) 进入系统视图。
system-view
(2) 创建DHCPv6 guard策略,并进入DHCPv6 guard策略视图。
ipv6 dhcp guard policy policy-name
(3) 设置引用DHCPv6 guard策略的接口或VLAN连接的设备角色。
device-role { client | server }
缺省情况下,引用DHCPv6 guard策略的接口或VLAN连接的设备角色为DHCPv6客户端。
(4) 设置DHCPv6 guard策略。请根据实际需求选择DHCPv6 guard策略。
¡ 设置DHCPv6服务器的匹配规则。
if-match server acl { acl-number | name acl-name }
缺省情况下,未设置DHCPv6服务器的匹配规则,DHCPv6 guard功能认为所有DHCPv6服务器都符合要求。
¡ 设置DHCPv6服务器分配地址/前缀的匹配规则。
if-match reply acl { acl-number | name acl-name }
缺省情况下,未设置DHCPv6服务器分配地址/前缀的匹配规则,DHCPv6 guard功能认为DHCPv6服务器分配的所有地址/前缀都符合要求。
¡ 设置DHCPv6服务器优先级的匹配范围。
preference { max max-value | min min-value } *
缺省情况下,未设置DHCPv6服务器优先级的匹配范围,优先级为1~255的DHCPv6服务器都符合要求。
¡ 设置信任接口。
trust port
缺省情况下,未设置信任接口。
system-view
(2) 进入二层接口视图。
interface interface-type interface-number
(3) 配置接口引用DHCPv6 guard策略。
ipv6 dhcp guard apply policy policy-name
缺省情况下,接口未引用DHCPv6 guard策略。
(1) 进入系统视图。
system-view
(2) 创建一个VLAN,并进入VLAN视图。
vlan vlan-number
(3) 配置VLAN引用DHCPv6 guard策略。
ipv6 dhcp guard apply policy policy-name
缺省情况下,VLAN未引用DHCPv6 guard策略。
在完成上述配置后,在任意视图下执行display命令可以显示DHCPv6 guard的配置情况,通过查看显示信息验证配置的效果。
表4-1 DHCPv6 guard显示和维护
操作 |
命令 |
显示DHCPv6 guard策略信息 |
display ipv6 dhcp guard policy [ policy-name ] |
Switch通过以太网端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3分别连接到DHCPv6服务器1、DHCPv6服务器2和DHCPv6服务器3,通过以太网端口GigabitEthernet1/0/4连接到DHCPv6客户端。所有DHCPv6服务器和DHCPv6客户端都在VLAN 100内。DHCPv6服务器1上可分配的地址段范围为2001::/64,DHCPv6服务器2上可分配的地址段范围为2001::/64,DHCPv6服务器3上可分配的地址段范围为2002::/64。要求:
· DHCPv6 guard转发服务器IPv6地址在FE80::/12范围内的DHCPv6服务器的响应报文,不转发服务器IPv6地址在FE80::/12范围外的DHCPv6服务器的响应报文。
· DHCPv6服务器只能为DHCPv6客户端分配前缀范围为2001::/16的IPv6地址。
图4-3 DHCPv6 guard组网示意图
进行下面的配置前,需要先完成所有DHCPv6服务器的配置。
# 创建VLAN100,并将接口GigabitEthernet1/0/1、GigabitEthernet1/0/2、GigabitEthernet1/0/3和GigabitEthernet1/0/4添加到VLAN100中。
<Switch> system-view
[Switch] vlan 100
[Switch-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[Switch-vlan100] quit
[Switch] acl ipv6 number 2001
# 创建规则1:仅允许源地址在FE80::/12网段的报文通过,拒绝源地址在其它网段的报文通过。
[Switch-acl-ipv6-basic-2001] rule 1 permit source fe80:: 12
[Switch-acl-ipv6-basic-2001] quit
# 创建一个编号为2002的IPv6基本ACL。
[Switch] acl ipv6 number 2002
# 创建规则1:仅允许源地址在2001::/16网段的报文通过,拒绝源地址在其它网段的报文通过。
[Switch-acl-ipv6-basic-2002] rule 1 permit source 2001:: 16
[Switch-acl-ipv6-basic-2002] quit
# 创建DHCPv6 guard策略p1。
[Switch] ipv6 dhcp guard policy p1
# 设置引用DHCPv6 guard策略的接口或VLAN连接的设备角色为DHCPv6服务器。
[Switch-dhcp6-guard-policy-p1] device-role server
# 设置DHCPv6服务器的ACL匹配规则编号为2001。
[Switch-dhcp6-guard-policy-p1] if-match server acl 2001
# 设置DHCPv6服务器分配地址/前缀的ACL匹配规则编号为2002。
[Switch-dhcp6-guard-policy-p1] if-match reply acl 2002
[Switch-dhcp6-guard-policy-p1] quit
# 配置DHCPv6 guard策略p2。
[Switch] ipv6 dhcp guard policy p2
# 设置引用DHCPv6 guard策略的接口或VLAN连接的设备角色为DHCPv6客户端。
[Switch-dhcp6-guard-policy-p2] device-role client
[Switch-dhcp6-guard-policy-p2] quit
# 在VLAN 100内引用DHCPv6 guard策略p1。
[Switch] vlan 100
[Switch-vlan100] ipv6 dhcp guard apply policy p1
[Switch-vlan100] quit
# 在接口GigabitEthernet1/0/4上引用DHCPv6 guard策略p2。
[Switch]interface gigabitethernet 1/0/4
[Switch-GigabitEthernet1/0/4] ipv6 dhcp guard apply policy p2
[Switch-GigabitEthernet1/0/4] quit
配置完成后,DHCPv6 guard功能只会将报文源地址在FE80::/12范围内,且分配地址的前缀在2001::/16范围内的DHCPv6应答报文转发给DHCPv6客户端,即只有DHCPv6服务器1发送的DHCPv6应答报文才会被转发给DHCPv6客户端,DHCPv6服务器2和DHCPv6服务器3发送的DHCPv6应答报文会被丢弃。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!