如何强制 dhclient 运行?

如何强制 dhclient 运行?

我通常使用静态配置的 eth0,该配置来自 /etc/network/interfaces 中的信息,但有时需要使用 dhcp 获取的配置。运行 dhclient 只会告诉我它现在是一个 upstart 作业并建议运行 reload,但 reload dhclient 会响应“未知作业:dhclient”。

我怎样才能让它运行?

答案1

配置接口以使用 DHCP(客户端),只需将其放入/etc/network/interfaces

auto eth0
iface eth0 inet dhcp

以避免 NetworkManager 管理它。重新启动 NetworkManager 即可解决此问题:

# service network-manager restart

如果你需要手动运行后使用或命令dhclient自行配置,你就可以,我不知道如何ifconfigip暴发户涉及这里。

例如:

在以下位置手动配置它/etc/network/interfaces

auto eth0
iface eth0 inet manual

然后接口默认处于关闭状态,

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b4:b5:2f:xx
          BROADCAST MULTICAST  MTU:1500  Metric:1

所以,提出来

# ifconfig eth0 up
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b4:b5:2f:xx
          UP BROADCAST MULTICAST  MTU:1500  Metric:1

并开始dhclient

# dhclient eth0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b4:b5:2f:xx
          inet addr:192.168.0.134  Bcast:192.168.0.255  Mask:255.255.255.0

答案2

虽然 gertvdijk 所说的一切都是真的,但警告信息也是真实的:

# dhclient eth0
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd reload

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the reload(8) utility, e.g. reload smbd
#

但它不会阻止命令运行。

相关内容