NetworkManager、networkd、netplan、ifupdown2、iproute2はどのように正確に対話しますか?

NetworkManager、networkd、netplan、ifupdown2、iproute2はどのように正確に対話しますか?

私はKubuntu 18.04ワークステーションでLinuxネットワーキングを学んでいますが、両方がNetworkManager実行されていますnetworkd-dispatcher

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次のように「すべて」を処理するように設定されているようですnetplan

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

私はそれがインストールされていない場合、netplanすべてがそれに渡されると信じています。networkdNetworkManager

また、多くのファイルがありますが、/etc/network/何を処理するのかわかりません。多くのパッケージがこのディレクトリを使用しているようです:

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

NetworkManagerインターネット検索の後、最初は と が両方networkd実行されていると思いましたが、生成されnetplanた構成は実際には 1 つだけ実行するのと同じです。しかし、私はこれを検証する方法、作業チェーンを把握する方法、dummy0の私の邪悪な計画に合わせて構成する方法がわかりません。

質問:NetworkManager、networkd、netplanは正確にどのように連携しますか?つまり、コンピュータが起動すると、どのプロセスがどのプロセスに何を渡しますか?net-tools、、、ifupdown2およびディレクトリiproute2のツールは、/etc/network/これらすべてにどのように適していますか?最後に、この問題を直接解決し、コマンドラインを使用して詳細を確認するにはどうすればよいですか?

修正する:私は高レベルの概要を探していません。代わりに、これらのコンポーネントがカーネルレベルまたは同様のレベルでどのように対話、衝突、または衝突を防ぐのかを知りたいです。

ベストアンサー1

systemd-networkd有効になったら設定に従います。/etc/systemd/network

代わりに、NetworkManager有線接続が見つかった場合は、有線接続への接続を試みるなど、いくつかの自動規則に従います。

どちらもsystemdサービスとして有効および無効になり、systemdはudevを使用してネットワークアダプタ用のデバイスファイルを生成します。通常、2 つを同時に有効にしてはいけませんが、そうする場合は構成が競合しないように注意する必要があります。

netplanネットワーク管理者の1つが起動する前に、独自の構成に基づいて2つのネットワーク管理者の構成を作成します。このように、netplanは実際には構成抽象化であり、systemd-networkdを使用するかNetworkManagerを使用するかは構成の一部です。

iproute2コマンドラインでネットワークインターフェイスを設定するためのツールキット。これには、ネットワーク管理者や以前の ifconfig と同様のリンク設定が含まれます。代わりに、/ etc / network / net-toolsinterfacesのネットワーク構成を使用してインターフェースを構成および構成解除しますipupdownifupdown2

ifupdownまたは、異なるバージョンを使用してネットワークを管理できますが、自動ではありませんが、起動時にsystemdサービスを使用して起動できます。

ifupdown2systemdネットワークインターフェースに似た依存関係グラフを使用してください。また、次のような他のツールの抽象化としても機能します。iproute2

おすすめ記事