• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-三层技术-IP业务配置指导

目录

09-DHCPv6配置

本章节下载 09-DHCPv6配置  (490.1 KB)

09-DHCPv6配置

  录

1 DHCPv6简介

1.1 DHCPv6概述

1.2 DHCPv6地址/前缀分配过程

1.2.1 交互两个消息的快速分配过程

1.2.2 交互四个消息的分配过程

1.3 地址/前缀租约更新过程

1.4 DHCPv6无状态配置

1.4.1 DHCPv6无状态配置简介

1.4.2 DHCPv6无状态配置过程

1.5 协议规范

2 DHCPv6服务器配置

2.1 DHCPv6服务器简介

2.1.1 DHCPv6服务器应用环境

2.1.2 基本概念

2.1.3 前缀的选择过程

2.2 配置DHCPv6服务器

2.2.1 DHCPv6服务器配置任务简介

2.2.2 配置准备

2.2.3 使能DHCPv6服务器功能

2.2.4 创建前缀池

2.2.5 配置DHCPv6地址池

2.2.6 配置接口引用地址池

2.2.7 配置DHCPv6服务器发送的DHCPv6报文的DSCP优先级

2.3 DHCPv6服务器显示和维护

2.4 DHCPv6服务器典型配置举例

3 DHCPv6中继配置

3.1 DHCPv6中继简介

3.1.1 应用环境

3.1.2 DHCPv6中继的工作过程

3.2 配置DHCPv6中继

3.2.1 配置准备

3.2.2 配置步骤

3.3 配置DHCPv6中继发送的DHCPv6报文的DSCP优先级

3.4 DHCPv6中继显示和维护

3.5 DHCPv6中继典型配置举例

4 DHCPv6客户端配置

4.1 DHCPv6客户端简介

4.2 配置DHCPv6客户端

4.2.1 配置准备

4.2.2 配置步骤

4.3 配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级

4.4 DHCPv6客户端显示和维护

4.5 DHCPv6无状态配置典型配置举例

5 DHCPv6 Snooping配置

5.1 DHCPv6 Snooping简介

5.2 使能DHCPv6 Snooping

5.3 配置DHCPv6 Snooping信任端口

5.4 配置接口动态学习DHCPv6 Snooping表项的最大数目

5.5 配置DHCPv6 Snooping支持Option 18和Option 37

5.6 DHCPv6 Snooping显示和维护

5.7 DHCPv6 Snooping典型配置举例

5.7.1 组网需求

5.7.2 组网图

5.7.3 配置步骤

 


1 DHCPv6简介

1.1  DHCPv6概述

DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的,为主机分配IPv6前缀、IPv6地址和其他网络配置参数的协议。

与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:

·     更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。

·     为设备分配前缀,便于全网络的自动配置和管理。

·     除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名等网络配置参数。

1.2  DHCPv6地址/前缀分配过程

DHCPv6服务器为客户端分配地址/前缀的过程分为两类:

·     交互两个消息的快速分配过程

·     交互四个消息的分配过程

1.2.1  交互两个消息的快速分配过程

图1-1 地址/前缀快速分配过程

 

图1-1所示,地址/前缀快速分配过程为:

(1)     DHCPv6客户端在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数;

(2)     如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用“1.2.2  交互四个消息的分配过程”为客户端分配IPv6地址/前缀和其他网络配置参数。

1.2.2  交互四个消息的分配过程

交互四个消息的分配过程如图1-2所示。

图1-2 交互四个消息的分配过程

 

交互四个消息分配过程的简述如表1-1

表1-1 交互四个消息的分配过程

步骤

发送的消息

说明

(1)

Solicit

DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数

(2)

Advertise

如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数

(3)

Request

如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数

(4)

Reply

DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用

 

1.3  地址/前缀租约更新过程

DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限。租借期限由有效生命期(Valid Lifetime)决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要更新地址/前缀租约。

图1-3 通过Renew更新地址/前缀租约

 

图1-3所示,地址/前缀租借时间到达时间T1(推荐值为首选生命期Preferred Lifetime的一半)时,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基础”。

 

1.4  DHCPv6无状态配置

1.4.1  DHCPv6无状态配置简介

DHCPv6服务器可以为已经具有IPv6地址/前缀的客户端分配其他网络配置参数,该过程称为DHCPv6无状态配置。

DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA(Router Advertisement,路由器通告)报文中M标志位(Managed address configuration flag,被管理地址配置标志位)为0、O标志位(Other stateful configuration flag,其他配置标志位)为1,则DHCPv6客户端会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。

