Вопрос или проблема
Я недавно установил 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
для настройки сетевых интерфейсов, и это является достаточно обыденным выбором для серверных инсталляций. Настоятельно рекомендуется следить за конфигурацией для поддержания производительности и безопасности системы, особенно на серверах.