Frequently Asked Question
What's the difference between NetworkManager and systemd-networkd?
Both are services that bring up network interfaces, request DHCP leases, set
routes, and configure DNS. The difference is the audience. NetworkManager is
the desktop default: it has a graphical applet, a nmcli and nmtui command-line
and TUI front-end, knows how to roam between Wi-Fi networks, handles VPNs and
mobile broadband, and reacts dynamically when you plug in a cable. Almost every
desktop distribution ships it.
systemd-networkd is the server and embedded counterpart: minimal, fast to
start, declarative (configured by .network and .netdev files in
/etc/systemd/network/), and integrates tightly with the rest of systemd. It
excels at static IPs, VLANs, bridges, bonds, and the kind of set-it-and-forget-it
networking you want on a server. Pick whichever your distribution defaults to:
NetworkManager on Fedora Workstation and Ubuntu Desktop, systemd-networkd on
Arch servers and some Ubuntu Server profiles (often via netplan).