说明

地址无状态自动配置是指节点根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。详细介绍请参见“三层技术-IP业务配置指导”的“IPv6基础”。

 

1.4.2  DHCPv6无状态配置过程

图1-5 DHCPv6无状态配置工作过程

 

图1-5所示,DHCPv6无状态配置的具体过程为:

(1)     客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。

(2)     服务器收到Information-request报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端。

(3)     客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。如果接收到多个Reply报文,客户端将选择最先收到的Reply报文,并根据该报文中提供的参数完成客户端无状态配置。

1.5  协议规范

与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

 


2 DHCPv6服务器配置

2.1  DHCPv6服务器简介

2.1.1  DHCPv6服务器应用环境

图2-1 DHCPv6服务器应用组网图

 

图2-1所示,为了便于集中管理IPv6地址,简化网络配置,DHCPv6服务器可以用来为DHCPv6客户端分配IPv6前缀。DHCPv6客户端获取到IPv6前缀后,向所在网络发送包含该前缀信息的RA消息,以便网络内的主机根据该前缀自动配置IPv6地址。

说明

目前,设备作为DHCPv6服务器时,只能为DHCPv6客户端分配前缀,不能分配地址;且支持DHCPv6无状态配置,为DHCPv6客户端分配除IPv6地址/前缀外的其他网络配置参数。

 

2.1.2  基本概念

1. DHCPv6采用的组播地址

DHCPv6中采用组播地址FF05::1:3来表示站点本地范围内所有的DHCPv6服务器;采用组播地址FF02::1:2来表示链路本地范围内所有的DHCPv6服务器和中继。

2. DUID

DUID(DHCP Unique Identifier,DHCP唯一标识符)用来标识一台DHCPv6设备(包括客户端、服务器和中继)。

图2-2 DUID-LL结构

 

目前,设备采用RFC 3315规定的DUID-LL(DUID Based on Link-layer Address,基于链路层地址的DUID)作为DHCPv6设备的标识。DUID-LL的结构如图2-2所示:

·     DUID type:DUID类型。设备支持的DUID类型为DUID-LL,取值为0x0003。

·     Hardware type:硬件类型。设备支持的硬件类型为以太网,取值为0x0001。

·     Link layer address:链路层地址。取值为设备的桥MAC地址。

3. IA

IA(Identity Association,标识联盟)用于管理分配给客户端的一组地址和前缀等信息,通过IAID标识。一个客户端可以有多个IA,如客户端的每个接口拥有一个IA,用来管理该接口获取的地址和前缀等信息。

4. IAID

IAID是IA的标识符,由客户端选择。在一个客户端上不同IA的IAID不能相同。

5. PD

PD(Prefix Delegation,前缀授权)是DHCPv6服务器为分配的前缀创建的租约,前缀租约中记录了IPv6前缀、客户端DUID、IAID、有效时间、首选时间、租约过期时间、申请前缀的客户端的IPv6地址等信息。

2.1.3  前缀的选择过程

DHCPv6服务器从接口接收到客户端的请求后,从该接口应用的地址池中选择前缀和其他网络配置参数,分配给客户端。地址池既可以包含静态绑定前缀,用于为特定客户端分配固定前缀;也可以引用包含一定前缀范围的前缀池,用于动态选择可用前缀分配给客户端。

DHCPv6服务器按照如下顺序从地址池中为客户端选择匹配的前缀:

(1)     DUID、IAID与客户端DUID、IAID匹配,且与客户端期望前缀匹配的静态绑定前缀;

(2)     DUID、IAID与客户端DUID、IAID匹配的静态绑定前缀;

(3)     DUID与客户端的DUID匹配,且与客户端期望前缀匹配的静态绑定前缀,该前缀中未指定客户端的IAID;

(4)     DUID与客户端DUID匹配的静态绑定前缀,该前缀中未指定客户端的IAID;

(5)     前缀池中与客户端期望前缀匹配的空闲前缀;

(6)     前缀池中的其他空闲前缀。

2.2  配置DHCPv6服务器

2.2.1  DHCPv6服务器配置任务简介

表2-1 DHCPv6服务器配置任务简介

配置任务

说明

详细配置

使能DHCPv6服务器功能

必选

2.2.3 

创建前缀池

必选

2.2.4 

配置DHCPv6地址池

必选

2.2.5 

配置接口引用地址池

必选

2.2.6 

配置DHCPv6服务器发送的DHCPv6报文的DSCP优先级

