Как добавить маршрут по умолчанию на физическом интерфейсе с помощью systemd-networkd?

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

В /lib/systemd/network/10-eth0.network на моем клиенте я не могу настроить ничего, что могло бы заменить мою ручную команду:

sudo ip route add default via 192.168.7.1 dev eth0

где 192.168.7.1 — это статический адрес IPv4 моего хоста.

Моя последняя попытка конфигурации 10-eth0.network:

[Match]
Name=eth0

[Link]
RequiredForOnline=no

[Route]
Address=192.168.7.2/24
Destination=192.168.7.1/32
Gateway=192.168.7.1

Обновлено с помощью sudo systemctl restart systemd-networkd и проверено с помощью ip route (оно не отображается).

Смотрите также:

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

Для добавления маршрута по умолчанию на физическом интерфейсе (например, eth0) с использованием systemd-networkd, важно правильно настроить файл конфигурации. Поскольку в вашем примере вы указали неверные параметры, давайте разберем, как правильно это сделать.

Шаги для настройки маршрута по умолчанию

  1. Определите название интерфейса: Убедитесь, что ваше устройство называется eth0. Вы можете проверить это с помощью команды ip link show.

  2. Создайте или отредактируйте файл конфигурации: Если у вас уже есть файл /lib/systemd/network/10-eth0.network, откройте его для редактирования. Для добавления маршрута по умолчанию необходимы следующие секции:

[Match]
Name=eth0

[Network]
DHCP=yes         # Используйте DHCP, если необходимо
Address=192.168.7.2/24 # Убедитесь, что этот адрес не конфликтует в вашей сети
Gateway=192.168.7.1   # Установите шлюз по умолчанию
DNS=8.8.8.8       # При желании укажите DNS-сервер
  1. Обратите внимание на секции:

    • Важно, чтобы секция [Network] содержала директиву Gateway, так как именно эта запись отвечает за маршрут по умолчанию. В вашем предыдущем примере вы использовали [Route], что не создает маршрут по умолчанию.
    • Также секция [Link] не требуется, если нет специальных условий.
  2. Перезапустите systemd-networkd: После внесения изменений в конфигурационный файл необходимо перезапустить службу, чтобы новые настройки вступили в силу. Используйте следующую команду:

sudo systemctl restart systemd-networkd
  1. Проверьте наличие маршрута: После перезапуска службы проверьте текущие маршруты с помощью команды:
ip route

Вы должны увидеть строку, которая выглядит как:

default via 192.168.7.1 dev eth0
  1. Логирование: Если маршрут по умолчанию не появляется, проверьте статус systemd-networkd на наличие ошибок с помощью команды:
journalctl -u systemd-networkd

Заключение

При выполнении этих шагов вы должны успешно настроить маршрут по умолчанию для вашего интерфейса eth0. Используя systemd-networkd, вы можете добиться высокой степени автоматизации и удобства управления сетевыми настройками. Если у вас по-прежнему возникают проблемы, убедитесь, что:

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

Настройка сети с помощью systemd-networkd является мощным инструментом для управления сетями в системах Linux, и правильное использование позволяет оптимально настроить сетевое окружение для ваших нужд.

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

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