07-DHCPv6配置
本章节下载: 07-DHCPv6配置 (240.83 KB)
目 录
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的、为主机分配IPv6地址和其他网络配置参数的协议。
与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:
l 更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。
l 除了IPv6地址外,还可以为主机提供DNS服务器、域名等网络配置参数。
DHCPv6中采用组播地址FF02::1:2来表示链路范围内所有的DHCPv6服务器和中继。
DUID(DHCP Unique Identifier,DHCP唯一标识符)是唯一标识一台DHCPv6设备(包括客户端、中继和服务器)的标识符,用于DHCPv6设备之间的相互验证。
目前,设备采用RFC 3315规定的DUID-LL(DUID Based on Link-layer Address,基于链路层地址的DUID)作为DHCPv6设备的标识。DUID-LL的结构如图1-1所示:
l DUID type:DUID类型。DUID-LL类型取值为0x0003。
l Hardware type:硬件类型。设备支持的硬件类型为以太网,取值为0x0001。
l Link layer address:链路层地址。取值为设备的桥MAC地址。
图1-2 DHCPv6的典型组网
DHCPv6的典型组网如图1-2所示。DHCPv6客户端通过链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如果服务器和客户端不在同一个链路范围内,则需要通过DHCPv6中继来转发报文,这样可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。
目前,设备只能作为DHCPv6客户端和中继,不能作为DHCPv6服务器;作为DHCPv6客户端时,设备只支持DHCPv6无状态配置,不支持DHCPv6有状态配置,即设备不能通过DHCPv6服务器获取IPv6地址,只能获取除IPv6地址外的其他网络配置参数。
DHCPv6无状态配置是指设备通过地址无状态自动配置获取IPv6地址后,利用DHCPv6服务器获取除地址以外的其他网络配置参数,如DNS服务器、域名等。在DHCPv6无状态配置过程中,DHCPv6服务器不需要保存客户端的状态信息,因此称为DHCPv6无状态配置。
地址无状态自动配置是指节点根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。详细介绍请参见“IP业务分册”的“IPv6配置”。
设备通过地址无状态自动配置功能成功获取IPv6地址,且接收到的RA(Router Advertisement,路由器通告)报文中M标志位(Managed address configuration flag,被管理地址配置标志位)为0、O标志位(Other stateful configuration flag,其他配置标志位)为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址外的其他网络配置参数。
DHCPv6无状态配置过程只需要两种报文:客户端发出的Information-request报文和服务器回应的Reply报文。
图1-3 DHCPv6无状态配置工作过程
DHCPv6无状态配置的具体过程如图1-3所示。
(1) 客户端以组播的方式发送Information-request报文,报文的目的地址为FF02::1:2。该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
(2) 服务器收到Information-request报文后,为客户端分配网络配置参数,并通过Reply报文将网络配置参数返回给客户端。
(3) 客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置。如果接收到多个Reply报文,客户端将选择最先收到的Reply报文,并根据该报文中提供的参数完成客户端无状态配置。
DHCPv6中继和DHCPv6服务器之间交互两种报文:Relay-forward和Relay-reply。
图1-4 DHCPv6中继的工作过程
如图1-4所示,DHCPv6 client通过DHCPv6中继转发报文,获取IPv6地址和其他网络配置参数的过程为:
(1) DHCPv6客户端向所有DHCPv6服务器和中继的组播地址FF02::1:2发送请求;
(2) DHCPv6中继接收到请求后,将其封装在Relay-forward报文的中继消息选项(Relay Message Option)中,并将Relay-forward报文发送给DHCPv6服务器;
(3) DHCPv6服务器从Relay-forward报文中解析出客户端的请求,为客户端选取IPv6地址和其他参数,构造应答消息,将应答消息封装在Relay-reply报文的中继消息选项中,并将Relay-reply报文发送给DHCPv6中继;
(4) DHCPv6中继从Relay-reply报文中解析出服务器的应答,转发给DHCPv6客户端;
DHCPv6客户端根据DHCPv6服务器分配的IPv6地址和其他参数进行网络配置。
与DHCPv6相关的协议规范有:
l RFC 3736:Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6
l RFC 3315:Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
l RFC 2462:IPv6 Stateless Address Autoconfiguration
为了使客户端能够通过DHCPv6无状态配置成功获取网络配置参数,需要确保DHCPv6服务器可用。
表1-1 配置DHCPv6客户端
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
使能IPv6报文转发功能 |
ipv6 |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
使能IPv6地址无状态自动配置功能 |
ipv6 address auto |
必选 |
l ipv6 address auto命令的详细介绍请参见“IP业务分册”中的“IPv6基础命令”。
l 如果设备通过无状态自动配置功能成功获取IPv6地址,且接收到的RA消息中M标志位为0、O标志位为1,则设备会自动启动DHCPv6无状态配置功能获取除IPv6地址外的其他网络配置参数。
l 一个接口不能同时作为DHCPv6客户端和DHCPv6中继。
工作在DHCPv6中继模式的接口接收到DHCPv6客户端发来的报文后,将其封装在Relay-forward报文中,并发送给指定的DHCPv6服务器,由DHCPv6服务器为客户端分配IPv6地址和其他网络配置参数。
配置DHCPv6中继之前,需要通过ipv6命令使能IPv6报文的转发功能。
表1-2 配置DHCPv6中继
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口工作在DHCPv6中继模式,并指定DHCPv6服务器的地址 |
ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number ] |
必选 缺省情况下,接口没有工作在DHCPv6中继模式,也未指定任何DHCPv6服务器 |
l 通过多次执行ipv6 dhcp relay server-address命令可以指定多个DHCPv6服务器,一个接口下最多可以指定8个DHCPv6服务器。DHCPv6中继接收到DHCPv6客户端报文后,将其转发给所有的DHCPv6服务器。
l 如果指定的DHCPv6服务器地址为链路本地地址或链路范围的组播地址,则必须通过ipv6 dhcp relay server-address命令的interface参数指定出接口,否则报文可能会无法到达服务器。
l 接口上指定的DHCPv6服务器地址全部删除后,该接口不再工作在DHCPv6中继模式。
l 一个接口不能同时作为DHCPv6客户端和DHCPv6中继。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCPv6客户端和DHCPv6中继的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCPv6客户端和DHCPv6中继的统计信息。
表1-3 DHCPv6显示和维护
操作 |
命令 |
显示DHCPv6客户端的信息 |
display ipv6 dhcp client [ interface interface-type interface-number ] |
显示DHCPv6客户端的统计信息 |
display ipv6 dhcp client statistics [ interface interface-type interface-number ] |
显示本设备DUID |
display ipv6 dhcp duid |
显示DHCPv6中继指定的DHCPv6服务器地址信息 |
display ipv6 dhcp relay server-address { all | interface interface-type interface-number } |
显示DHCPv6中继的报文统计信息 |
display ipv6 dhcp relay statistics |
清除DHCPv6客户端的统计信息 |
reset ipv6 dhcp client statistics [ interface interface-type interface-number ] |
清除DHCPv6中继的报文统计信息 |
reset ipv6 dhcp relay statistics |
l Switch A通过DHCPv6无状态配置获取域名服务器、域名等信息;
l Switch B作为网关,周期性发布RA消息。
图1-5 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
l DHCPv6客户端所在网络地址为1::/64,DHCPv6服务器的地址为2::2/64。客户端和服务器不在同一个链路,需要通过DHCPv6中继转发报文。
l Switch A作为DHCPv6中继,为客户端和服务器转发报文。
l Switch A同时作为1::/64网络的网关设备,通过RA消息中的M标志位和O标志位指定该网络中的主机通过DHCPv6获取IPv6地址和其他网络配置参数。
图1-6 DHCPv6中继组网图
(1) 配置Switch A作为DHCPv6中继
# 使能IPv6报文转发功能。
<SwitchA> system-view
[SwitchA] ipv6
# 配置VLAN接口1和VLAN接口2的IPv6地址。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address 2::1 64
[SwitchA-Vlan-interface2] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ipv6 address 1::1 64
# 在VLAN接口1上配置DHCPv6服务器地址。
[SwitchA-Vlan-interface1] ipv6 dhcp relay server-address 2::2
(2) 配置Switch A作为网关
# 配置发布RA消息,并配置M和O标志位。
[SwitchA-Vlan-interface1] undo ipv6 nd ra halt
[SwitchA-Vlan-interface1] ipv6 nd autoconfig managed-address-flag
[SwitchA-Vlan-interface1] ipv6 nd autoconfig other-flag
(3) 验证配置结果
# 完成上述配置后,查看DHCPv6服务器的地址信息。
[SwitchA-Vlan-interface1] display ipv6 dhcp relay server-address all
Interface: Vlan1
Server address(es) Output Interface
2::2
# 查看DHCPv6中继转发报文的统计信息。
[SwitchA-Vlan-interface1] 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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!