我想使用 dhclient 作为我的 DHCP 客户端,由于 systemd-networkd 不支持此功能,所以我想在 Ubuntu 22.04 中切换到网络管理器。
我的 Netplan 配置如下:
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s6:
critical: true
nameservers:
addresses:
- 169.254.169.254
search:
- vcn38927584.oraclevcn.com
dhcp-identifier: "mac"
dhcp4: true
dhcp6: true
我已经指示网络管理器使用 dhclient:
:~$ cat /etc/NetworkManager/conf.d/dhcp-client.conf
[main]
dhcp=dhclient
问题是,重启后我无法从 dhclient 获取 IPv6 地址,直到我手动应用 Netplan 设置:
:~$ ping -6 google.com
ping: google.com: Temporary failure in name resolution
:~$ sudo netplan apply
:~$ ping -6 google.com
PING google.com(lhr25s32-in-x0e.1e100.net (2a00:1450:4009:81e::200e)) 56 data bytes
64 bytes from lhr25s32-in-x0e.1e100.net (2a00:1450:4009:81e::200e): icmp_seq=1 ttl=120 time=1.52 ms
64 bytes from lhr25s32-in-x0e.1e100.net (2a00:1450:4009:81e::200e): icmp_seq=2 ttl=120 time=1.37 ms
64 bytes from lhr25s32-in-x0e.1e100.net (2a00:1450:4009:81e::200e): icmp_seq=3 ttl=120 time=1.39 ms
为什么 Netplan/NetworkManager 在启动时不使用 dhclient?
答案1
尝试同时使用其中一个 IP 版本。为此,首先使用 禁用 ipv4 dhcp4: false
,然后使用 v6。另外,为了便于解决,请复制 yaml 文件作为备份,并删除不必要的行。仅保留网络、版本、以太网、名称、名称服务器和 dhcp4。然后您可以稍后添加其余内容。