基于 Netplan 的网络配置忽略了 Ubuntu 20.04 上的 IPv6 路由器广告

基于 Netplan 的网络配置忽略了 Ubuntu 20.04 上的 IPv6 路由器广告

我有一个服务器集群,其中所有服务器都有第二张网卡。这些第二张网卡连接到另一个集群本地交换机。这是一个 10GBit 本地互连。我通过 IPv6 连接这些服务器。每台服务器上都运行一个 radvd。它将服务器的 IPv6 地址范围通告到第二张网卡上,配置如下:

interface <2nd network card> {
  AdvSendAdvert on;     // we advertise
  AdvDefaultLifetime 0; // we're no default gateway
  route <network of this server>::/64 {};  // offer route through this network to me
};

服务器上的 Netplan YAML 内容如下:

network:
  version: 2
  renderer: networkd
  ethernets:
    <2nd network card>:
      accept-ra: true  // also tried "dhcp6: true"...

使用 Ubuntu 18.04,一切按预期运行。我看到了以下路线ip -6 r

<network of other server>::/64 via <link-local adr of 2nd card of other server>
   dev <my 2nd network card> proto ra metric 1024 pref medium

然而,在 Ubuntu 20.04 中,我看到没有什么。路线根本就没有添加。但是,当我netplan try在几秒钟后发出并按下 Enter 时,发生了一些事情。然后,只有那时我看到一条路线:

<network of other server>::/64 via <link-local adr of 2nd card of other server>
   dev <my 2nd network card> proto ra metric 1024 expires 1794sec pref medium

netplan try此路线定义过期后就会消失,直到发出新的路线定义才会恢复。

我可以禁用路由器通告并明确静态地添加路由:

network:
  version: 2
  renderer: networkd
  ethernets:
    <2nd network card>:
      accept-ra: false
      routes:
        - to: <network of other server>::/64
          via: <link-local adr of 2nd card of other server>

这是可行的,因此路由和网络通常是可运行的。

我真的有点迷茫。是我做错了什么,还是这是 Netplan 或 systemd-resolved 中的错误?有人知道发生了什么,以及如何说服 Ubuntu 20.04 听取路由器广告吗?

相关内容