Отключите systemd-resolved, чтобы освободить порт 53 и использовать DNS-серверы, предоставленные DHCP.

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

Я буду запускать сервер Pi-hole в контейнере Docker, поэтому я освободил порт 53, установив DNSStubListener=no в /etc/systemd/resolved.conf и перезапустив systemd-resolved.

Это освободило порт 53, но теперь DNS не работает. Я получаю ;; connection timed out; no servers could be reached

Смотрев в настройки сети с рабочего стола, я вижу 1.1.1.1 и 8.8.8.8 как DNS-серверы, назначенные через DHCP в текущей конфигурации, но как заставить мою систему использовать их?

ОБНОВЛЕНИЕ1:
В /etc/resolv.conf написано:

nameserver 127.0.0.53
options edns0 trust-ad
search domain.local

DNS-серверы, назначенные через DHCP, будут использоваться для настройки resolved. Остальная часть системы использует то, что настроено в /etc/resolv.conf для разрешения адресов. resolv.conf ссылается на 127.0.0.53, который больше не работает, потому что вы отключили resolved.

Измените /etc/resolv.conf, чтобы указать на активные DNS-серверы:

domain domain.local
nameserver 8.8.8.8
nameserver 8.8.4.4

Редактирование: о том, как использовать DNS-серверы, назначенные через DHCP, вместо того чтобы устанавливать их вручную, смотрите https://unix.stackexchange.com/a/453122/52365

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

Отключение systemd-resolved для освобождения порта 53 и использование DNS-серверов, предоставленных DHCP

Для успешного запуска сервера Pi-hole в контейнере Docker необходимо отключить систему DNS, управляемую systemd-resolved, так как она по умолчанию использует порт 53, который вам требовался для Pi-hole. Однако, после выполнения конфигурации, возникла проблема с разрешением DNS. В этом руководстве мы подробно рассмотрим, как правильно освободить порт 53 и обеспечить использование DNS-серверов, предоставленных вашим DHCP, без нарушения работы системы.

Шаг 1: Отключение systemd-resolved

Вы уже на правильном пути, установив параметр DNSStubListener=no в файле /etc/systemd/resolved.conf. Это отключает локальный DNS-слушатель на порту 53. После внесения изменений не забудьте перезапустить службу:

sudo systemctl restart systemd-resolved

Шаг 2: Проверка текущего состояния DNS

После отключения системного разрешателя, выполните команду:

systemctl status systemd-resolved

Это покажет статус службы и убеждает вас, что она не активна. Также проверьте, какие DNS-серверы у вас настроены через DHCP в настройках сети.

Шаг 3: Изменение /etc/resolv.conf

Проблема с разрешением DNS может заключаться в том, что ваш файл /etc/resolv.conf по-прежнему указывает на локальный DNS-слушатель. Чтобы это исправить, вам необходимо вручную изменить настройки.

  1. Откройте файл для редактирования:

    sudo nano /etc/resolv.conf
  2. Измените его содержимое следующим образом, подставив ваши актуальные DNS-серверы, которые предоставляет DHCP. Например, если ваш DHCP-сервер выдает IP-адреса на уровне Google DNS:

    domain domain.local
    nameserver 1.1.1.1
    nameserver 8.8.8.8

    Эти строки указывают на DNS-серверы, которые используются для разрешения имени.

Шаг 4: Автоматизация настройки DNS

Если вы хотите автоматически получать DNS-серверы от DHCP вместо их ручного задания, убедитесь, что ваша система настроена правильно:

  1. В случае использования NetworkManager, проверьте настройки подключения:

    nmcli connection show
  2. Измените настройки для вашего сетевого интерфейса, чтобы он получал DNS-адреса автоматически:

    nmcli connection modify <имя_подключения> ipv4.dns "auto"

Шаг 5: Перезагрузка сети

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

sudo systemctl restart NetworkManager

Заключение

Теперь ваш Pi-hole сервер в контейнере Docker должен успешно работать с освобожденным портом 53 и корректно использовать DNS-серверы, предоставленные DHCP. Всегда проверяйте состояние DNS через команду nslookup или dig, чтобы убедиться, что все работает правильно.

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

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

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