Saya belajar tentang Linux networking pada saya Kubuntu 18,04 workstation, dan saya melihat ada yang baik NetworkManager
dan networkd-dispatcher
berjalan:
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
tampaknya dikonfigurasikan untuk menangani "segalanya" dengan netplan
:
oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
Saya percaya itu netplan
akan menyerahkan semuanya networkd
jika NetworkManager
tidak diinstal.
Ada juga banyak file di dalamnya /etc/network/
, dan saya tidak yakin apa yang menangani itu. Banyak paket tampaknya menggunakan direktori ini:
oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network
Pikiran awal saya setelah beberapa Googling adalah itu NetworkManager
dan networkd
keduanya berjalan, tetapi netplan
menghasilkan konfigurasi sehingga hanya satu yang benar-benar melakukan sesuatu. Tapi saya tidak tahu bagaimana saya akan memverifikasi ini, mencari tahu rantai operasi, atau mengkonfigurasinya agar sesuai dengan rencana jahat saya untuk dummy0.
Pertanyaan: Bagaimana tepatnya NetworkManager, networkd, dan netplan bekerja bersama? Dengan kata lain, saat komputer dinyalakan, proses mana yang melakukan proses apa? Bagaimana alat dari paket seperti net-tools
, ifupdown2
, dan iproute2
dan direktori seperti /etc/network/
masuk ke dalam semua ini? Dan akhirnya, bagaimana saya bisa mengetahui ini sendiri dan mempelajari detailnya menggunakan baris perintah?
Pembaruan: Saya tidak mencari ikhtisar tingkat tinggi. Sebaliknya, saya ingin tahu bagaimana komponen-komponen ini berinteraksi, berkonflik, atau menghindari konflik pada level kernel atau sejenisnya.