dhclient是做什么的?

问题描述

我有一个服务器无法连接到任何网络,并且在与之争吵时发现运行此命令/etc/init.d/network restart && dhclient的临时解决方案。但是,我不太了解dhclient命令是如何解决此问题的?任何帮助表示赞赏。谢谢!

解决方法

dhclient向DHCP服务器(reference 1reference 2)请求IP地址。

根据您的描述,似乎正在发生以下情况:

  • 最初,没有为计算机上的任何网络接口分配IP地址。因此,您无法使用基于IP的协议连接到其他服务器。您可以使用ip addressifconfig -a验证是否未分配IP地址。

  • 然后启动dhclient,它将使用DHCP请求IP地址。通过将DHCP发现消息发送到网络的广播地址来实现。

  • 在本地网络中的某个位置(例如,在路由器/网关上)运行着一个DHCP服务器。 DHCP服务器收到DHCP发现消息,并为您的计算机保留IP地址。 DHCP服务器将DHCP供应消息发送回您的计算机(基于DHCP发现消息中包含的计算机的链路层地址,即网络接口的MAC地址)。 DHCP供应消息会告诉您的计算机正在为其提供哪个IP。

  • 您的机器接收到DHCP提供消息,并用DHCP请求消息答复提供的IP地址。 DHCP服务器回复DHCP确认消息,告诉您该IP现在可以由您的计算机使用。您的网络接口已配置为分配的IP地址。现在,您可以使用基于IP的协议连接到其他服务器。

dhclient在功能上与dhcpd类似,它们的行为仅存在一些细微的差异,例如如果找不到广播接口,dhclient将立即退出,而dhcpd将继续在后台运行,直到可用接口(reference)。

使用DHCP的替代方法是为计算机分配静态IP。