Ich lerne über Linux auf meinem Kubuntu 18.04 Workstation Vernetzung, und ich sehe es , dass beide NetworkManager
und networkd-dispatcher
ausgeführt werden :
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
scheint so konfiguriert zu sein, dass es "alles" handhabt von netplan
:
oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
Ich glaube, das netplan
würde alles übergeben, networkd
wenn NetworkManager
nicht installiert wäre.
Es gibt auch eine Reihe von Dateien in /etc/network/
, und ich bin nicht sicher, was diese behandelt. Viele Pakete scheinen dieses Verzeichnis zu verwenden:
oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network
Meine erste Gedanken nach einigen googeln sind , dass NetworkManager
und networkd
beide laufen, sondern netplan
erzeugen Konfiguration , so dass man nur wirklich etwas tut. Aber ich weiß nicht, wie ich das überprüfen, die Kette der Operationen herausfinden oder es konfigurieren würde, um meinen schändlichen Plänen für Dummy0 zu entsprechen.
Frage: Wie genau arbeiten NetworkManager, networkd und netplan zusammen? Mit anderen Worten, wenn der Computer hochfährt, welche Prozesse übergeben was welchen anderen Prozessen? Wie fügen sich Tools aus Paketen wie net-tools
, ifupdown2
und iproute2
und Verzeichnissen /etc/network/
in all das ein? Und schließlich, wie kann ich das selbst herausfinden und die Details über die Befehlszeile lernen?
Update: Ich suche keine übergeordnete Übersicht. Ich möchte vielmehr wissen, wie diese Komponenten interagieren, Konflikte verursachen oder Konflikte auf Kernel-Ebene oder ähnlichem vermeiden.