我知道如何请求机器获取新的 IP 地址,但我有一个稍微不同的情况。
我在本地网络上配置了一个具有 DHCP 的盒子。因此,它获得了一个 IP 地址。我想将它发送给另一个网络上也具有 DHCP 的人。理想情况下,他们会在启动机器之前插入以太网电缆;实际上,他们会尽可能快地插入电缆。
我看到的问题是:他们先插上电源,然后插上以太网。除非我们让他们重新启动机器(或者,如果我们让他们登录,则通过重新启动网络或强制 DHCP 释放/更新),否则机器不会使用新的 DHCP 服务器自动获取 IP 地址。
有没有办法配置 Ubuntu 服务器(10.04 LTS)自动地尝试在以太网电缆连接时随时释放/更新?
答案1
处理这个问题的一个常见方法似乎是添加 udev 规则文件。我相信这个文件是由桌面系统上的某个软件包安装的,但我在任何 Ubuntu 或 Debian 服务器上都找不到它。
这里有一个博客似乎有一些细节。
该博客建议添加这样的 udev 规则。
/etc/udev/rules.d/85-ifupdown.rules
# This file causes network devices to be brought up or down as a result
# of hardware being added or removed, including that which isn't ordinarily
# removable.
# See udev(7) for syntax.
SUBSYSTEM=="net", GOTO="net_start"
GOTO="net_end"
LABEL="net_start"
# Bring devices up and down only if they're marked auto.
# Use start-stop-daemon so we don't wait on dhcp
ACTION=="add", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow hotplug $env{INTERFACE}"
ACTION=="remove", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow hotplug $env{INTERFACE}"
LABEL="net_end"
如果你看一下正在使用的 ifup 命令,你会发现它只适用于热插拔接口。因此,请确保allow-hotplug
在auto
你的网络接口文件。