Sto imparando a conoscere le reti Linux sulla mia workstation Kubuntu 18.04, e vedo lì che entrambe NetworkManagere networkd-dispatchersono 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...
NetworkManagersembra 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, netplanlascerebbe tutto a posto .networkdNetworkManager
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 NetworkManagere networkdsono entrambi in esecuzione, ma netplangenera 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 iproute2e 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.