
抱歉,如果這是微不足道的......但我似乎無法讓 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 上遇到了完全相同的問題。真是令人沮喪。感覺就像是被什麼東西搔癢的蟲子。