09-DHCPv6配置
本章节下载: 09-DHCPv6配置 (325.88 KB)
DHCPv6(Dynamic Host Configuration Protocol for IPv6,IPv6动态主机配置协议)是针对IPv6编址方案设计的,为主机分配IPv6前缀、IPv6地址和其他网络配置参数的协议。
与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:
· 更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。
· 为设备分配前缀,便于全网络的自动配置和管理。
· 除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名等网络配置参数。
在实际组网环境中,DHCPv6能否为主机分配IPv6地址和其他网络配置参数与使用的DHCPv6服务器有关,请以设备的实际情况为准。
DHCPv6中采用组播地址FF05::1:3来表示站点本地范围内所有的DHCPv6服务器;采用组播地址FF02::1:2来表示链路本地范围内所有的DHCPv6服务器和中继。
DUID(DHCP Unique Identifier,DHCP唯一标识符)是一台DHCPv6设备(包括客户端、服务器和中继)的唯一标识。在DHCPv6报文交互过程中,DHCPv6客户端、服务器和中继通过在报文中添加DUID来标识自己。
DUID的类型有多种。目前,设备只支持RFC 3315中规定的DUID-LL(DUID Based on Link-layer Address,基于链路层地址的DUID)类型的DUID。DUID-LL的结构如图1-1所示。
· DUID type:DUID类型。目前,设备只支持类型为DUID-LL的DUID,类型取值为0x0003。
· Hardware type:硬件类型。设备支持的硬件类型为以太网,取值为0x0001。
· Link layer address:链路层地址。取值为设备的桥MAC地址。
IA(Identity Association,标识联盟)用于管理分配给客户端的一组地址和前缀等信息,通过IAID标识。一个客户端可以有多个IA,如客户端的每个接口拥有一个IA,用来管理该接口获取的地址和前缀等信息。
IAID是IA的标识符,由客户端选择。在一个客户端上不同IA的IAID不能相同。
绑定是DHCPv6服务器上记录的为DHCPv6客户端分配的地址、前缀、网络参数等信息。绑定信息中包括IPv6地址或前缀、客户端DUID、IAID、有效生命期、首选生命期、租约过期时间等。
PD(Prefix Delegation,前缀授权)是DHCPv6服务器为分配的前缀创建的绑定信息。前缀绑定信息中包括IPv6前缀、客户端DUID、IAID、有效生命期、首选生命期、租约过期时间等信息。
DHCPv6服务器为客户端分配地址/前缀的过程分为两类:
· 交互两个消息的快速分配过程
· 交互四个消息的分配过程
交互两个消息的分配过程如图1-2所示。
图1-2 地址/前缀快速分配过程
交互两个消息分配过程的简述如表1-1。
步骤 |
发送的消息 |
说明 |
(1) |
携带Rapid Commit选项的Solicit |
DHCPv6客户端在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数 |
(2) |
Reply |
如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用“1.3.2 交互四个消息的分配过程”为客户端分配IPv6地址/前缀和其他网络配置参数。 |
交互四个消息的分配过程如图1-3所示。
交互四个消息分配过程的简述如表1-2。
步骤 |
发送的消息 |
说明 |
(1) |
Solicit |
DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数 |
(2) |
Advertise |
如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数 |
(3) |
Request |
如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数 |
(4) |
Reply |
DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用 |
DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限,该租借期限称为租约。租约由有效生命期(Valid Lifetime)决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要更新地址/前缀租约。
图1-4 通过Renew更新地址/前缀租约
如图1-4所示,地址/前缀租借时间到达时间T1(推荐值为首选生命期Preferred Lifetime的一半)时,DHCPv6客户端会发送Renew报文,以进行地址/前缀租约的更新。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约。
图1-5 通过Rebind更新地址/前缀租约
如图1-5所示,如果在T1时发送Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文,则DHCPv6客户端会在T2(推荐值为首选生命期的0.8倍)时,向所有DHCPv6服务器组播发送Rebind报文请求更新租约。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约;如果DHCPv6客户端没有收到服务器的应答报文,则到达有效生命期后,客户端停止使用该地址/前缀。
有效生命期和首选生命期的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
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-6 DHCPv6无状态配置工作过程
如图1-6所示,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
图2-1 DHCPv6中继应用组网图
DHCPv6客户端通常通过链路本地范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如图2-1所示,服务器和客户端不在同一个链路范围内时,服务器和客户端无法直接通信,需要通过DHCPv6中继来转发报文。部署DHCPv6中继可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。
图2-2 DHCPv6中继的工作过程
如图2-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中继模式的接口接收到DHCPv6客户端发来的报文后,将其封装在Relay-forward报文中,并发送给指定的DHCPv6服务器,由DHCPv6服务器为客户端分配IPv6地址和其他网络配置参数。
配置DHCPv6中继之前,需要通过系统视图下的ipv6命令使能IPv6报文的转发功能。
表2-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客户端功能。
在IPv6报文头中,包含一个8bit的Traffic class字段,用于标识IP报文的服务类型。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。
用户可以对DHCPv6中继发送的DHCPv6报文的DSCP优先级进行配置。
表2-2 配置DHCPv6中继发送的DHCPv6报文的DSCP优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCPv6中继发送的DHCPv6报文的DSCP优先级 |
ipv6 dhcp dscp dscp-value |
可选 缺省情况下,DHCPv6中继发送的DHCPv6报文的DSCP优先级为56 |
该特性仅Release 6703及以后的版本支持。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6中继的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6中继的统计信息。
表2-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 |
· DHCPv6客户端所在网络地址为1::/64,DHCPv6服务器的地址为2::2/64。客户端和服务器不在同一个链路,需要通过DHCPv6中继转发报文。
· Switch A作为DHCPv6中继,为客户端和服务器转发报文。
· Switch A同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。
图2-3 DHCPv6中继组网图
(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
设备作为DHCPv6客户端时,只支持DHCPv6无状态配置,即只能通过DHCPv6获取除地址/前缀外的其他网络配置参数,不能获取IPv6地址和前缀。
DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA报文中M标志位为0、O标志位为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。
为了使客户端能够通过DHCPv6无状态配置成功获取网络配置参数,需要确保DHCPv6服务器可用。
表3-1 配置DHCPv6客户端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能IPv6报文转发功能 |
ipv6 |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
使能IPv6地址无状态自动配置功能 |
ipv6 address auto |
必选 |
· ipv6 address auto命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。
· 建议不要在一个接口上同时配置DHCPv6客户端和DHCPv6中继功能。
在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 client dscp dscp-value |
可选 缺省情况下,DHCPv6客户端发送的DHCPv6报文的DSCP优先级为56 |
该特性仅Release 6703及以后的版本支持。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6客户端的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6客户端的统计信息。
表3-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 ] |
· Switch A通过DHCPv6无状态配置获取域名服务器、域名等信息;
· Switch B作为网关,周期性发布RA消息。
图3-1 DHCPv6无状态配置组网图
(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报文。
如果收到的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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!