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?

0 Answers0