Я использую NetworkManager или подключен к сети?

Я учусь использовать netplan. При написании файла конфигурации YAML мне нужно знать, какой рендерер использовать: NetworkManager или networkd.

Как я узнаю, что у меня запущен NetworkManager или networkd?

3 ответа

Решение

По умолчанию настольная версия Ubuntu поставляется с Network Manager. В большинстве сред настольных компьютеров это хорошо работает. В этом случае файл netplan должен передать сеть Network Manager. Как правило, соответствующий файл /etc/netplan/01-network-manager-all.yaml Это читает:

    # Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

В Ubuntu Server Edition, так как по умолчанию среда рабочего стола не установлена; т.е. Gnome, Unity, Wayland, KDE и т. д., Network Manager невозможен и поэтому не установлен. В версиях 17.10 и более поздних, работа с сетью осуществляется только с помощью netplan. Типичный соответствующий файл /etc/netplan/01-netcfg.yaml Обычно это гласит:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes

... где enp0s3 - ваш соответствующий интерфейс. Это позволит подключаться к Интернету по DHCP, пока не будет произведена полная и дальнейшая настройка, отредактировав файл yaml и выполнив следующие действия:

sudo netplan apply 

Насколько я могу судить, в Linux было 3 подхода к сетям:

1) Самый старый использует /etc/network/interfaces файл и ifup/ifdown скрипты для управления этими интерфейсами.

2) После этого последовали systemd-networkd демон (иногда сокращенно "networkd"), основанный на systemd юнит-файлы.

3) И совсем недавно network-manager прибыл демон (часто пишется Network-Manager) с доступными графическими интерфейсами.


Чтобы увидеть, как управляется ваша сеть, сначала вы должны знать, инициализируется ли ваша система с помощью systemd или старше initпоскольку это первый процесс. (Например, Debian и Ubuntu теперь используют systemd вместо того init).

Вы можете проверить, использует ли ваша система systemd с этим:

pidof systemd     &&  echo "systemd"  || echo "other"

Итак, если вы НЕ бегаете systemd, тогда очевидно, что вы можете исключить systemd-networkd.

Если вы бегаете systemd, затем проверьте, какие демоны сетевых служб запущены, с помощью этих двух команд:

sudo service systemd-networkd status
sudo service network-manager  status

Вы увидите либо Active: active (running) или же Active: inactive (dead) сообщается для каждого.

Обратите внимание, что вы также можете запускать эти новые команды, но, очевидно, если у вас нет systemd, они не будут работать для вас:

systemctl status systemd-netword
systemctl status network-manager

Но ты еще не закончил...

Наконец, даже если один из этих двух демонов запущен, это не означает, что ваши сетевые аппаратные интерфейсы управляются ими, поскольку есть исключения.

Сначала любые интерфейсы, определенные в /etc/network/interfacesигнорируются менеджером сети. (man 5 NetworkManager)

Следующий, systemd-networkdбудет управлять сетевыми адресами и маршрутами только для любой ссылки, для которой он находит файл.network с соответствующим разделом [Match]. (man 8 systemd-networkd).

С февраля 2023 года была представлена ​​версия Netplan 0.106, которая неплохо печатает много информации, включая используемый в настоящее время рендерер. Вывод ниже взят из чистой установки Ubuntu 23.04:

      $ netplan status
     Online state: online
    DNS Addresses: 127.0.0.53 (stub)
       DNS Search: <redacted>

●  1: lo ethernet UNKNOWN/UP (unmanaged)
      MAC Address: 00:00:00:00:00:00
        Addresses: 127.0.0.1/8
                   ::1/128
           Routes: ::1 metric 256

●  2: enp0s1 ethernet UP (networkd: enp0s1)
      MAC Address: <redacted> (<redacted>)
        Addresses: 192.168.64.2/24 (dhcp)
                   fd88:4b93:b031:f03e:80f0:d4ff:fe4f:15d3/64
                   fe80::80f0:d4ff:fe4f:15d3/64 (link)
    DNS Addresses: 192.168.64.1
                   fe80::6c7e:67ff:fe8c:8364
       DNS Search: <redacted>
           Routes: default via 192.168.64.1 from 192.168.64.2 metric 100 (dhcp)
                   192.168.64.0/24 from 192.168.64.2 metric 100 (link)
                   192.168.64.1 from 192.168.64.2 metric 100 (dhcp, link)
                   fd88:4b93:b031:f03e::/64 metric 100 (ra)
                   fe80::/64 metric 256

Вы можете видеть, что основной сетевой адаптер управляетсяnetworkd.

После установкиnetwork-managerpackage и установив для рендеринга по умолчанию значение , это единственная строка, которая имеет значениеnetplan status:

● 2: enp0s1 ethernet UP (unmanaged)

Основной сетевой адаптерenp0s1находится под управлениемNetworkManagerсейчас.

Другие вопросы по тегам