可选

2.2.7 

 

2.2.2  配置准备

配置DHCPv6服务器功能之前,需要先执行ipv6命令使能IPv6报文收发功能。ipv6命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。

2.2.3  使能DHCPv6服务器功能

表2-2 使能DHCPv6服务器功能

操作

命令

说明

进入系统视图

system-view

-

使能DHCPv6服务器功能

ipv6 dhcp server enable

必选

缺省情况下,DHCPv6服务器功能处于关闭状态

 

2.2.4  创建前缀池

前缀池用来定义一个前缀范围。

表2-3 创建前缀池

操作

命令

说明

进入系统视图

system-view

-

创建前缀池

ipv6 dhcp prefix-pool prefix-pool-number prefix prefix/prefix-len assign-len assign-len

必选

缺省情况下,设备上不存在任何前缀池

 

2.2.5  配置DHCPv6地址池

DHCPv6地址池中包括了供分配的前缀和网络配置参数等信息,如DNS服务器地址、域名、SIP服务器地址、SIP服务器域名和AFTR(Address Family Transition Router,地址族转换路由器)地址。DHCPv6服务器从地址池中选择前缀和其他网络配置参数,分配给客户端。

表2-4 配置DHCPv6地址池

操作

命令

说明

进入系统视图

system-view

-

创建DHCPv6地址池,并进入DHCPv6地址池视图

ipv6 dhcp pool pool-number

必选

缺省情况下,设备上不存在任何DHCPv6地址池

配置静态绑定前缀

static-bind prefix prefix/prefix-len duid duid [ iaid iaid ] [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]

二者至少选择其一

缺省情况下,没有指定地址池分配的前缀

配置地址池引用前缀池

prefix-pool prefix-pool-number [ 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服务器地址或域名

配置为客户端分配的AFTR地址

ds-lite address ipv6-address

可选

缺省情况下,没有指定为客户端分配的AFTR地址

 

说明

·     一个地址池最多可以引用一个前缀池。

·     地址池可以引用并不存在的前缀池,但是,此时设备无法从该地址池中动态选择前缀分配给客户端。只有创建该前缀池后,才能支持前缀的动态选择。

·     不允许通过重复执行prefix-pool命令的方式修改地址池引用的前缀池、前缀的首选生命期和有效生命期。只有取消当前地址池引用的前缀池后,才能引用其他的前缀池,或修改首选生命期和有效生命期。

·     一个地址池下最多可以配置8个DNS服务器地址、1个域名、8个SIP服务器地址和8个SIP服务器域名。

 

2.2.6  配置接口引用地址池

在接口上引用地址池后,该接口将具有DHCPv6服务器功能,即从该接口接收到客户端的请求后,设备将从该接口应用的地址池中选择前缀和其他网络配置参数,分配给客户端。

表2-5 配置接口引用地址池

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口引用DHCPv6地址池

ipv6 dhcp server apply pool pool-number [ allow-hint | preference preference-value | rapid-commit ] *

必选

缺省情况下,接口没有引用DHCPv6地址池

 

说明

·     一个接口不能同时作为DHCPv6服务器和DHCPv6中继。

·     建议不要在一个接口上同时配置DHCPv6服务器和DHCPv6客户端功能。

·     一个接口上最多只能引用一个地址池。

·     接口可以引用并不存在的地址池,但是,此时该接口无法为客户端分配前缀等信息。只有创建该地址池后,才能为客户端分配前缀等信息。

·     不允许通过重复执行ipv6 dhcp server apply pool命令的方式修改接口引用的地址池和服务器优先级等参数。只有取消当前接口引用的地址池后,才能引用其他的地址池,或修改服务器优先级等参数。

 

2.2.7  配置DHCPv6服务器发送的DHCPv6报文的DSCP优先级

在IPv6报文头中,包含一个8bit的Traffic class字段,用于标识IP报文的服务类型。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。

用户可以对DHCPv6服务器发送的DHCPv6报文的DSCP优先级进行配置。

表2-6 配置DHCPv6服务器发送的DHCPv6报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

配置DHCPv6服务器发送的DHCPv6报文的DSCP优先级

ipv6 dhcp dscp dscp-value

可选

缺省情况下,DHCPv6服务器发送的DHCPv6报文的DSCP优先级为56

 

2.3  DHCPv6服务器显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6服务器的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除DHCPv6服务器的统计信息。

表2-7 DHCPv6服务器显示和维护

操作

命令

显示本设备DUID

display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ]

显示DHCPv6地址池的信息

display ipv6 dhcp pool [ pool-number ] [ | { begin | exclude | include } regular-expression ]

显示前缀池的信息

display ipv6 dhcp prefix-pool [ prefix-pool-number ] [ | { begin | exclude | include } regular-expression ]

显示DHCPv6服务器的配置信息

display ipv6 dhcp server [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示前缀租约信息

display ipv6 dhcp server pd-in-use { all | pool pool-number | prefix prefix/prefix-len | prefix-pool prefix-pool-number } [ | { begin | exclude | include } regular-expression ]

显示DHCPv6服务器的报文统计信息

display ipv6 dhcp server statistics [ | { begin | exclude | include } regular-expression ]

清除DHCPv6服务器的前缀租约信息

reset ipv6 dhcp server pd-in-use { all | pool pool-number | prefix prefix/prefix-len }

清除DHCPv6服务器的报文统计信息

reset ipv6 dhcp server statistics

 

2.4  DHCPv6服务器典型配置举例

1. 组网需求

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. 配置思路

在DHCPv6服务器上需要进行如下配置:

·     使能IPv6报文转发功能和DHCPv6服务器功能。

·     创建前缀池。为了满足为客户端分配2001:0410::/48~2001:0410:FFFF::/48范围的前缀这一需求,需要配置前缀池包含的前缀为2001:0410::/32,分配的前缀长度为48。

·     创建地址池。在地址池配置静态绑定前缀,引用前缀池,并配置DNS服务器地址等参数。

·     在连接DHCPv6客户端的接口上引用地址池。

3. 组网图

图2-3 DHCPv6服务器配置组网图

 

4. 配置步骤

(1)     配置DHCPv6服务器

# 使能IPv6报文转发功能及DHCPv6服务器功能。

<Switch> system-view

[Switch] ipv6

[Switch] ipv6 dhcp server enable

# 配置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。

[Switch] ipv6 dhcp pool 1

# 配置地址池1引用已存在的前缀池1,并设置首选生命期为1天,有效生命期为3天。

[Switch-ipv6-dhcp-pool-1] prefix-pool 1 preferred-lifetime 86400 valid-lifetime 259200

# 在地址池1中配置静态绑定前缀:绑定的前缀为2001:0410:0201::/48,绑定的客户端DUID为00030001CA0006A40000,并设置首选生命期为1天,有效生命期为3天。

[Switch-ipv6-dhcp-pool-1] static-bind prefix 2001:0410:0201::/48 duid 00030001CA0006A40000 preferred-lifetime 86400 valid-lifetime 259200

# 配置为客户端分配的DNS服务器地址为2:2::3。

[Switch-ipv6-dhcp-pool-1] dns-server 2:2::3

# 配置为客户端分配的域名为aaa.com。

[Switch-ipv6-dhcp-pool-1] domain-name aaa.com

# 配置为客户端分配的SIP服务器地址为2:2::4,域名为bbb.com。

[Switch-ipv6-dhcp-pool-1] sip-server address 2:2::4

[Switch-ipv6-dhcp-pool-1] sip-server domain-name bbb.com

[Switch-ipv6-dhcp-pool-1] quit

# 在VLAN接口2上引用已存在的地址池1,使能期望前缀分配和前缀快速分配功能,并将优先级设置为最高。

[Switch] interface vlan-interface 2

[Switch-Vlan-interface2] ipv6 dhcp server apply pool 1 allow-hint preference 255 rapid-commit

(2)     验证配置结果

# 完成上述配置后,查看VLAN接口2上的DHCPv6服务器配置信息。

[Switch-Vlan-interface2] display ipv6 dhcp server interface vlan-interface 2

Using pool: 1

Preference value: 255

Allow-hint: Enabled

Rapid-commit: Enabled

# 显示地址池1的信息。

[Switch-Vlan-interface2] display ipv6 dhcp pool 1

DHCPv6 pool: 1

  Static bindings:

    DUID: 00030001CA0006A40000

    IAID: A1A1A1A1

    Prefix: 2001:410:201::/48

      preferred lifetime 86400, valid lifetime 2592000

  Prefix pool: 1

    preferred lifetime 86400, valid lifetime 2592000

  DNS server address:

    2:2::3

  Domain name: aaa.com

  SIP server address:

    2:2::4

  SIP server domain name:

    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 all

Total number = 1

Prefix                                      Type      Pool Lease-expiration

2001:410:201::/48                           Static(C) 1    Jul 10 2009 19:45:01

# 其他客户端获取IPv6前缀后,显示前缀租约信息。

[Switch-Vlan-interface2] display ipv6 dhcp server pd-in-use all

Total number = 2

Prefix                                      Type      Pool Lease-expiration

2001:410:201::/48                           Static(C) 1    Jul 10 2009 19:45:01

2001:410::/48                               Auto(C)   1    Jul 10 2009 20:44:05

 


3 DHCPv6中继配置

3.1  DHCPv6中继简介

3.1.1  应用环境

图3-1 DHCPv6中继应用组网图

 

DHCPv6客户端通常通过链路本地范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如图3-1所示,服务器和客户端不在同一个链路范围内时,服务器和客户端无法直接通信,需要通过DHCPv6中继来转发报文。部署DHCPv6中继可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。

3.1.2  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.2  配置DHCPv6中继

工作在DHCPv6中继模式的接口接收到DHCPv6客户端发来的报文后,将其封装在Relay-forward报文中,并发送给指定的DHCPv6服务器,由DHCPv6服务器为客户端分配IPv6地址和其他网络配置参数。

3.2.1  配置准备

配置DHCPv6中继之前,需要通过系统视图下的ipv6命令使能IPv6报文的转发功能。

3.2.2  配置步骤

表3-1 配置DHCPv6中继

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口工作在DHCPv6中继模式,并指定DHCPv6服务器的地址

ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number ]

