Jak*_*son 10 dhcp fedora centos
我们为小型企业网络上的 Linux 服务器使用静态 DHCP 租约。最近 DHCP 服务器发生了一些不好的事情,所有的 linux 服务器最终都丢失了它们的 IP 地址,因为它们在网络上找不到 DHCP 服务器。
一天后快进,DHCP 服务器已备份并运行,但服务器似乎不再寻找 DHCP 服务器,因此它们没有 IP 地址,也没有尝试获取 IP 地址。我最终不得不手动和物理地转到每个服务器并重新启动网络,此时他们会立即取回他们的 IP 地址。
我可以在服务器上做些什么来防止将来出现此问题?我确信在 DHCP 服务器出现故障后,服务器可能会尝试更新 IP 地址一段时间,但最终它们显然只是停止尝试。
显然,一个解决方案是拥有一个备份 DHCP 服务器,但让我们假设这不是一个选项。有什么方法可以强制服务器无限期地继续尝试更新其 IP?
服务器是 CentOS 和 Fedora 的混合体。
And*_*dyN 13
他们是否恢复到 APIPA 寻址?169.254.0.0/16?您可以使用NOZEROCONF=Yes禁用它/etc/sysconfig/network 中指令。
您还应该将 DHCP 租约延长至 DHCP 服务器最长合理中断间隔的两倍。客户通常会等待一半的租期,然后再尝试续订;如果他们每两天只登记一次,您就有相当大的余地来修复服务器或安装新服务器。
我们在生产中运行完全保留的 DHCP;这不是一个可靠性问题。事实上,我认为静态 IP 寻址是人们坚持的最后一种手动操作,这在很大程度上是不合时宜的。我没有做过正式的分析,但三年来我们遇到了一个与 DHCP 相关的问题,那就是一个管理员胖手指,它错误地触发了“立即发布”脚本。在“糟糕”原因的直方图上,DHCP 在长尾上遥遥领先。
我知道每个人都喜欢在 Windows 上拖泥带水,但是当 APIPA 被禁用并启用 DHCP 时,Windows 机器非常顽固地坚持他们最后一次分配的 DHCP。在几个月后,我已经给机器加电了,wireshark 显示他们要求最后一个 DHCP 分配的地址。
我对服务器使用静态 IP 地址,仅对个人计算机使用 DHCP。
虽然我相信 DHCP 会做出一些努力来避免更改设备的 IP 地址,但这不是 quaranteed - 在租约到期时,计算机可能会被 DHCP 分配一个不同的 IP 地址。我一直认为在工作日中间让服务器发生这种情况是一件坏事。
您可以PERSISTENT_DHCLIENT=yes在 /etc/sysconfig/network-scripts/ifcfg-ethX 中设置。这有效地删除了-1在 RedHat 样式系统上默认发送到 dhclient的标志。来自man dhclient:
-1 标志导致 dhclient 尝试一次获得租约。如果失败,dhclient 将退出,退出代码为 2。
但是,如果您停电并且您的服务器在您的交换机之前恢复在线,这将不起作用,因为https://bugzilla.redhat.com/show_bug.cgi?id=234075。基本上,该错误表示 ifup 在尝试运行 dhclient 之前首先检查界面上是否存在链接。没有链接 -> 没有 dhclient。
我的解决方案是将其添加到 root 的 crontab 中:
*/5 * * * * ifconfig eth0 | grep -q "inet addr:" || ifup eth0 2>&1 >/dev/null
还要将此添加到 /etc/dhcp/dhclient.conf 以快速恢复:
retry 10
timeout 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9581 次 |
| 最近记录: |