Sto imparando a conoscere le reti Linux sulla mia workstation Kubuntu 18.04, e vedo lì che entrambe NetworkManager
e networkd-dispatcher
sono in esecuzione:
oleg@eclectic:~$ sudo ps -ef | grep -i net
root 56 2 0 Oct11 ? 00:00:00 [netns]
root 1097 1 0 Oct11 ? 00:00:02 /usr/sbin/NetworkManager --no-daemon
root 1098 1 0 Oct11 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1250 1 0 Oct11 ? 00:00:02 /usr/sbin/inetd
root 1593 1097 0 Oct11 ? 00:00:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper...
NetworkManager
sembra essere configurato per gestire "tutto" da netplan
:
oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
Credo che se non fosse installato, netplan
lascerebbe tutto a posto .networkd
NetworkManager
Ci sono anche un sacco di file in /etc/network/
, e non sono sicuro di cosa li stia gestendo. Molti pacchetti sembrano usare questa directory:
oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network
I miei pensieri iniziali dopo alcuni Googling sono quelli NetworkManager
e networkd
sono entrambi in esecuzione, ma netplan
genera una configurazione tale che solo uno sta effettivamente facendo qualcosa. Ma non so come verificherei questo, capire la catena di operazioni o configurarlo per soddisfare i miei piani malvagi per manichino0.
Domanda: come funzionano esattamente NetworkManager, networkd e netplan? In altre parole, all'avvio del computer, quali processi passano a quali altri processi? Come non strumenti da pacchetti come net-tools
, ifupdown2
, e iproute2
e le directory come /etc/network/
in forma in tutto questo? E infine, come posso capirlo da solo e apprendere i dettagli usando la riga di comando?
Aggiornamento: non sto cercando una panoramica di alto livello. Piuttosto, voglio sapere come questi componenti interagiscono, sono in conflitto o evitano conflitti a livello di kernel o simili.