Как узнать, настроена ли сеть через /etc/network/interfaces, NetworkManager, Systemd или Netplan?

Вопрос или проблема

Я недавно установил Debian 12.7 на новое устройство, это бездисковый сервер без графического интерфейса.

Я проверил документацию по настройке сети Debian и увидел следующее:

4 способа настроить сеть

  • Конфигурационный файл интерфейсов по пути /etc/network/interfaces (эта страница): для базовых или простых конфигураций (например, рабочая станция)
  • NetworkManager: Это по умолчанию для конфигурации ноутбуков
  • Systemd: Документ справки Debian, Глава 5
  • Netplan: Документ справки Debian, Глава 5

И теперь я запутался, потому что не понимаю, какая часть относится к моей установке.

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

Как определить, какой способ система Debian (или другой дистрибутив Linux) использует для настройки своего сетевого стека?

Мои попытки

/etc/network/interfaces

Файл существует:

root@serveur:~# cat /etc/network/interfaces
# Этот файл описывает сетевые интерфейсы, доступные на вашей системе
# и как их активировать. Для получения дополнительной информации смотрите interfaces(5).

source /etc/network/interfaces.d/*

# Цикличный сетевой интерфейс
auto lo
iface lo inet loopback

# Основной сетевой интерфейс
allow-hotplug enp2s0
iface enp2s0 inet dhcp
# Это автоматически настроенный интерфейс IPv6
iface enp2s0 inet6 auto

NetworkManager

Служба не существует:

root@serveur:~# service network-manager status
Unit network-manager.service не найдена.

Systemd

Существует один файл, но его содержимое закомментировано:

root@serveur:~# ls -lrth /etc/systemd/network/
total 0

root@serveur:~# cat /etc/systemd/networkd.conf 
# Этот файл является частью systemd.
#
# systemd - это свободное программное обеспечение; вы можете перераспределять его и/или изменять его в соответствии с условиями
# GNU Lesser General Public License, как опубликовано Фондом Свободного Программного Обеспечения; либо версии 2.1 Лицензии, либо (по вашему выбору)
# любую более позднюю версию.
#
# Записи в этом файле показывают значения по умолчанию на момент компиляции. Местная конфигурация
# должна создаваться, либо изменяя этот файл, либо создавая "дополнения" в
# подкаталоге networkd.conf.d/. Последнее обычно рекомендуется.
# Значения по умолчанию можно восстановить, просто удалив этот файл и все дополнения.
#
# Смотрите networkd.conf(5) для получения дополнительной информации.

[Network]
#SpeedMeter=no
#SpeedMeterIntervalSec=10sec
#ManageForeignRoutingPolicyRules=yes
#ManageForeignRoutes=yes
#RouteTable=

[DHCPv4]
#DUIDType=vendor
#DUIDRawData=

[DHCPv6]
#DUIDType=vendor
#DUIDRawData=

Netplan

Конфигурационного файла нет:

root@serveur:~# ls -lrth /etc/netplan/
ls: не удается получить доступ к '/etc/netplan/': Нет такого файла или каталога

Наблюдения

Эта система использует /etc/network/interfaces и Systemd для настройки сети?

Это зависит от того, что вы выберете во время установки / пакеты / окружение / стандарт.

Лично я всегда оставляю сеть не настроенной во время установки, независимо от того, клиент это, сервер, настольный/системный блок или ноутбук, и настраиваю всё в /etc/network/interfaces.

Этот файл используется для настройки сетевых интерфейсов в Debian и других системах

Проверьте /etc/network/interfaces для базовых конфигураций.

Если ваша система использует NetworkManager, он управляет подключениями через свои собственные инструменты.

Проверьте, работает ли NetworkManager systemctl status NetworkManager

Если система использует systemd-networkd, конфигурация будет находиться в /etc/systemd/network/, проверьте статус

Проверьте systemd-networkd конфигурацию systemctl status systemd-networkd

Netplan часто используется в системах, настроенных для облачной среды

Проверьте конфигурации Netplan в /etc/netplan/

Ваша система использует /etc/network/interfaces для сети, и systemd, похоже, не управляет сетью.

NetworkManager и Netplan не используются.

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

Для Network Manager это будет:

nmcli general status

Для systemd-networkd это будет:

networkctl status

Для Netplan это будет:

netplan status

Ответ или решение

Чтобы определить, как сконфигурирован сетевой интерфейс на вашем сервере Debian 12.7 (или другой Линукс-системе), важно провести несколько проверок. Каждый из методов конфигурации сети — /etc/network/interfaces, NetworkManager, systemd-networkd и Netplan — имеет свои особенности, и их использование зависит от настроек системы при установке и последующих конфигураций. Рассмотрим, как идентифицировать, какой метод используется для настройки сети.

1. Проверка файла /etc/network/interfaces

Первый шаг — проверить содержание файла /etc/network/interfaces. Он используется для конфигурации сетевых интерфейсов в Debian и выводит информацию о том, какие сетевые интерфейсы активированы и какие параметры им заданы.

Вы уже проверили этот файл, и получилось следующее:

root@serveur:~# cat /etc/network/interfaces
# ... (содержимое файла)
iface enp2s0 inet dhcp

Это говорит о том, что сетевой интерфейс enp2s0 сконфигурирован для получения адреса через DHCP. Если файл имеет активные строки конфигурации, это указывает на использование /etc/network/interfaces для настройки сети.

2. Проверка NetworkManager

NetworkManager — это более комплексный инструмент для управления сетевыми соединениями, в основном используемый на настольных системах и ноутбуках. В серверных установках он может не быть установлен по умолчанию.

Поскольку вы указали, что служба не найдена:

root@serveur:~# service network-manager status
Unit network-manager.service could not be found.

Это подтверждает, что NetworkManager не используется в вашем случае.

3. Проверка systemd-networkd

Systemd предоставляют системные инициализирующие технологии, включая systemd-networkd, который может управлять сетевыми интерфейсами. Файлы конфигурации systemd-networkd обычно находятся в каталоге /etc/systemd/network/.

Ваши команды показывают, что нет активных файлов конфигурации:

root@serveur:~# ls -lrth /etc/systemd/network/
total 0

Так как нет конфигураций для systemd-network, можно предположить, что сети не управляются этим методом.

4. Проверка Netplan

Netplan в основном используется в системах, ориентированных на облачные технологии. Для его работы требуются конфигурационные файлы, которые обычно находятся в каталоге /etc/netplan/. Поскольку вы не нашли этого каталога:

root@serveur:~# ls -lrth /etc/netplan/
ls: cannot access '/etc/netplan/': No such file or directory

Это также указывает на то, что Netplan не используется для управления сетевыми интерфейсами.

Выводы

На основании приведенных вами данных, можно сделать следующие выводы:

  • Сетка настроена через /etc/network/interfaces: этот файл содержит конфигурационные строки, которые активируют интерфейсы.
  • NetworkManager отсутствует: служба не найдена, и, следовательно, она не управляет сетевыми соединениями.
  • systemd-networkd не используется: нет активных конфигураций для этого метода.
  • Netplan не используется: отсутствуют конфигурационные файлы.

Ваш сервер использует /etc/network/interfaces для настройки сетевых интерфейсов, и это является достаточно обыденным выбором для серверных инсталляций. Настоятельно рекомендуется следить за конфигурацией для поддержания производительности и безопасности системы, особенно на серверах.

Оцените материал
Добавить комментарий

Капча загружается...