Hi. I did som further investigation here, and I think I've figured out what happens in networkd here.
Aug 21 10:54:45 nettest1 systemd-networkd[5463]: ens3: Removing address: 2001:700:1d00:ec00:5054:ff:fe49:4bc9/64 (valid for 4w 2d) Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Removing address: 10.212.128.84/24 (valid for 11h 57min 54s) Aug 21 10:54:46 nettest1 systemd-networkd[5463]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1/link/_32 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=17 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a Aug 21 10:54:46 nettest1 systemd-networkd[5463]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=18 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Routing policy rule configured Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Could not set route: Network is unreachable Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Routes set Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Adding address: 10.212.128.84/24 (valid for 12h) Aug 21 10:54:46 nettest1 systemd-networkd[5463]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1/link/_32 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=19 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a Aug 21 10:54:46 nettest1 systemd-networkd[5463]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=20 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a Aug 21 10:54:46 nettest1 systemd-networkd[5463]: ens3: Configured Basically it seems like networkd does the following on "netplan apply": 1) Remove every address 2) Add routes - which of course will fail with "network is unreachable" because the interfaces don't have an address yet 3) Adding the addresses -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1836695 Title: Netplan ignores static routes when using DHCP Status in netplan: Invalid Status in systemd package in Ubuntu: New Bug description: Consider the following setup: network: version: 2 renderer: networkd ethernets: ens4: dhcp-identifier: mac dhcp4: yes dhcp4-overrides: use-dns: no use-ntp: no send-hostname: no use-hostname: no use-routes: no routes: - to: 10.0.0.0/8 via: 10.50.0.1 optional: true Thus I only need to get the IP address by DHCP, then add some static routes. This setup doesn't work. Apparently `routes` keyword only works when using static addresses. To manage notifications about this bug go to: https://bugs.launchpad.net/netplan/+bug/1836695/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp