Ubuntu
netplan apply/try/generate 以 ERROR 結尾
我們擁有基於 VMWare 和 Windows 和 Linux 虛擬機的雲基礎架構。上次重啟後 4 台 Ubuntu(3 台 Ubuntu 20.04 和一台 Ubuntu 16.04)伺服器沒有啟動網路介面。
lshw -class network
我看到列出了正確的網路介面。網路中沒有 DHCP,所有伺服器都使用靜態 IP。重新啟動後networkctl
,特定介面的 OPERATIONAL 列中為 OFF。使網路正常工作的唯一方法是使用以下 IP 命令序列,但重啟後一切都消失了:$ip link set <link_name> up $ip addr add <server-ip>/24 dev <link_name> $ip route add default via <gateway> dev <link_name>
看起來問題出在netplan上。我有 netplan 配置,它與伺服器一起部署,當從模板創建時,它在這個基礎設施中的所有其他 Ubuntu 伺服器上執行良好,除了這 4 台伺服器。它還在這些伺服器上工作,直到本週重新啟動(我們通常每月更新和重新啟動一次)配置如下所示:
network: version: 2 renderer: networkd ethernets: <link_name>: dhcp4: no dhcp6: no addresses: - <server_ip>/24 gateway4: <gateway> nameservers: search: - <domain> addresses: - <dns_1> - <dns_2>
但是,當嘗試
netplan apply
,netplan generate
或者netplan try
,它返回奇怪的錯誤時,我在網際網路上找不到任何相關資訊。(出於安全目的,我用 <correct_gateway> 替換了我的網關 IP,在此操作中用 <some_random_ip> 替換了其他 IP)ERROR:src/parse.c:1120:handle_gateway4: assertion failed (scalar(node) == cur_netdef->gateway4): ("<correct_gateway>" == "<some_random_ip>") Bail out! ERROR:src/parse.c:1120:handle_gateway4: assertion failed (scalar(node) == cur_netdef->gateway4): ("<correct_gateway>" == "<some_random_ip>")
如果我在 *.yaml 配置文件中添加一些縮進錯誤,它會返回指向此錯誤的正常錯誤消息。
我嘗試重新安裝 netplan.io 沒有任何運氣,也不知道接下來要嘗試什麼。
嗯,找到了解決辦法。
問題是配置文件中的折舊
gateway4
標籤。過去是
gateway4: <gateway>
,現在是:routes: - to: default via: <gateway> metric: 100