我有一台服务器,当前 /etc/network/interfaces 如下:
auto lo
iface lo inet loopback
auto em1
iface em1 inet dhcp
auto em1:1
iface em1:1 inet static
address 192.168.168.1
netmask 255.255.255.0
dhclient.conf 文件是默认文件,未进行任何编辑。如果我将 2 台机器连接在一起,pc1 上的以太网端口连接到 pc2 上的以太网端口,则连接可以正常工作 5 分钟(这恰好是默认的 dhclient.conf 超时)。如果我将 dhclient.conf 超时更改为 20 秒,机器将保持连接 20 秒,然后关闭两个接口(em1 和 em1:1)。我可以对两个连接执行 ifdown 操作,然后执行 ifup 操作以启动它们,但无论 dhcp 超时是多少,它们都会再次死机。
/etc/network/interfaces 必须像这样,em1 上的 DHCP 具有静态的 em1:1 别名或虚拟连接。我可以将 dhcp 超时设置为 9 ...
有什么想法吗?请不要提出 Network Mangler 建议 :)
答案1
对于嵌入式应用程序,我们遇到了类似的问题,我们想要在可用时连接到 DHCP 服务器,但在别名上也有一个静态 IP。
我们的最终解决方案是简单地将一个脚本添加到 /etc/dhcp/dhclient-enter-hooks.d/,该脚本只需重新启动别名即可。我们用洪水 ping 测试了这一点,即使 DHCP 重试导致此脚本运行,别名上也没有丢包。整个脚本如下:
ifup em1:1 @> /dev/null