必选

缺省情况下,接口未工作在DHCPv6中继模式,也未指定任何DHCPv6服务器

 

说明

·     通过多次执行ipv6 dhcp relay server-address命令可以指定多个DHCPv6服务器,一个接口下最多可以指定8个DHCPv6服务器。DHCPv6中继接收到DHCPv6客户端报文后,将其转发给所有的DHCPv6服务器。

·     如果指定的DHCPv6服务器地址为链路本地地址或链路范围的组播地址,则必须通过ipv6 dhcp relay server-address命令的interface参数指定出接口,否则报文可能会无法到达服务器。

·     通过undo ipv6 dhcp relay server-address命令删除接口上指定的全部DHCPv6服务器后,该接口不再工作在DHCPv6中继模式。

·     一个接口不能同时作为DHCPv6中继和DHCPv6服务器。

·     建议不要在一个接口上同时配置DHCPv6中继和DHCPv6客户端功能。

 

3.3  配置DHCPv6中继发送的DHCPv6报文的DSCP优先级

在IPv6报文头中,包含一个8bit的Traffic class字段,用于标识IP报文的服务类型。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。

用户可以对DHCPv6中继发送的DHCPv6报文的DSCP优先级进行配置。

表3-2 配置DHCPv6中继发送的DHCPv6报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

配置DHCPv6中继发送的DHCPv6报文的DSCP优先级

ipv6 dhcp dscp dscp-value

可选

缺省情况下,DHCPv6中继发送的DHCPv6报文的DSCP优先级为56

 

3.4  DHCPv6中继显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6中继的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除DHCPv6中继的统计信息。

表3-3 DHCPv6中继显示和维护

操作

命令

显示本设备DUID

display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ]

显示DHCPv6中继指定的DHCPv6服务器地址信息

display ipv6 dhcp relay server-address { all | interface interface-type interface-number } [ | { begin | exclude | include } regular-expression ]

显示DHCPv6中继的报文统计信息

display ipv6 dhcp relay statistics [ | { begin | exclude | include } regular-expression ]

清除DHCPv6中继的报文统计信息

reset ipv6 dhcp relay statistics

 

3.5  DHCPv6中继典型配置举例

1. 组网需求

·     DHCPv6客户端所在网络地址为1::/64,DHCPv6服务器的地址为2::2/64。客户端和服务器不在同一个链路,需要通过DHCPv6中继转发报文。

·     Switch A作为DHCPv6中继,为客户端和服务器转发报文。

·     Switch A同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。

2. 组网图

图3-3 DHCPv6中继组网图

 

3. 配置步骤

(1)     配置Switch A作为DHCPv6中继

# 使能IPv6报文转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置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 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

(3)     验证配置结果

# 完成上述配置后,查看DHCPv6中继指定的DHCPv6服务器的地址信息。

[SwitchA-Vlan-interface3] display ipv6 dhcp relay server-address all

Interface: Vlan3

Server address(es)                             Output Interface

2::2

# 查看DHCPv6中继转发报文的统计信息。

