抱歉,如果这很简单...但我似乎无法让 netplan 设置到默认网关的正确路由。我必须使用“sudo route add default gw [...]”手动设置它,以使服务器能够访问互联网。
这是我当前的 netplan 配置(在 /etc/netplan/00-installer-config.yaml 中):
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
eno2:
dhcp4: no
enp33s0f0:
dhcp4: no
enp33s0f1:
dhcp4: no
ens1f0:
addresses:
- [xxx].[yy].[zz].124/29
routes:
- to: default
via: [xxx].[yy].[zz].121
nameservers:
addresses: [redacted]
dhcp4: no
dhcp6: no
ens1f1:
dhcp4: no
这样就可以正确设置 IP 号码,我可以从邻近的服务器连接。但是,“route -n”仅显示以下内容:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[xxx].[yy].[zz].120 0.0.0.0 255.255.255.248 U 0 0 0 ens1f0
... 意味着没有到实际网关的路由。我必须使用“route”命令手动设置它,如下所示:
sudo route add default gw [xxx].[yy].[zz].121 ens1f0
... 然后一切都正常,包括 DNS;但这在重启后不起作用。知道我做错了什么吗?我尝试使用“on-link: true”设置,但也没有用。
非常感谢您的帮助/见解!
答案1
我刚刚在完全修补的 ubuntu 22.04 服务器上测试了您的精确配置文件,并且只调整了接口名称和 IP 地址,一切运行良好。
也许这是一个愚蠢的问题,但是在配置更改后您是否执行过“netplan apply”?
答案2
没有足够的积分来评论。我遇到了同样的问题,以为是 netplan 或 ubuntu 系统的问题,结果发现我在 Yaml 定义中将网关写错了,应该是 192.68.1.1,而不是 192.168.1.1。直到我检查 /run/systemd/network/10-netplan-ens8.network 才发现
答案3
我在 Ubunutu 22.04 上遇到了完全相同的问题。这真的很令人沮丧。感觉就像是被什么东西刺激到的 bug。