NetworkManager, networkd, netplan, ifupdown2 ve iproute2 tam olarak nasıl etkileşime giriyor?


20

Ben Linux benim Kubuntu 18.04 iş istasyonundaki ağ hakkında öğreniyorum ve ben de o görüyor NetworkManagerve networkd-dispatcherçalışıyor:

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"her şeyi" işleyecek şekilde yapılandırılmış görünüyor netplan:

oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml 
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

Ben yüklü değilse netplanher şeyi teslim inanıyorum .networkdNetworkManager

Ayrıca bir sürü dosya var /etc/network/ve bunları ne işlediğinden emin değilim. Bir çok paket bu dizini kullanıyor gibi görünüyor:

oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network

Bazı Google'lardan sonra ilk düşüncelerim bu NetworkManagerve networkdher ikisi de çalışıyor, ancak netplanyalnızca bir şey gerçekten bir şey yapacak şekilde yapılandırma oluşturur. Ama bunu nasıl doğrulayacağımı, operasyon zincirini bulacağımı ya da kukla0 için olan kötü planlara uyacak şekilde yapılandırdığımı bilmiyorum.

Soru: NetworkManager, networkd ve netplan birlikte tam olarak nasıl çalışıyor? Başka bir deyişle, bilgisayar açıldığında, hangi işlemler başka hangi işlemlere el koyar? Nasıl mı araçları paketlerden gibi net-tools, ifupdown2ve iproute2ve dizinleri gibi /etc/network/bu işe uyum? Ve son olarak, bunu kendim nasıl anlayabilir ve komut satırını kullanarak ayrıntıları nasıl öğrenebilirim?

Güncelleme: Üst düzey bir genel bakış arıyorum. Daha ziyade, bu bileşenlerin çekirdek düzeyinde veya benzeri düzeyde nasıl etkileşime girdiğini, çakıştığını veya çatışmadan kaçındığını bilmek istiyorum.

Yanıtlar:


16

systemd-networkd etkin yapılandırmaları /etc/systemd/network

Halbuki NetworkManager, bulduğu takdirde kablolu bir bağlantıya bağlanmaya çalışacağı gibi bazı otomatik kurallara uyacaktır.

Her ikisi de systemdhizmet ve sistem olarak udev kullanılarak etkinleştirilir ve devre dışı bırakılır , ağ bağdaştırıcıları için aygıt dosyaları oluşturulur. Genellikle her ikisini de aynı anda etkinleştirmemiş olmanız gerekir, ancak bunu yaparsanız yapılandırmalarının çakışmamasına dikkat etmeniz gerekir.

netplanher iki ağ yöneticisi başlamadan önce, kendi yapılandırmasına dayalı olarak her ikisi için de yapılandırmalar oluşturulur. Bu şekilde netplan gerçekten bir konfigürasyon soyutlamasıdır ve systemd-networkd veya NetworkManager'ı havalandırdığında konfigürasyonun bir parçasıdır.

iproute2komut satırında ağ arabirimlerini yapılandırmaya yarayan bir araç paketidir. Ağ yöneticilerine ve eski ifconfig'e benzer bağlantı yapılandırması içerir. İken net-tools, ipupdownve ifupdown2kullanım ağ yapılandırmaları / etc / network / configure ve deconfigure arayüzlerine arabirimleri.

ifupdown veya diğer sürümleri ağları yönetmek için kullanılabilir, ancak otomatik değildir, ancak önyükleme sırasında başlatmak için bir systemd hizmeti kullanılabilir.

ifupdown2systemdağ arayüzleri ile olana benzer bağımlılık grafikleri kullanır . Ayrıca, aşağıdaki gibi diğer araçlara soyutlama görevi görür.iproute2


2
Karşılaştırma / kontrast için teşekkür ederim, ancak bu bileşenlerin birbirleriyle nasıl daha derin bir etkileşimde bulunduğu hakkında daha fazla şey arıyordum. Örneğin, hem systemd hem de NetworkManager aynı arabirimi aynı anda kontrol etmeye çalıştığında çekirdekte tam olarak ne olur? İproute2 / ifupdown araçları çekirdekte networkd / NetworkManager ile çakışan (veya çakışmayı önleyen) ne yapar? Hangi araçların hangi arabirimlere (udev / çekirdek düzeyinde) hangi araçları ne yaptığını görmek için hangi komutları kullanabilirim?
Oleg

Şimdiye kadar gördüğüm en iyi açıklama, netplanın NetworkManager veya systemd-networkd olduğunu iddia eden birçok açıklama ile genel bir karışıklık olduğu için ikisini birden değil. Bazı bağlantılar yardımcı olabilirdi. Örneğin, manpages.ubuntu.com/manpages/cosmic/man5/netplan.5.html
Craig Hicks

Bunu okuduktan sonra yapılandırma dosyalarını bulmayı bekliyorum /etc/systemd/networkama sistemd-networkd etkin ve çalışır durumdaki Ubuntu 19.10'umda bu dizin boş. Ancak içindeki dosyaları buluyorum /lib/systemd/network. Bu yeni bir yapılandırma mı? Rogue ubuntu? Bir hata?
Stephen Boston

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.