搜索

1.3. 配置 DHCP 客户端行为

download PDF
DHCP 客户端在每次连接到网络时都从 DHCP 服务器请求动态 IP 地址和对应配置信息。
请注意,NetworkManager 默认调用 DHCP 客户端,dhclient

请求 IP 地址

DHCP 连接启动时,dhcp 客户端会从 DHCP 服务器请求 IP 地址。默认情况下,dhcp 客户端等待此请求完成的时间为 60 秒。您可以使用 nmcli 工具或 /etc/sysconfig/network -scripts/ifcfg-ifname文件中的 IPV4_DHCP_TIMEOUT 选项来配置ipv4.dhcp- timeout 属性。例如,使用 nmcli:
~]# nmcli connection modify enp1s0 ipv4.dhcp-timeout 10
如果在这个间隔内无法获取地址,则 IPv4 配置会失败。整个连接也可能失败,这取决于 ipv4.may-fail 属性:
  • If ipv4.may-fail 被设置为 yes (默认),连接的状态取决于 IPv6 配置:
    1. 如果启用了 IPv6 配置并成功,连接将被激活,但无法再次重试 IPv4 配置。
    2. 如果禁用或未配置 IPv6 配置,连接会失败。
  • If ipv4.may-fail 设置为 没有 停用连接。在这种情况下:
    1. 如果启用了 连接的 autoconnect 属性,NetworkManager 会重试以激活连接次数,次数与 autoconnect-retries 属性中设置的次数相同。默认值为 4。
    2. 如果连接仍然无法获得 dhcp 地址,则自动激活会失败。
      请注意,5 分钟后,自动连接过程将再次启动,dhcp 客户端会尝试从 dhcp 服务器获取地址。

请求租用续订

当 dhcp 地址被获取并且 IP 地址租期无法续订时,dhcp 客户端每 2 分钟重启三次,以尝试从 dhcp 服务器获得租用。每次都配置它,方法是将 ipv4.dhcp-timeout 属性设置为秒(默认为 60)以获取租用。如果在尝试过程中收到回复,则进程将停止,并且您的租期续订。
三次尝试失败后:
  • If ipv4.may-fail 设置为 yes (默认)和 IPv6 配置成功,连接将被激活,dhcp 客户端每 2 分钟重新重新启动一次。
  • If ipv4.may-fail 设置为 no,则连接将被停用。在这种情况下,如果连接启用了 autoconnect 属性,则从头激活连接。

1.3.1. 使 DHCPv4 持久

要使 DHCPv4 在启动和租期续订过程中持久化,请将 ipv4.dhcp-timeout 属性设置为 32 位整数(MAXINT32)的最大值,即 2147483647infinity 值:
~]$ nmcli connection modify enps1s0 ipv4.dhcp-timeout infinity
因此,NetworkManager 永远不会停止尝试从 DHCP 服务器获取或续订租期,直到成功为止。
要确保仅在租期续订过程中有 DHCP 持久性行为,您可以在 /etc/sysconfig/network-scripts/ifcfg- enp1s0 配置文件中使用 nmcli 手动将静态 IP 添加到 /etc/sysconfig/network-scripts/ifcfg- enp1s0 配置文件中的 IPADDR 属性中:
~]$ nmcli connection modify enp1s0 ipv4.address 192.168.122.88/24
当 IP 地址租用到期时,静态 IP 会保留已配置或部分配置的 IP 状态(您可以拥有 IP 地址,但您未连接到互联网),确保 dhcp 客户端每 2 分钟重新启动一次。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.