Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

从 DHCP 本地服务器动态重新配置客户端

了解扩展 DHCP 本地服务器客户端的动态重新配置

动态重新配置客户端使扩展的 DHCP 本地服务器能够启动客户端更新,而无需等待客户端发起请求。

默认客户端/服务器交互

通常,DHCP 客户端会启动所有基本的 DHCP 客户端/服务器交互。DHCP 服务器仅响应来自该客户端的请求向客户端发送信息。如果服务器发生变化,此行为不会使客户端快速更新其网络地址和配置:

注意:

从技术上说,DHCP 客户端/服务器交互在路由器和交换机上是相同的。但是,这项技术在路由器上的主要用途是订阅者管理。这些交换机不用于订阅者管理。因此,本主题提供两个示例场景。操作相同,但实施细节不同。

  • 在路由器上 — 假设服务提供商重组其寻址方案,或者更改提供给客户端的服务器 IP 地址。如果不进行动态重新配置,服务提供商通常会清除 DHCP 服务器绑定表,但无法通知 DHCP 客户端其绑定已清除。因此,DHCP 客户端的操作就像其 IP 地址仍然有效一样,但现在无法通过接入网络进行通信,从而导致中断。DHCP 本地服务器需要等待客户端发送消息以续订其租期或重新绑定至服务器。作为响应,服务器会向客户端发送 NAK 消息,以强制客户端再次开始 DHCP 连接进程。或者,提供商可以等待客户就网络故障拨打服务电话,然后指示客户重新启动客户端设备以重新启动连接。对于客户来说,这两种操作都不是及时的,也不是方便的。

  • 在交换机上 — 假设您重组了寻址方案,或者更改 DHCP 服务器提供给客户端的服务器 IP 地址。如果不进行动态重新配置,网络通常会清除 DHCP 服务器绑定表,但无法通知 DHCP 客户端其绑定已清除。因此,DHCP 客户端的操作就像其 IP 地址仍然有效一样,但现在无法通过接入网络进行通信,从而导致中断。DHCP 本地服务器需要等待客户端发送消息以续订其租期或重新绑定至服务器。作为响应,服务器会向客户端发送 NAK 消息,以强制客户端再次开始 DHCP 连接进程。或者,您可以等待用户通知您网络故障,然后指示他们重新启动设备以重新启动连接。这两种操作对用户来说都不是及时的,也不是方便的。

DHCPv4 的动态客户端/服务器交互

通过部分实施 RFC 3203、DHCPv4 的 DHCP 重新配置扩展 ,可以动态重新配置 DHCPv4。DHCPv4 本地服务器可以向客户端发送消息以强制重新配置。

服务器向 DHCPv4 客户端发送强制更新消息,从而启动消息交换。作为响应,支持强制更新消息的 DHCPv4 客户端随后向服务器发送租赁续订消息。服务器会拒绝租期续订请求,并向客户端发送 NAK,从而使客户端重新初始化 DHCP 连接。重新连接成功会导致 DHCP 客户端重新配置。RFC 3202 仅支持强制更新、续订和 NAK 消息的交换。DHCP 中继和 DHCP 中继代理不会参与客户端重新配置,也不会对强制重新发送的消息进行响应,以将其转发给客户端。

当本地服务器状态机在绑定的客户端上启动重新配置过程时,客户端将转换为重新配置状态,而本地服务器向客户端发送 forcerenew 消息。由于客户端在进入重新配置状态之前处于绑定状态,因此所有订阅者服务或 DHCP 托管服务(如转发和统计信息)将继续工作。在成功重新配置与后续客户端绑定之间的间隔内,不会维护客户端统计信息。当服务器使用 NAK 响应客户端续订请求时,客户端条目将从绑定表中移除,并报告最终统计信息。当客户端发送 discover 消息以建立新会话时,将收集新统计信息。

DHCPv6 动态客户端/服务器交互

通过部分实施 RFC 3315、 IPv6 动态主机配置协议 (DHCPv6) 的部分实现,可动态重新配置 DHCPv6。DHCPv6 本地服务器能够向客户端发送消息以强制重新配置。

