Я использую 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-manager
package и установив для рендеринга по умолчанию значение , это единственная строка, которая имеет значениеnetplan status
:
● 2: enp0s1 ethernet UP (unmanaged)
Основной сетевой адаптерenp0s1
находится под управлениемNetworkManager
сейчас.