我们拥有基于 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 没有任何运气,也不知道接下来要尝试什么。