Hi,
Recently...
Peter mentioned about using the nmcli. (network-manager command line interface)
Ian looked up Wikipedia to find out about nmcli and network-manager
Michael mentioned that network-manager is a pain, particularly if you have static IP addresses.
Ian has now stumbled upon some Ubuntu flavoured articles that suggests using
Netplan. Quote from the Netplan website...
Netplan
The network configuration abstraction renderer
Netplan is a utility for easily configuring networking on a linux system. You simply create a YAML description of the required network interfaces and what each should be configured to do. From this description Netplan will generate all the necessary configuration
for your chosen renderer tool.
How does it work?
Netplan reads network configuration from /etc/netplan/*.yaml which are written by administrators, installers, cloud image instantiations, or other OS deployments. During early boot, Netplan generates backend specific configuration files in /run to hand
off control of devices to a particular networking daemon.
Netplan currently works with these supported renderers
NetworkManager
Systemd-networkd
...end of quote.
An
article on Migration to Netplan explains the rationale.
An alternative on Ubuntu to NetworkManager is systemd-networkd, which is the default backend service in Ubuntu server 18.04 and 20.04.
Man page on systemd.networkd...
Plus info on systemd-networkd in wikis for
Arch and
Debian.
For some info on changing between Network-Manager and systemd-networkd...
So maybe the Linux direction is Netplan and systemd-networkd???
cheers, Ian
=====
PS: Some views of a Ubuntu 20.04 Server and its default networking (Strange it doesn't state "renderer: networkd") ...
$ cat /etc/netplan/00-network-manager-all.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s25:
dhcp4: true
version: 2
$ systemctl status systemd-networkd
�� systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-10-08 07:17:58 UTC; 1min 13s ago
TriggeredBy: �� systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 802 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 9210)
Memory: 4.1M
CGroup: /system.slice/systemd-networkd.service
�|�w802 /lib/systemd/systemd-networkd
Oct 08 07:17:58 ian systemd[1]: Starting Network Service...
Oct 08 07:17:58 ian systemd-networkd[802]: Enumeration completed
Oct 08 07:17:58 ian systemd-networkd[802]: wlx8c882b05a26e: Interface name change detected, wlx8c882b05a26e has been renamed to wlan0.
Oct 08 07:17:58 ian systemd[1]: Started Network Service.
Oct 08 07:17:58 ian systemd-networkd[802]: wlan0: Interface name change detected, wlan0 has been renamed to wlx8c882b05a26e.
Oct 08 07:17:58 ian systemd-networkd[802]: enp0s25: IPv6 successfully enabled
Oct 08 07:17:59 ian systemd-networkd[802]: enp0s25: Link UP
Oct 08 07:18:00 ian systemd-networkd[802]: enp0s25: Gained carrier
Oct 08 07:18:01 ian systemd-networkd[802]: enp0s25: Gained IPv6LL
Oct 08 07:18:04 ian systemd-networkd[802]: enp0s25: DHCPv4 address 192.168.1.2/24 via 192.168.1.1
=====
Some views of my Ubuntu 20.04 Mate desktop and its default networking...
ian@ian:~$ systemctl status network-manager
�� NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-10-08 07:40:38 NZDT; 8h ago
Docs: man:NetworkManager(8)
Main PID: 863 (NetworkManager)
Tasks: 3 (limit: 19043)
Memory: 13.6M
CGroup: /system.slice/NetworkManager.service
�|�w863 /usr/sbin/NetworkManager --no-daemon
...and systemd-networkd is dead...
ian@ian:~$ systemctl status systemd-networkd
�� systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd-networkd.service(8)
However, probably not surprising as "renderer: NetworkManager" as opposed to "renderer: networkd"...
ian@ian:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
=====