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 客户端发送一则强制更新消息,从而启动消息交换。作为响应,支持 forcerenew 消息的 DHCPv4 客户端随后向服务器发送租约续订消息。服务器拒绝租约续订请求,并向客户端发送 NAK,从而导致客户端重新启动 DHCP 连接。成功重新连接会导致重新配置 DHCP 客户端。RFC 3202 仅支持交换 forcerenew、renew 和 NAK 消息。DHCP 中继和 DHCP 中继代理不参与客户端重新配置,也不对强制更新消息做出反应,而是将其转发给客户端。

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

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

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

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

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

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

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

对重新配置期间发生的事件执行的作

重新配置过程中发生的事件优先于重新配置。 表 1 列出了为响应几个不同事件而采取的措施。

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

活动

行动

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

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

服务器接收来自客户端的请求、renew、rebind 或 init-reboot 消息。

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

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

服务器接收来自客户端的释放或拒绝消息。

服务器删除客户端。

客户端租赁超时。

服务器删除客户端。

clear dhcp server binding命令随即发出。

服务器删除客户端。

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

命令将被忽略。

将会重新启动 GRES 或 DHCP 重新启动。

重新配置过程将停止。

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

  • 使 DHCP 本地服务器能够动态重新配置 DHCP 客户端,避免由于服务器配置更改而导致长时间中断,否则服务器需要等待客户端续订租约或重新绑定到服务器。

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

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

    对于 DHCPv4:

    对于 DHCPv6:

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

    对于 DHCPv4:

    对于 DHCPv6:

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

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

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

每次连续尝试都会使尝试之间的间隔加倍。例如,如果第一个值为 2,则在第一次尝试失败 2 秒后尝试第一次重试。第一次重试失败后 4 秒尝试第二次重试。第二次重试失败后 8 秒尝试第三次重试,依此类推。组配置优先于 DHCP 本地服务器配置。

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

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

    对于 DHCPv4:

    对于 DHCPv6:

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

    对于 DHCPv4:

    对于 DHCPv6:

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

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

您可以将本地服务器配置为在重新配置尝试达到最大次数但未成功时删除客户端。默认情况下,将还原客户端的原始配置。

(选答)要将 DHCP 本地服务器配置为在重新配置不成功时删除客户端,请为所有客户端执行以下作:

  • 指定客户端删除。

    对于 DHCPv4:

    对于 DHCPv6:

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

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

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

(选答)要将 DHCP 本地服务器配置为在收到 RADIUS 发起的断开连接时重新配置客户端,而不是删除客户端,请为所有客户端执行以下作:

  • 指定 RADIUS 启动的断开触发器。

    对于 DHCPv4:

    对于 DHCPv6:

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

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

您可以配置身份验证令牌来提供基本保护,防止无意中实例化的 DHCP 服务器。您可以将本地服务器配置为在 DHCP forcerenew 消息中包含一个常量、未编码的令牌,作为其发送给客户端的身份验证选项的一部分。如果服务提供商之前已使用令牌配置了 DHCP 客户端,则客户端可以将该令牌与新收到的令牌进行比较。如果令牌不匹配,DHCP 客户端将丢弃 forcerenew 消息。此功能对应于 RFC 3118,DHCP 消息身份验证,第 4 节。

(选答)要将 DHCP 本地服务器配置为在发送至客户端的 forcerenew 消息中包含令牌,请为所有客户端执行以下作:

  • 指定令牌。

    对于 DHCPv4:

    对于 DHCPv6:

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

  • 指定令牌。

    对于 DHCPv4:

    对于 DHCPv6:

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
14.1
从 Junos OS 24.4R1 版开始,现有的 JUNOS DHCPV4/V6 服务器“FORCENEW/RECONFIGURE”支持现在还支持“deferred-NAK”选项,即如果 DHCP 客户端未立即响应 FORCE-RENEW/RECONFIGURE 请求(或其任何后续有限重试),则订阅者会话将保持原位,并保持完全连接,并且会话将被标记为“deferred-NAK”。在守护程序重新启动和 GRES/ISSU 事件中会持续提及此会话状态。