DHCPv6 服务器向 DHCPv6 客户端发送重新配置消息,从而启动消息交换。作为响应,支持重新配置消息过渡到续订状态的 DHCPv6 客户端会向服务器发送续订消息。服务器将返回生存期为零 (0) 的回复消息。客户端将过渡到 init 状态并发送请求消息。服务器会发送一条播发消息,表明它可用于服务。客户端发送配置参数请求,然后服务器会将其包括在回复中。DHCP 中继和 DHCP 中继代理不参与客户端重新配置,也不对重新配置消息作出响应,以将其转发至客户端。

当触发 DHCPv6 服务器在绑定的 DHCPv6 客户端上发起重新配置时,客户端将转换为重新配置状态。所有订阅者服务(如转发和统计信息)将继续运行。然后,服务器向客户端发送重新配置消息。如果 DHCPv6 客户端已处于重新配置状态,DHCPv6 服务器将忽略重新配置触发器。对于处于绑定或重新配置以外的任何状态的客户端,服务器会清除客户端的绑定状态,就像 clear dhcpv6 server binding 发出命令一样。

手动强制本地服务器启动重新配置过程

您可以为 DHCPv4 客户端发出命令,request dhcpv6 server reconfigure为 DHCPv6 客户端发出request dhcp server reconfigure命令,从而强制本地服务器为客户端启动重新配置过程。命令选项确定随后是对所有客户端还是指定客户端尝试重新配置。

针对重新配置期间发生的事件所采取的措施

重新配置过程中发生的事件优先于重新配置。 表 1 列出了针对多个不同事件所采取的措施。

表 1:针对重新配置期间发生的事件所采取的措施

事件

行动

服务器从客户端接收发现 (DHCPv4) 或请求 (DHCPv6) 消息。

服务器丢弃数据包并删除客户端。

服务器从客户端收到请求、续订、重新绑定或 init-重新启动消息。

DHCPv4 — 服务器发送 NAK 消息并删除客户端。

DHCPv6 — 服务器丢弃数据包并删除客户端。服务器回复续订消息,租赁时间为零 (0)。

服务器收到来自客户端的发布或拒绝消息。

服务器删除客户端。

客户端租约超时。

服务器删除客户端。

发出 clear dhcp server binding 命令。

服务器删除客户端。

发出 request dhcp server reconfigure (DHCPv4) 或 request dhcpv6 server reconfigure (DHCPv6) 命令。

命令将被忽略。

将重新启动 GRES 或 DHCP。

重新配置过程已停止。

动态重新配置 DHCP 本地服务器客户端的优势

  • 启用 DHCP 本地服务器动态重新配置 DHCP 客户端,避免因服务器配置更改而延长中断,否则这些更改要求服务器等待客户端续订其租期或重新绑定至服务器。

配置扩展本地服务器客户端的动态重新配置概述

DHCP 本地服务器可以重新配置其客户端,以避免因服务器配置更改而导致中断时间延长。您可以为所有 DHCP 客户端启用动态重新配置,或者仅对由指定一组接口提供服务的 DHCP 客户端启用动态重新配置,并可以相应地修改行为。

从 Junos OS 14.1 版开始,您可以通过包含适当的配置语句来修改 DHCP 本地服务器开始对其客户端进行重新配置的过程的行为。您可以在层级为所有 DHCPv4 客户端提供语句,[edit system services dhcp-local-server dhcpv6 reconfigure]在层次结构级别为所有 DHCPv6 客户端提供语句[edit system services dhcp-local-server reconfigure]。要仅覆盖由指定接口组服务的 DHCP 客户端的此全局配置,您可以在 DHCPv4 客户端的层次结构级别和 DHCPv6 客户端的[edit system services dhcp-local-server group group-name reconfigure][edit system services dhcp-local-server dhcpv6 group group-name reconfigure]层次结构级别添加具有不同值语句。

