0

I have a server cluster where all servers have a second network card. These seconds cards are connected to an additional cluster-local switch. It's a 10GBit local interconnect. I connect these servers via IPv6. On each server runs a radvd. It announces the server's IPv6 address range onto this 2nd network card and is configured as follows:

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
};

The Netplan YAML on the servers reads as follows:

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

With Ubuntu 18.04, this works as expected. I see the routes in 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

With Ubuntu 20.04, however, I see nothing. The routes are simply not added. Something happens, however, when I issue netplan try and hit Enter after some seconds. Then, and only then I see a route:

<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

After this route definition expires, it is gone and does not come back until a new netplan try is issued.

I can disable the router advertisements and add the routes explicitly and statically:

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>

This works, so routing and networking generally is operational.

I am really a bit lost. Am I doing something wrong or is this a bug in Netplan or systemd-resolved? Does anyone know what is going on and how Ubuntu 20.04 can be convinced to listen to the router advertisements?

  • 1
    Hello @Dirk, could you please specify which versions of netplan you are using on 18.04/Bionic and 20.04/Focal correspondingly? `dpkg -l | grep netplan.io`. It is really strange that those RAs expire a while and are only available after calling `netplan try`/`netplan apply` manually. I need to investigate why this could be the case. – Slyon Aug 03 '20 at 15:20
  • Hello @Lukas, in 18.04/Bionic it's "0.99-0ubuntu3~18.04.3" and in 20.04/Focal it's "0.99-0ubuntu3~20.04.2". In both cases, it's the most current version that comes with the respective Ubuntu, all systems have all updates applied and I did not exchange any packages with something on my own. 18.04-kernel is Ubuntu-delivered 4.15.0-112-generic, 20.04 has 5.4.0-42-generic. – Dirk Hillbrecht Aug 03 '20 at 20:11
  • 1
    Hey @Dirk, yes your versions look good. Would you mind installing `network-manager` and using `renderer: NetworkManager` and `dhcp6: true` in your YAML config? There have been problems with networkd dropping routes after 1800sec and I'd like to evaluate if it works with NetworkManager instead of networkd. (https://github.com/systemd/systemd/issues/7354) – Slyon Aug 05 '20 at 08:22

0 Answers0