On 3/19/26 02:22, Owen DeLong wrote:
Linux has a bunch of different possible ways to administer all of this stuff.
Indeed, and that's pretty much the downside of Linux-as-a-router and a lot of open source options in general. Too much choice can be at minimum overwhelming and even a problem. If you can find a distribution that integrates everything with your favorite method of administration, you're on the right track.
My strong recommendation is take the time to learn systemd-networkd and use it. It’s a bit of a pain and some of the syntax can be arcane and frustrating. It’s also annoying the way it dithers the configuration for a given interface across a multitude of files in some cases. However, when I think the obvious corner cases through and consider the alternatives, I usually find myself realizing that they’ve probably made as good a choice as any for what needs to be done.
Yes, systemd-networkd is very capable (if arcane and unfriendly at times) for static configuration persistence. NetworkManager is more geared toward and indeed seems better for systems that are using lots of runtime dynamic configuration (DHCP, 802.1x, etc.) and also provides better desktop environment integration. I mostly use systemd-networkd on my generic-Linux-distro-as-a-router and adjacent (local DHCP/DNS, for example) systems.