要配置 DHCP 客户端的动态重新配置:

  1. 为所有客户端启用使用默认值的动态重新配置。

    对于 DHCPv4:

    对于 DHCPv6:

  2. (可选)仅对由一组接口服务的客户端启用动态重新配置。

    对于 DHCPv4:

    对于 DHCPv6:

  3. (可选)配置服务器尝试重新配置的方式。
  4. (可选)配置对失败的重新配置的响应。
  5. (可选)配置对 RADIUS 发起的断开连接的响应行为。
  6. (可选)为初级服务器身份验证配置令牌。
  7. (可选)如果 DHCPv6 客户端不支持重新配置消息,则阻止它们绑定。

为 DHCP 客户端配置动态重新配置尝试

您可以通过发送强制重新配置消息或重新配置消息来配置本地服务器发起重新配置 DHCP 客户端的次数。您还可以指定服务器在两次尝试之间等待多久。默认情况下,进行 8 次尝试,初始间隔为 2 秒。

每次连续尝试的间隔都会翻倍。例如,如果第一个值为 2,则首次尝试失败后 2 秒尝试第一次尝试。第二次重试在首次重试失败后 4 秒进行尝试。第三次重试在第二次重试失败后 8 秒内尝试,以如此。组配置优先于 DHCP 本地服务器配置。

(可选)要为所有 DHCP 客户端配置 DHCP 本地服务器重新配置行为,

  1. 指定重新配置尝试的次数。

    对于 DHCPv4:

    对于 DHCPv6:

  2. 指定重新配置尝试之间的间隔。

    对于 DHCPv4:

    对于 DHCPv6:

要覆盖特定客户端组的全局配置,请将语句 [edit system services dhcp-local-server group group-name reconfigure] 包含在层次结构级别或 [edit system services dhcpv6 dhcp-local-server group group-name reconfigure] 层次结构级别。

配置动态重新配置失败时删除客户端

您可以配置本地服务器以在已执行最大重新配置尝试数未成功时删除客户端。默认情况下,会还原客户端的原始配置。

(可选)要配置 DHCP 本地服务器以在重新配置失败时删除客户端,请对所有客户端使用:

  • 指定客户端删除操作。

    对于 DHCPv4:

    对于 DHCPv6:

要覆盖特定客户端组的全局配置,请将语句 [edit system services dhcp-local-server group group-name reconfigure] 包含在层次结构级别或 [edit system services dhcpv6 dhcp-local-server group group-name reconfigure] 层次结构级别。

在收到 RADIUS 发起的断开连接时配置客户端重新配置

您可以配置本地服务器,以在客户端收到 RADIUS 发起的连接时重新配置客户端。默认情况下,当收到 RADIUS 发起的断开连接时,客户端将被删除。

(可选)要配置 DHCP 本地服务器以重新配置客户端,而不是在收到 RADIUS 发起的断开连接时删除客户端,请适用于所有客户端:

  • 指定 RADIUS 发起的断开连接触发器。

    对于 DHCPv4:

    对于 DHCPv6:

要覆盖特定客户端组的全局配置,请将语句 [edit system services dhcp-local-server group group-name reconfigure trigger] 包含在层次结构级别或 [edit system services dhcpv6 dhcp-local-server group group-name reconfigure trigger] 层次结构级别。

为 DHCP 本地服务器身份验证配置令牌

您可以配置身份验证令牌,以针对无意中实例化 DHCP 服务器提供基本保护。您可以将本地服务器配置为在 DHCP 强制重新发送消息的身份验证选项中包含常量未编码的令牌。如果服务提供商之前已经为 DHCP 客户端配置了令牌,则客户端可以将该令牌与新收到的令牌进行比较。如果标记不匹配,DHCP 客户端将丢弃强制重新发送消息。此功能对应于 RFC 3118 DHCP 消息身份验证,第 4 节。

(可选)要配置 DHCP 本地服务器,以在 forcerenew 发送到客户端的消息中包含令牌,请适用于所有客户端:

  • 指定令牌。

    对于 DHCPv4:

    对于 DHCPv6:

(可选)仅对于特定一组客户端:

  • 指定令牌。

    对于 DHCPv4:

    对于 DHCPv6:

版本历史记录表
释放
描述
14.1
从 Junos OS 14.1 版开始,您可以通过包含适当的配置语句来修改 DHCP 本地服务器开始对其客户端进行重新配置的过程的行为。