我刚刚在https://www.isc.org/dhcp上看到了新闻:
到2022年初,ISC已经停止了对ISC DHCP客户端的开发。此客户端实现不再维护,不应再用于生产。
Now <#>dhclient seems将退休,我应该使用什么DHCP客户端?
更具体地说,我使用Debian 11,我需要一个DHCP客户端,可以从命令行指示续订租约。目前我这样做:
sudo dhclient -r
sudo dhclient或者,对于特定的接口,如eth0:
sudo dhclient -r eth0
sudo dhclient eth0--编辑-
关于这一问题的其他讨论:
他们似乎建议systemd-networkd。
发布于 2022-08-26 11:45:25
我将dhclient替换为的DHCP客户端,方法如下:
1.卸载dhclient
sudo apt purge -y isc-dhcp-client
sudo apt purge -y isc-dhcp-common2.启动系统d-networkd
sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd3.使用自己的DHCP客户端使systemd管理网络接口
对于每个接口,在/etc/systemd/network中创建一个D3配置文件,例如05-enp1s0.network:
[Match]
Name=enp1s0
[Network]
DHCP=yes在重新启动Linux或重新启动systemd或sudo networkctl reload之后,这些接口将由systemd的DHCP客户端配置。更新接口配置很容易,例如:
sudo networkctl renew enp1s0这是非常主观的,但我最初的经验是,systemd的DHCP客户端比dhclient更可信,反应更快。如果我更改网络连接,这在我的用例中经常发生,我会得到一个很好的即插即用体验。
4. 添加8.8.8.8作为主DNS服务器
打开系统解决方案:
sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved在/etc/systemd/resolved.conf中:
[Resolve]
DNS=8.8.8.8在/etc/nsswitch.conf中,将resolve添加到hosts的第一位:
...
hosts: resolve [!UNAVAIL=return] files dns
...现在systemd-resolve可以工作了,但是nslookup仍然将使用由DHCP客户端写入/etc/resolv.conf的DNS服务器。要解决这个问题,请将/etc/resolv.conf转换为systemd解析所使用的resolv.conf文件的软链接:
cd /etc
sudo rm resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf resolv.conf在重新启动systemd解决后,该文件在第一行和下面包含8.8.8.8,DHCP客户端从连接网络的DHCP服务器收集DNS服务器,例如:
nameserver 8.8.8.8
nameserver 192.168.1.1
nameserver 192.168.42.129https://serverfault.com/questions/1108989
复制相似问题