I'm not sure I completely understood the whole relationships between ifupdown, systemd-networkd and netplan. I think netplan transforms its YAML configuration into a more verbose systemd-network configuration that I could also maintain myself. Does this have anything to do with the classic ifupdown way and /etc/network/interfaces? I don't know how the tools behind the old solution are called, I just know that /etc/network/interfaces was the place to set things up. Some magic tools would read that file and do something.
So now I face the situation that Ubuntu 20.04 comes with netplan but that doesn't support additional IPv6 addresses with preferred_lft=0, a feature I need today. So I cannot use netplan for that. systemd-network doesn't seem to allow multiple matching config files for one interface, so I think I must not use netplan at all.
Now the question is: where should I go to? Can I keep systemd-network and maintain that config file fully myself? Or do I have to (or should I, and why) go all the way back to /etc/network/interfaces and ifupdown?
There are a number of tutorials and answers available that explain the way back to ifupdown, not mentioning systemd-network at all. So I don't know whether that would be a viable option, maybe a more future-proof one (ifupdown is in the universe archive now, probably getting less or shorter support). Those articles also suggest editing the Linux kernel command line which seems like a rather massive impact. Does the kernel really need to know what userland tools will manage the network?
My environment is a server in a data centre used for shared web hosting and other services that has a static address, needs a few additional addresses and uses a VLAN to connect to other servers in the same data centre. It doesn't have any contact with WLAN. It may serve as a VPN server in some form.
Yes, you can.
Just keep the default /etc/network/interfaces file, which just defines the loopback ("lo") interface, remove any netplan YAML config from /etc/netplan/*.yaml and define your own, manual systemd-networkd configuration in /etc/systemd/network/* as specified by the systemd documentation:
https://www.freedesktop.org/software/systemd/man/systemd.network.html