Ubuntu Server:自动从新连接的 DHCP 服务器获取 IP

Ubuntu Server:自动从新连接的 DHCP 服务器获取 IP

我知道如何请求机器获取新的 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-hotplugauto你的网络接口文件。

相关内容