dhclient 是做什么的?

Yon*_*zhu 7 networking network-programming routes dhcp dhclient

我有一台服务器无法连接到任何网络,在与它争论时,我找到了运行此命令的临时解决方案:/etc/init.d/network restart && dhclient。但是,我不太明白该dhclient命令到底做了什么来解决这个问题?任何帮助表示赞赏。谢谢!

f9c*_*534 7

dhclient从 DHCP 服务器请求 IP 地址(参考文献 1参考文献 2)。

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

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

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

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

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

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

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