![Linux Mint 20(systemd networkd)通过不调用 dhclient(isc-dhcp 客户端)来忽略 dhclient.conf](https://linux22.com/image/1633108/Linux%20Mint%2020%EF%BC%88systemd%20networkd%EF%BC%89%E9%80%9A%E8%BF%87%E4%B8%8D%E8%B0%83%E7%94%A8%20dhclient%EF%BC%88isc-dhcp%20%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89%E6%9D%A5%E5%BF%BD%E7%95%A5%20dhclient.conf.png)
我正在运行 Linux Mint 20“Ulyana”,当它启动时它似乎完全忽略了/etc/dhcp/dhclient.conf
。
在以前的 Linux Mint 版本中,可以添加以下行/etc/dhcp/dhclient.conf
:
send dhcp-requested-address 192.168.1.125;
当 Linux Mint 启动时,它会调用dhclient
(isc-dhcp 客户端),默认情况下会将其用作/etc/dhcp/dhclient.conf
默认配置文件。
虽然dhclient
Linux mint 启动后手动调用似乎工作正常,但这不是一个可接受的解决方案:
sudo -i
dhclient -v -4 -cf /etc/dhcp/dhclient.conf -pf /run/dhclient.eno1.pid -lf /var/lib/dhcp/dhclient.eno1.leases
看起来在以前的版本中,Linux Mint 的 systemd-networkd、systemd-dispatcher 或 NetworkManager 会调用dhclient
但现在不再发生这种情况了。
有人知道我该如何修复或解决这个问题吗?
到底我想向 DHCP 服务器传递一些额外的请求参数. 主要是,我想请求一个定义的 IP 地址,即:192.168.1.125。
这些是 systemd 网络相关服务,似乎正在运行
networkd-dispatcher. service loaded active running
networking.service loaded active exited
NetworkManager loaded active running
network.target loaded active active
答案1
systemd-networkd 有绝不使用了 dhclient;它有自己的内置 DHCP 客户端库。
NetworkManager 支持多个 DHCP 客户端。默认值取决于您的发行版(和 NM 版本),但可以通过/etc/NetworkManager/NetworkManager.conf
本[main]
节进行更改。
dhcp=dhclient
运行独立的 dhclient 程序。dhcp=internal
使用内置客户端(从 systemd-networkd 复制的 sd-dhcp 库或 nettools/n-dhcp4 库,取决于 NM 版本)。dhcp=systemd
使用内置客户端(sd-dhcp 库)。dhcp=nettools
使用内置客户端(nettools/n-dhcp4 库)。
(请注意 NetworkManager绝不使用独立的 systemd-networkd 服务 - 它只是直接嵌入了部分网络代码。)