目标:
确定仅使用 dhcp4 配置接口失败的原因。
设置
我正在为 Virtualbox VM 配置 netplan。VM 有 1 个桥接适配器连接到我的机器 wlo1,还有 2 个内部适配器,均连接到它们自己的内部网络(即它们没有连接到任何东西),适配器分别对应于接口 enp0s3 enp0s8 和 enp0s9。
netplan 的默认配置是
network:
version: 2
renderer: NetworkManager
问题
默认配置正常工作。enp0s3 通过 dhcp 成功从我的家用路由器获取 IP。ip route 的输出显示默认路由为 192.168.1.1
但是,当我将配置更改为此
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: true
接口无法连接到互联网。我无法 ping google.com,也无法通过 Firefox 导航到任何页面。在 journalctl 中,网络管理器吐出此日志
<info> [1701108834.0160] device (enp0s3): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
这促使我尝试使用以下命令强制 netplan 获取 ip4 地址
nmcli connection modify enp0s3 ipv4.method auto && nmcli connection up enp0s3
此命令返回以下错误
Error: Connection activation failed: IP configuration could not be reserved (no available address, timeout, etc.)
Hint: use ‘journalctl -xe NM_CONNECTION=(long string) + NM_DEVICE=enp0s3’ to get more details
还值得注意的是,我已经能够让这个问题中的第二个配置在具有不同网络配置的库中工作。我的主机运行的是 Ubuntu 23.04,而虚拟机运行的是 Ubuntu 22.04。
编辑:
我能够通过在 netplan 配置中将 dhcp6 设置为 true 来使连接重新工作(见下文)。删除此字段并应用配置会带回原始网络问题。我的家庭网络使用特许频谱。我现在的主要问题是为什么需要这样做?这是必需的吗?
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
如果有任何更多信息有帮助,请告诉我。
编辑:
仍然有兴趣确定是什么原因造成的。想知道是否有人有使用特许频谱租用路由器的经验以及可能导致这种情况的问题。