[SwitchA-Vlan-interface3] display ipv6 dhcp relay statistics

Packets dropped               :  0

    Error                     :  0

    Excess of rate limit      :  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

 


4 DHCPv6客户端配置

4.1  DHCPv6客户端简介

设备作为DHCPv6客户端时,只支持DHCPv6无状态配置,即只能通过DHCPv6获取除地址/前缀外的其他网络配置参数,不能获取IPv6地址和前缀。

DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA报文中M标志位为0、O标志位为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。

4.2  配置DHCPv6客户端

4.2.1  配置准备

为了使客户端能够通过DHCPv6无状态配置成功获取网络配置参数,需要确保DHCPv6服务器可用。

4.2.2  配置步骤

表4-1 配置DHCPv6客户端

操作

命令

说明

进入系统视图

system-view

-

使能IPv6报文转发功能

ipv6

必选

进入接口视图

interface interface-type interface-number

-

使能IPv6地址无状态自动配置功能

ipv6 address auto

必选

 

说明

·     ipv6 address auto命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。

·     建议不要在一个接口上同时配置DHCPv6客户端和DHCPv6服务器功能,也不要在一个接口上同时配置DHCPv6客户端和DHCPv6中继功能。

 

4.3  配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级

在IPv6报文头中,包含一个8bit的Traffic class字段,用于标识IP报文的服务类型。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。

用户可以对DHCPv6客户端发送的DHCPv6报文的DSCP优先级进行配置。

表4-2 配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

配置DHCPv6客户端发送的DHCPv6报文的DSCP优先级

ipv6 dhcp client dscp dscp-value

可选

缺省情况下,DHCPv6客户端发送的DHCPv6报文的DSCP优先级为56

 

4.4  DHCPv6客户端显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6客户端的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除DHCPv6客户端的统计信息。

表4-3 DHCPv6客户端显示和维护

操作

命令

显示DHCPv6客户端的信息

display ipv6 dhcp client [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示DHCPv6客户端的统计信息

display ipv6 dhcp client statistics [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示本设备DUID

display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ]

清除DHCPv6客户端的统计信息

reset ipv6 dhcp client statistics [ interface interface-type interface-number ]

 

4.5  DHCPv6无状态配置典型配置举例

1. 组网需求

·     Switch A通过DHCPv6无状态配置获取域名服务器、域名等信息;

·     Switch B作为网关,周期性发布RA消息。

2. 组网图

图4-1 DHCPv6无状态配置组网图

 

3. 配置步骤

(1)     配置网关Switch B

# 使能IPv6报文转发功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置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

# 使能IPv6报文转发功能。

<SwitchA> system-view

[SwitchA] ipv6

# 在VLAN接口2上使能IPv6地址无状态自动配置功能。

[SwitchA] interface vlan-interface 2

[SwitchA-Vlan-interface2] ipv6 address auto

执行此命令后,如果VLAN接口2下没有配置地址,Switch A会自动生成本地链路地址,并主动发送RS(Router Solicitation,路由器请求)报文,请求网关Switch B立即回应RA报文。

4. 验证配置结果

如果收到的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 is in stateless DHCPv6 client mode

State is OPEN

Preferred Server:

    Reachable via address     :  FE80::213:7FFF:FEF6:C818

    DUID                      :  0003000100137ff6c818

    DNS servers               :  1:2:3::5

                                 1:2:4::7

    Domain names              :  abc.com

                                 Sysname.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

        Confirm               :  0

        Renew                 :  0

        Rebind                :  0

        Information-request   :  5

        Release               :  0

        Decline               :  0

 


5 DHCPv6 Snooping配置

说明

·     设备只有位于DHCPv6客户端与DHCPv6服务器之间,或DHCPv6客户端与DHCPv6中继之间时,DHCPv6 Snooping功能配置后才能正常工作;设备位于DHCPv6服务器与DHCPv6中继之间时,DHCPv6 Snooping功能配置后不能正常工作。

·     DHCPv6 Snooping中对于接口的相关配置,目前只能在二层以太网端口或二层聚合接口上进行。关于聚合接口的详细介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。

 

5.1  DHCPv6 Snooping简介

DHCPv6 Snooping是DHCPv6的一种安全特性,具有如下功能:

·     保证客户端从合法的服务器获取IPv6地址。

·     记录DHCPv6客户端IPv6地址与MAC地址的对应关系。

1. 保证客户端从合法的服务器获取IPv6地址

网络中如果存在私自架设的伪DHCPv6服务器,则可能导致DHCPv6客户端获取错误的IPv6地址和网络配置参数,无法正常通信。为了使DHCPv6客户端能通过合法的DHCPv6服务器获取IPv6地址,DHCPv6 Snooping安全机制允许将端口设置为信任端口(Trusted Port)和不信任端口(Untrusted Port):

·     信任端口正常转发接收到的DHCPv6报文。

·     不信任端口接收到DHCPv6服务器发送的应答报文后,丢弃该报文。

图5-1 信任端口和非信任端口

 

连接DHCPv6服务器、DHCPv6中继或其他DHCPv6 Snooping设备的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCPv6客户端只能从合法的DHCPv6服务器获取地址,私自架设的伪DHCPv6服务器无法为DHCPv6客户端分配地址。如图5-1中,将连接DHCPv6服务器的端口设置为信任端口,其他端口设置为非信任端口。

2. 记录DHCPv6客户端IPv6地址与MAC地址的对应关系

DHCPv6 Snooping通过监听DHCPv6报文,记录DHCPv6 Snooping表项,其中包括客户端的MAC地址、获取到的IPv6地址、与DHCPv6客户端连接的端口及该端口所属的VLAN等信息。网络管理员可以通过display ipv6 dhcp snooping user-binding命令查看客户端获取的IPv6地址信息,以便了解用户上网时所用的IPv6地址,并对其进行管理和监控。

5.2  使能DHCPv6 Snooping

使能DHCPv6 Snooping功能,必须首先在系统视图下全局使能DHCPv6 Snooping功能。全局使能DHCPv6 Snooping功能,并正确地配置信任端口和非信任端口后,可以保证客户端从合法的服务器获取IPv6地址。但是,此时不会记录DHCPv6 Snooping表项。

如果需要记录DHCPv6 Snooping表项,则需要在全局使能DHCPv6 Snooping功能的基础上,在VLAN视图下使能VLAN内的DHCPv6 Snooping功能。使能VLAN内的DHCPv6 Snooping功能,还可以实现DHCPv6 Snooping设备接收到该VLAN内客户端发送的请求报文后,只通过该VLAN内的信任端口转发该请求报文,不会通过其他非信任端口转发请求报文,以减轻网络负担。

表5-1 使能DHCPv6 Snooping

操作

命令

说明

进入系统视图

system-view

-

全局使能DHCPv6 Snooping功能

ipv6 dhcp snooping enable

必选

缺省情况下,DHCPv6 Snooping功能处于关闭状态

进入VLAN视图

vlan vlan-id

-

在VLAN内使能DHCPv6 Snooping功能

ipv6 dhcp snooping vlan enable

可选

缺省情况下,VLAN内DHCPv6 Snooping功能处于关闭状态

 

5.3  配置DHCPv6 Snooping信任端口

DHCPv6 Snooping将端口分为两种:

·     信任端口:正常转发接收到的DHCPv6报文。

·     不信任端口:接收到DHCPv6服务器发送的应答报文后,丢弃该报文。

使能VLAN内的DHCPv6 Snooping功能,DHCPv6 Snooping设备接收到该VLAN内客户端发送的请求报文后,只通过该VLAN内的信任端口转发该请求报文,不会通过其他非信任端口转发请求报文,以减轻网络负担。

表5-2 配置DHCPv6 Snooping信任端口

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置端口为信任端口

ipv6 dhcp snooping trust

必选

缺省情况下,全局使能DHCPv6 Snooping功能后,设备的所有端口均为不信任端口

 

说明

·     为了使DHCPv6客户端能从合法的DHCPv6服务器获取IPv6地址,必须将与合法DHCPv6服务器相连的端口设置为信任端口,且设置的信任端口和与DHCPv6客户端相连的端口必须在同一个VLAN内。

·     如果二层以太网端口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的DHCPv6 Snooping相关配置不会生效;该接口退出聚合组后,DHCPv6 Snooping的配置才会生效。

 

5.4  配置接口动态学习DHCPv6 Snooping表项的最大数目

通过本配置可以限制接口动态学习DHCPv6 Snooping表项的最大数目,以防止接口学习到大量DHCPv6 Snooping表项,占用过多地系统资源。

表5-3 配置接口动态学习DHCPv6 Snooping表项的最大数目

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口动态学习DHCPv6 Snooping表项的最大数目

ipv6 dhcp snooping max-learning-num number

可选

缺省情况下,不限制接口动态学习DHCPv6 Snooping表项的数目

 

5.5  配置DHCPv6 Snooping支持Option 18和Option 37

Option 18称为接口ID选项(Interface ID)、Option 37称为远程ID选项(Remote ID),DHCPv6 Snooping设备接收到DHCPv6客户端发送给DHCPv6服务器的请求报文后,在该报文中添加Option 18或 Option 37,并转发给DHCPv6服务器。

图5-2 Option 18选项格式

 

图5-3 Option 37选项格式

 

说明

选项格式中的Second Vlan字段为可选,如果报文中不含有Second Vlan,则Option 18或Option 37中也不包含Second Vlan内容。

 

表5-4 配置DHCPv6 Snooping支持Option 18和Option 37

操作

命令

说明

进入系统视图

system-view

-

全局使能DHCPv6 Snooping功能

ipv6 dhcp snooping enable

必选

缺省情况下,DHCPv6 Snooping功能处于关闭状态

进入VLAN视图

vlan vlan-id

-

在VLAN内使能DHCPv6 Snooping功能

ipv6 dhcp snooping vlan enable

必选

缺省情况下,VLAN内DHCPv6 Snooping功能处于关闭状态

进入二层以太网端口视图或二层聚合接口视图

interface interface-type interface-number

-

使能DHCPv6 Snooping支持Option 18功能

ipv6 dhcp snooping option interface-id enable

必选

缺省情况下,禁止DHCPv6 Snooping支持Option 18功能

配置Option 18选项中的DUID

ipv6 dhcp snooping option interface-id string interface-id

可选

缺省情况下,Option 18选项中的DUID为本设备的DUID

使能DHCPv6 Snooping支持Option 37功能

ipv6 dhcp snooping option remote-id enable

必选

缺省情况下,禁止DHCPv6 Snooping支持Option 37功能

配置Option 37选项中的DUID

ipv6 dhcp snooping option remote-id string remote-id

可选

缺省情况下,Option 37选项中的DUID为本设备的DUID

 

5.6  DHCPv6 Snooping显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示DHCPv6 Snooping的配置情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除DHCPv6 Snooping表项信息。

表5-5 DHCPv6 Snooping显示和维护

操作

命令

显示DHCPv6 Snooping信任端口信息

display ipv6 dhcp snooping trust [ | { begin | exclude | include } regular-expression ]

显示DHCPv6 Snooping表项信息

display ipv6 dhcp snooping user-binding { ipv6-address | dynamic } [ | { begin | exclude | include } regular-expression ]

清除DHCPv6 Snooping表项

reset ipv6 dhcp snooping user-binding { ipv6-address | dynamic }

 

5.7  DHCPv6 Snooping典型配置举例

5.7.1  组网需求

Switch通过以太网端口GigabitEthernet1/0/1连接到DHCPv6服务器,通过以太网端口GigabitEthernet1/0/2、GigabitEthernet1/0/3连接到DHCPv6客户端。GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3都属于VLAN 2。

要求:

·     与DHCPv6服务器相连的端口可以转发DHCPv6服务器的响应报文,而其他端口不转发DHCPv6服务器的响应报文。

·     记录DHCPv6客户端IPv6地址及MAC地址的绑定关系。

5.7.2  组网图

图5-4 DHCPv6 Snooping组网示意图

 

5.7.3  配置步骤

# 全局使能DHCPv6 Snooping功能。

<Switch> system-view

[Switch] ipv6 dhcp snooping enable

# 将端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3加入VLAN 2。

[Switch] vlan 2

[Switch-vlan2] port GigabitEthernet 1/0/1 GigabitEthernet 1/0/2 GigabitEthernet 1/0/3

# 在VLAN 2内使能DHCPv6 Snooping功能。

[Switch-vlan2] ipv6 dhcp snooping vlan enable

[Switch] quit

# 配置GigabitEthernet1/0/1端口为信任端口。

[Switch] interface GigabitEthernet 1/0/1

[Switch-GigabitEthernet1/0/1] ipv6 dhcp snooping trust

# 验证配置结果。

配置完成后,通过GigabitEthernet1/0/2连接DHCPv6客户端、GigabitEthernet1/0/1连接DHCPv6服务器,则可以发现DHCPv6客户端能够从DHCPv6服务器获取IPv6地址。通过display ipv6 dhcp snooping user-binding命令可以查看生成的DHCPv6 Snooping表项。如果GigabitEthernet1/0/3连接私自架设的伪DHCPv6服务器,则该服务器无法为DHCPv6客户端分配IPv6地址。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们