Я использую NetworkManager или сетевой?

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

Как узнать, запущен ли у меня NetworkManager или сетевой интерфейс?

4
задан 3 May 2018 в 11:32

2 ответа

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

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

В выпуске сервера Ubuntu, так как никакая настольная среда не установлена по умолчанию; т.е. Gnome, Единица, Уэйленд, KDE, и т.д., Администратор сети не возможен и поэтому не установленный. В версиях 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 
6
ответ дан 1 December 2019 в 09:20

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

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

2) После этого появился демон network-manager (часто пишется как Network-Manager), который имеет доступные интерфейсы GUI.

3) И совсем недавно появился демон systemd-networkd (иногда сокращенно просто «networkd»), который основан на systemd юнит-файлах.


Чтобы увидеть, как управляется ваша сеть, сначала вы должны знать, инициализируется ли ваша система с помощью 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), либо Активный: неактивный (мертвый) сообщается для каждого из них.

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

systemctl status systemd-networkd
systemctl status network-manager

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

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

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

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

15
ответ дан 3 June 2020 в 11:34

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

Похожие вопросы: