Ubuntu 18.04 не получает домен поиска от DHCP сервера?

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

У меня есть система с Ubuntu 18.04, и, похоже, произошли некоторые радикальные изменения в том, как обрабатываются DHCP-клиент и DNS.

После изучения документации по systemd-resolved я выяснил, что по какой-то причине:

  1. Dhclient не запущен и, по всей видимости, больше не является демоном, ответственным за получение IP-адреса по DHCP?
  2. То, что обрабатывает получение DHCP (systemd.networkd?), игнорирует информацию о домене поиска, передаваемую моим DHCP-сервером
  3. Запуск “dhclient” решает эту проблему

Смотрите скриншот ниже, извините за мелкий шрифт:

resolv.conf не показывает домен поиска до ввода dhclient

Обратите внимание, что “dhclient” запросил (и получил) другой IP, который был перезаписан systemd-networkd в какой-то момент, поскольку система без предупреждения вернулась к 25.207.

Наконец, перезапуск сетевых служб с помощью systemctl restart networkd-systemd и перезапуск resolved с systemctl restart systemd-resolved оставляет строку поиска на месте в символьной ссылке в /etc/resolv.conf после ввода “dhclient”.

Может кто-нибудь указать мне на документацию о том, что сейчас обрабатывает DHCP для ubuntu 18.04, и почему это может не извлекать информацию о домене поиска и правильно не настраивать ее в systemd-resolved?

Если вы не используете dhclient, /etc/resolv.conf является символической ссылкой на /run/resolv/resolv.conf. Тем не менее, конфигурационный файл, используемый systemctl для установки DNS-серверов, находится в /run/systemd/resolve/resolv.conf.

Обновление /etc/resolv.conf, чтобы указать на файл, созданный systemd, решает эту проблему.

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

Вопрос, касающийся получения домена поиска через DHCP на Ubuntu 18.04, затрагивает изменения в архитектуре управления сетевыми протоколами, в частности, в работе с клиентом DHCP и системой разрешения DNS. Давайте рассмотрим эту тему детально.

Проблема получения домена поиска

На Ubuntu 18.04 произошли значительные изменения в системе управления сетью. Основной инструмент для работы с DHCP – dhclient – больше не является обязательным элементом для получения сетевых настроек, что вызвало путаницу для пользователей, привыкших к старым версиям Ubuntu, где dhclient играл центральную роль.

  1. Что отвечает за получение DHCP:

    • В новой системе управления сетью, которая включает в себя systemd-networkd и systemd-resolved, DHCP-запросы обрабатываются именно systemd-networkd. Это означает, что dhclient по умолчанию не активен и даже не требуется для получения IP-адресов и параметров сетевых конфигураций от DHCP-сервера.
  2. Игнорирование информации о домене поиска:

    • Проблема заключается в том, что systemd-networkd может не получать или не обрабатывать информацию о домене поиска, который передает DHCP-сервер. Это означает, что, хотя IP-адрес может быть правильно получен, строка с доменом поиска может отсутствовать в файле /etc/resolv.conf.
  3. Использование dhclient как временное решение:

    • Как вы уже заметили, запуск dhclient вручную может временно решить проблему за счет того, что он обновляет содержимое файла /etc/resolv.conf, добавляя необходимый домен поиска. Однако это является временным обходным решением, поскольку systemd-networkd может вновь перезаписать это значение после получения новой сетевой конфигурации.

Рекомендации для решения проблемы

Вот несколько шагов, которые вы можете предпринять для стабильного решения этой проблемы:

  1. Конфигурация systemd-networkd:

    • Убедитесь, что ваши файлы конфигурации systemd-networkd правильно настроены. Например, в файле /etc/systemd/network/10-netplan-en.network добавьте следующие строки:
      [Network]
      DHCP=yes

    Это гарантирует, что systemd-networkd будет получать DNS-серверы и домен поиска через DHCP.

  2. Настройка поиска домена через systemd-resolved:

    • Если полученные параметры DHCP не включают домен поиска, вы можете вручную настроить systemd-resolved с помощью:
      sudo systemd-resolve --set-domain <your_domain>

      Замените <your_domain> на нужное значение.

  3. Проверка конфигурации /etc/resolv.conf:

    • Убедитесь, что файл /etc/resolv.conf корректно ссылается на /run/systemd/resolve/resolv.conf. Вы можете установить эту ссылку с помощью команды:
      sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
  4. Альтернативные подходы:

    • Рассмотрите возможность использования NetworkManager, который также активно управляет сетевой конфигурацией и может помочь в более удобном управлении сетевыми настройками, включая DHCP и DNS.

Заключение

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

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

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