为什么 Netplan 104 不喜欢与 101 兼容的配置?

为什么 Netplan 104 不喜欢与 101 兼容的配置?

我有两个运行 Ubuntu 20.04 的系统。

crs_admin@TST-CLD-vBWM01:~$ uname -a
Linux TST-CLD-vBWM01 5.4.0-94-generic #106-Ubuntu SMP Thu Jan 6 23:58:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
crs_admin@TST-CLD-vBWM01:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

我正在尝试使用 netplan 配置它们。有一个配置一个接口的文件和一个配置另一个接口的 05-* 文件。(或中/etc/netplan/00-installer-config.yaml没有.yaml文件。)/lib/netplan//run/netplan/

这两个文件的“形状”在两个系统上是相同的;只有接口名称和 IP 地址不同。(file说它们是 ASCII 文本,ls -l说它们具有相同数量的字节,并且我已将它们拉到第三个系统并进行了逐个字符的比较。)

00文件:

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens161:
      addresses:
      - 192.168.35.76/24
      gateway4: 192.168.35.1
      nameservers:
        addresses:
        - 10.145.100.5
        - 10.145.100.7
        - 8.8.8.8
        search:
        - mydomain.com
  version: 2

05文件:

network:
  ethernets:
    ens160f0:
      addresses: [192.168.250.46/30]
      routes:
        - to: 10.110.0.0/15
          via: 192.168.250.45
    ens224f1:
      addresses: [192.168.250.50/30]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.250.49
  version: 2

其中一个系统正在运行 Netplan 101:

$ sudo apt list --installed | grep netpl

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libnetplan0/now 0.101-0ubuntu3~20.04.2 amd64 [installed,upgradable to: 0.104-0ubuntu2~20.04.2]
netplan.io/now 0.101-0ubuntu3~20.04.2 amd64 [installed,upgradable to: 0.104-0ubuntu2~20.04.2]

该系统按预期运行。具体来说,netplan generate没有给出任何警告,而且我可以 ping “via” 地址。

另一个系统正在运行104:

$ sudo apt list --installed | grep netpl

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libnetplan0/focal-updates,now 0.104-0ubuntu2~20.04.2 amd64 [installed,automatic]
netplan.io/focal-updates,now 0.104-0ubuntu2~20.04.2 amd64 [installed]

该系统确实不是按预期/期望工作。

首先,netplan generate说:

** (g​​enerate:23145): 警告 **: 17:18:13.317: 验证默认路由一致性时遇到问题。请设置多个路由表并改用routing-policy。错误:IPv4 的默认路由声明冲突(表:main,度量:default),首先在 ens224f1 中声明,但也在 ens161 中声明

但是ens161没有默认路由。

如果我无视警告继续按,我可以 ping 出ens224f1192.168.250.49,但是我不能ping 到ens160f0192.168.250.45。

如果能解决问题的话我愿意降级到 101,但是当我寻找可用版本时,我只找到 99 和 104。

任何见解都值得赞赏。谢谢。

答案1

gateway4声明默认路由;这就是网关。因此,您在两个不同的接口上声明了两个默认路由,而 netplan 现在会通知您这是一个不连贯的配置。

相关内容