dhclient和dhcpcd的真正区别


12

我无法从手册页中找出区别。我可以看到什么是守护程序,一个是客户端,但是使用这些命令实际上意味着什么?在这种情况下,客户端和守护程序之间还有什么区别,不仅是术语(客户端和守护程序),还是功能上的区别?编辑:如何划分任务,如果客户端更新了客户端上的信息,则守护程序的目的是什么。我说的是这种情况下的客户端守护程序dhcpcd而不是dhcpd。两者都默认安装在某些版本的Linux上,似乎共享dhcp客户端的职责。

NAME dhcpcd-DHCP客户端守护程序

Name
dhclient - Dynamic Host Configuration Protocol Client 

Answers:


13

ISC提供了dhclient,因此,它可以作为一种参考。更轻量级的dhcpcd在某种程度上是最新的。dhcpcd和dhclient都是功能齐全的DHCP客户端守护程序。Dhclient不是“一次性”实用程序:

dhdhclient

-w即使未找到广播接口,也继续运行。通常,如果DHCP客户端无法识别任何要配置的网络接口,它将退出。(......)

这更像dhcpcd的默认行为。


DHCP一直是一个移动的目标,许多供应商(尤其是Microsoft)引入了与标准的各种差异。


2

dhclient是一个一次性客户端-它一次仅与服务器联系一次即可请求或验证客户端的IP地址。

相比之下,dhcpcd在后台运行,并且在租用时间到期后自动管理重新请求,例如pp。,而无需再次调用。

顺便说一句,不要混淆dhcpcd和dhcpd。后者是dhcp服务器-将其配置为将地址分发给网络设备。除非您正在使用该计算机来管理整个网络的IP地址,否则通常不会在计算机上使用dhcpd。


2
不赞成投票:我不同意。我已经看到dhclient保持运行状态,并处理DHCP租约续订。也许您的信息对于某些dhclient软件版本是准确的,但对于ISC dhclient(通常是参考版本)却不正确。尝试检查dhclient似乎已完成其工作后正在运行的内容。您可能会发现,即使确实将终端返回了命令提示符,它仍在运行。
TOOGAM 2015年

2

看来ISC dhclient不是单发客户端。它的手册页说:

The DHCP client will normally run in the foreground until it has 
configured an interface, and then will revert to running in the 
back-ground.

您可以使用-1标志要求dhclient仅尝试获取IP一次,然后在失败时退出。从手册页:

The -1 flag cause dhclient to try once to get a lease.  If it 
fails, dhclient exits with exit code two.

1

Debian提供了一个dhcpcd软件包。程序包描述如下:

Simple configuration: supports executions of a script when the IP address changes.

dhclient通常以这种方式使用: dhclient -v eth0或类似的方式-将会发生广播eth0,并且DHCP服务器答复时,它将应用给的信息eth0。然后它将退出。此后将不再监视接口。我没有用过,dhcpcd但我想这就是它的目的。

你可以使用dhclient,如果事情搞砸了,你想手动获取从DHCP服务器的IP清新。我拥有一个很好的工具,这就是为什么许多发行版都包含它的原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.