Главная > Управление пакетами и системой > systemd-networkd

systemd-networkd: Демон управления сетевыми настройками

systemd-networkd, являясь частью пакета systemd, представляет собой демон, управляющий конфигурацией сетевых устройств в системе Linux. Он позволяет декларативно автоматизировать и управлять настройками IP-адресов, маршрутизации и DNS для различных сетевых интерфейсов, таких как Ethernet, Wi-Fi, мосты и VLAN, с помощью файлов `.network`. Он инициализирует сеть при загрузке системы и обрабатывает изменения сети во время выполнения.

Обзор

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

Основные возможности

  • Декларативная конфигурация: определение сетевых настроек через файлы `.network`
  • Поддержка различных интерфейсов: Ethernet, Wi-Fi, мосты, агрегация каналов (bonding), VLAN и т.д.
  • Встроенные функции клиента/сервера DHCP
  • Поддержка статических IP-адресов и настроек маршрутизации
  • Тесная интеграция со службами systemd

Основные опции

systemd-networkd в основном управляется как служба через systemctl, но имеет несколько опций, которые можно использовать при прямом запуске.

Общие опции

Сгенерированная команда:

Комбинируйте команды.

Описание:

`systemd-networkd` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

systemd-networkd в основном управляется как служба с помощью команды systemctl. Ниже приведены типичные примеры использования.

Включение и запуск службы systemd-networkd

sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service

Включает автоматический запуск службы при загрузке системы и немедленно запускает ее.

Проверка состояния службы systemd-networkd

sudo systemctl status systemd-networkd.service

Проверяет текущее состояние службы systemd-networkd.

Перезагрузка настроек сети после изменений

sudo systemctl reload systemd-networkd.service

После изменения файлов `.network` перезагружает настройки без перезапуска службы.

Проверка состояния сети с помощью networkctl

networkctl status

networkctl — это утилита, отображающая состояние сетевых интерфейсов, управляемых systemd-networkd.

Проверка корректности конфигурационных файлов

sudo systemd-networkd --test

Проверяет синтаксические ошибки и другие проблемы перед применением новых файлов `.network`.

Советы и предостережения

Советы и моменты, на которые следует обратить внимание для эффективного использования systemd-networkd.

Пути к конфигурационным файлам

systemd-networkd считывает файлы `.network` из следующих каталогов. Файлы в каталогах с меньшим числовым индексом имеют более высокий приоритет.

  • /etc/systemd/network/: Пользовательские настройки (самый высокий приоритет)
  • /run/systemd/network/: Настройки, созданные во время выполнения (например, клиент DHCP)
  • /usr/lib/systemd/network/: Настройки по умолчанию дистрибутива (самый низкий приоритет)

Конфликты с другими сетевыми менеджерами

Одновременная активация systemd-networkd с другими сетевыми менеджерами, такими как NetworkManager или netplan, может привести к конфликтам. Как правило, рекомендуется активировать только один сетевой менеджер в системе.

  • Не использовать одновременно с NetworkManager
  • При необходимости отключить другие сетевые менеджеры (например, `sudo systemctl disable NetworkManager.service`)

Отладка и проверка журналов

При возникновении проблем важно проверять журналы systemd-networkd с помощью `journalctl`.

  • Проверка журналов службы: `journalctl -u systemd-networkd.service`
  • Проверка журналов в реальном времени: `journalctl -u systemd-networkd.service -f`
  • Для подробных журналов используйте опцию `--debug` или установите `LogLevel=debug` в `/etc/systemd/systemd-networkd.conf`


Те же команды в категории