Network management

Changelog

  • 2024-08-12: Init

https://www.reddit.com/r/linuxadmin/comments/klhcpt/few_questions_about_networkmanager_vs/

Snippets of comments from 2020:

An often-confusing point about netplan (not "netplanner"), is that it is more than it is.

Netplan simply takes a YAML file describing the intended network layout/configuration, renders it to a network script, and restarts networkd (or systemd-networkd). That's it. There's very little magic to it, although many seem confused by its constructs.

Netplan relies on a 'renderer' that instructs netplan what output format to use. Current netplan versions support two renderers: systemd-networkd, and NetworkManager.

Going forward in Ubuntu, you'll want to continue to use netplan, and get familiar with the network scripts it renders for you, based on your individual renderer needs (eg: desktop using NetworkManager vs. server using networkd).

There were some ugly memory leaks in the Red Hat implementation of NetworkManager for some time, which have been fixed/closed in recent releases of RHEL, but previous releases may still have those bugs. The result of that, was many enterprises were removing NetworkManager and replacing it with the equivalent package, to avoid instability in their environment.

and

NetworkManager is for desktops; systemd-networkd is for servers. You're not meant to use both on the same system (although I believe that's possible, as long as you configure them to manage separate network interfaces). Neither is meant to replace the other one.

This answer deserves a bit more merit. The other responders confirmed that NetworkManager is designed for use with D-Bus (read: Desktop-Bus). The intention there is to allow "system tray" apps and other settings-related guis to interact with the daemon. It's definitely desktop-friendly.

systemd-networkd works within the modular execution framework of systemd and is mostly textfile and CLI-driven. It offers server-friendly features like kernel device renaming, MAC address matching, and triggering other systemd setup/teardown scripts on network up/down events. It's perfect for configuring advanced firewalls that require several interfaces to be up, configure policy-based routing, etc. By comparison, NM's dispatcher script framework is more of an automation hack.

So while this response may not be law, it's a good guideline.

On profile and bashrc: https://superuser.com/questions/789448/choosing-between-bashrc-profile-bash-profile-etc