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