netplan apply/try/generate 以 ERROR 结束

netplan apply/try/generate 以 ERROR 结束

我们拥有基于 VMWare 的云基础设施,其中包含 Windows 和 Linux VM。上次重启后,Ubuntu 中的 4 个(3 个 Ubuntu 20.04 和 1 个 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 applynetplan generatenetplan 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,但没有成功,也不知道下一步该尝试什么。

答案1

嗯,找到解决方案了。

问题在于gateway4配置文件中的贬值标签。

过去是gateway4: <gateway>,现在是:

      routes:
      - to: default
        via: <gateway>
        metric: 100

相关内容