Сбои поиска DNS в Debian 12: восстановите systemd-resolved

Если в Debian 12 отображается сообщение «Временная ошибка разрешения имен», проверьте службу разрешения имен, /etc/resolv.confссылку и DNS-серверы, указанные в списке resolvectl— именно в таком порядке. Перезапуск службы помогает только в том случае, если служба остановлена; для устранения проблемы с неработающей ссылкой или недоступным вышестоящим сервером требуется другое решение.

Эти инструкции относятся к системам Debian 12 (Bookworm), настроенным на использование DNS -сервера systemd-resolved. Debian выделил этот DNS-сервер в отдельный пакет и не сделал его DNS-сервером по умолчанию, как объясняется в примечаниях к выпуску Debian 12. Если в вашей системе используется другой DNS-менеджер, оставьте управление за этим менеджером, а не навязывайте ему эти настройки.

1. Определите, где возникают ошибки при разрешении имен.

Начните с определения сетевого маршрута и поиска имени хоста. Выполните команды локально или в терминале, который останется открытым, если изменятся параметры сети:

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

Наличие маршрута по умолчанию и работающего числового IP-адреса указывает на то, что машина может подключиться к сети без DNS. Неудачный пинг сам по себе не доказывает нарушение маршрута: сети могут блокировать ответы ICMP echo. Если у интерфейса отсутствует адрес или маршрут, сначала исправьте сетевое соединение.

resolvectl statusОтображает DNS-серверы и домены, назначенные глобально или отдельным интерфейсам. resolvectl queryПроверяет работу резолвера systemd; getent ahostsпроверяет путь поиска имени хоста, обычно используемый приложениями Linux. Это различие помогает локализовать неисправность.

НаблюдениеСледующая проверка
Нет адреса или маршрута по умолчанию.Исправьте конфигурацию интерфейса, шлюза или DHCP до настройки DNS.
resolvectlне удается подключиться к его сервисуПроверьте, systemd-resolvedустановлено ли и запущено ли приложение.
resolvectl queryработает, getentтерпит неудачуПроверьте /etc/resolv.confконфигурацию хостов NSS.
Оба запроса не проходят при наличии работающего маршрута.Проверьте адреса DNS-серверов вышестоящих серверов, маршрутизацию DNS и доступ к брандмауэру.
Терминал Debian с командами ip route, resolvectl status и getent hosts для проверки DNS-соединения.
В окне терминала отображаются маршрут сети по умолчанию, назначение DNS-сервера и поиск имени хоста на уровне приложения для первоначальной диагностики.

2. Убедитесь, что systemd-resolved установлен и активен.

В Debian 12 наличие systemd не гарантирует установку отдельного пакета DNS-резолвера. Перед изменением каких-либо DNS-файлов проверьте пакет и юнит:

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

Если пакет установлен, но служба неактивна, запустите её и включите для последующих перезагрузок:

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

В итоговой команде должен быть получен результат active. Если устройство выдает ошибку, следует изучить фактические сообщения об ошибках, а не перезапускать его многократно:

journalctl -u systemd-resolved -b --no-pager -n 60

Если пакет отсутствует, установите его sudo apt install systemd-resolvedтолько после того, как у вас будет доступ к работающему репозиторию пакетов. Установка пакета изменяет управление /etc/resolv.conf, поэтому сначала проверьте настройки NetworkManager, VPN или статического DNS. Debian описывает это изменение пакета в своих примечаниях к обновлению Bookworm .

В терминале Debian отображается сообщение systemctl status: systemd-resolved с сообщением Active: active (running).
На экране отображения состояния службы показано, где искать информацию о загруженном устройстве, его активном состоянии и сообщениях при запуске.

3. Исправляйте ссылку на резолвер только в том случае, если она некорректна.

Стандартный systemd-resolvedзаглушка прослушивает порт 127.0.0.53. Рекомендуемый файл совместимости — /run/systemd/resolve/stub-resolv.conf, который можно связать из /etc/resolv.conf. Сначала проверьте текущий режим:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

Режим "ссылка на" /run/systemd/resolve/resolv.confтакже поддерживается, но программы, использующие его, обращаются напрямую к вышестоящему DNS-серверу, а не к локальному заглушке. Не следует считать эту ссылку неработающей только потому, что она отличается. В руководстве по службе systemd-resolved в Debian описаны поддерживаемые режимы.

Если вы намеренно используете локальный заглушечный файл, служба запущена, прослушиватель заглушки включен, а существующий файл /etc/resolv.confотсутствует, неактивен или указывает на устаревший резолвер, восстановите рекомендуемую ссылку. Сначала сделайте резервную копию существующего файла или ссылки; если файла нет, копирование можно пропустить:

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

Не выполняйте эту замену на хосте, где другой сервис намеренно управляет этим /etc/resolv.conf. Для локальной nameserver 127.0.0.53записи также требуется работающий заглушечный слушатель; простое указание этого адреса не создаёт DNS-службу. На удалённой машине сохраните второй метод доступа перед редактированием настроек резолвера.

В терминале Debian отображается символическая ссылка /etc/resolv.conf, указывающая на файл stub-resolv.conf, созданный с помощью systemd-resolved.
Проверка символических ссылок показывает ожидаемый целевой объект, если Debian намеренно настроен на использование локального заглушки, разрешенного systemd.

4. Исправьте отсутствие или недоступность вышестоящего DNS-сервера.

Если resolvectl statusотображается сообщение об отсутствии подходящего вышестоящего DNS-сервера или о недоступности настроенного сервера, устраните источник этого назначения. Динамические настройки DNS могут поступать от DHCP, NetworkManager, systemd-networkd или VPN. Проверьте, какой интерфейс передает маршрут по умолчанию и какой DNS-сервер к этому интерфейсу относится.

Для краткой диагностической проверки сети, разрешающей использование публичных DNS-серверов, назначьте этому интерфейсу известные публичные DNS-серверы. Замените ens33на фактический интерфейс из ip -br address:

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

Эти два адреса указаны Cloudflare как адреса публичных DNS-серверов . resolvectl dnsИзменение является конфигурацией во время выполнения; сетевой администратор может заменить их при восстановлении соединения. Если теперь поиск работает, исправьте постоянный источник DNS, а не полагайтесь на эту временную команду.

С помощью NetworkManager проверьте активное соединение nmcli connection show --activeи настройте параметры DNS или поведение DHCP для этого соединения. С помощью systemd-networkd поместите нужные DNS=параметры в соответствующий .networkфайл и перезагрузите или перенастройте сеть в безопасное время. См. руководство по systemd.network в Debian и руководство по настройке NetworkManager в Debian . Повторное подключение управляемого интерфейса может прервать сеанс SSH.

Для внутренних имен отдавайте предпочтение DNS-серверам организации или VPN. Нельзя предполагать, что публичные резолверы будут отвечать на запросы из частных зон; принудительная отправка всех запросов к ним может нарушить разделение DNS или раскрыть внутренние имена хостов. Глобальные DNS=записи resolved.confмогут работать параллельно с DNS для каждого канала, а не автоматически заменять его; см. руководство по файлу resolved.conf в Bookworm .

5. Очистите кэш и убедитесь, что оба пути поиска работают.

После исправления сервиса, ссылки на резолвер или конфигурации вышестоящего сервера очистите кэшированные ответы и повторите проверку:

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

Восстановление считается эффективным, если resolvectl queryвозвращаемые адреса, getent ahostsзаписи адресов и целевые DNS-серверы остаются видимыми после переподключения сети. Две команды проверяют разные интерфейсы, поэтому не следует считать успех в одной из них доказательством того, что все приложения исправлены. В руководстве Debian по resolvectl описаны команды query, status и cache flush.

В терминале Debian отображается вывод команд resolvectl query debian.org и getent ahosts debian.org, возвращающих записи адресов, после чего выполняется команда flush-caches.
В итоговом окне терминала отображаются две проверки, которые должны вернуть записи адресов после восстановления конфигурации DNS.

Если resolvectl queryпроверка прошла успешно, но getentзатем снова возникла ошибка, проверьте grep "^hosts:" /etc/nsswitch.confи подтвердите наличие соответствующего dnsили установленного resolveмодуля NSS в пути поиска. Если обе попытки по-прежнему завершаются неудачей, просмотрите журнал резолвера и любые ограничения брандмауэра на DNS-трафик, а затем проверьте работу, используя фактический корпоративный DNS-адрес, адрес маршрутизатора или провайдера. Одного успешного поиска недостаточно: повторите проверки после переподключения и перезагрузки, чтобы убедиться в сохранении проблемы.

Оставить комментарий

Поддерживайте работоспособность обновлений безопасности Debian 12 на сервере без графического интерфейса.

Поддерживайте работоспособность обновлений безопасности Debian 12 на сервере без графического интерфейса.

Включите автоматические обновления безопасности Debian через SSH, сохраните источники пакетов по умолчанию и проверяйте запланированные запуски с помощью журналов systemd и APT.

Получайте предупреждения SMART Disk от Ubuntu по электронной почте с помощью smartd.

Получайте предупреждения SMART Disk от Ubuntu по электронной почте с помощью smartd.

Сравните варианты доставки почты, настройте smartd в Ubuntu и убедитесь, что предупреждения о состоянии диска попадают в ваш почтовый ящик.

Сбои поиска DNS в Debian 12: восстановите systemd-resolved

Сбои поиска DNS в Debian 12: восстановите systemd-resolved

Восстановите DNS-запросы в Debian 12, проверив systemd-resolved, исправив resolv.conf при необходимости и проверив разрешение DNS-имен исходных файлов и приложений.

В Ubuntu 24.04 не отображается звук через HDMI? Восстановите вывод звука.

В Ubuntu 24.04 не отображается звук через HDMI? Восстановите вывод звука.

Чтобы Ubuntu распознала ваш монитор или телевизор как аудиовыход, выберите его в настройках звука и проверьте список подключений или устройств PipeWire, если HDMI отсутствует.

Устраните ошибки подписи APT, восстановив ключ репозитория.

Устраните ошибки подписи APT, восстановив ключ репозитория.

Устраните предупреждения APT в Ubuntu безопасным способом, определив источник ошибки, обновив его проверенный ключ и проверив результат без отключения защиты.

Как преобразовать трехфазное напряжение, ток, кВт, кВА и коэффициент мощности.

Как преобразовать трехфазное напряжение, ток, кВт, кВА и коэффициент мощности.

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

Ограничение использования ЦП и памяти командой с помощью cgroups в Ubuntu.

Ограничение использования ЦП и памяти командой с помощью cgroups в Ubuntu.

Запустите рабочую нагрузку в рамках systemd с параметрами CPUQuota и MemoryMax, а затем проверьте ограничения с помощью cgroup v2.

Шифрование DNS-сервера Pi-hole на Ubuntu Server 24.04

Шифрование DNS-сервера Pi-hole на Ubuntu Server 24.04

Настройте dnscrypt-proxy в качестве локального DoH-моста Pi-hole на Ubuntu 24.04, указав слушатель только для localhost, выбор резолвера и проверки перед переключением DNS.

Как заставить работать жесты тачпада в Ubuntu 24.04 на Wayland

Как заставить работать жесты тачпада в Ubuntu 24.04 на Wayland

Перед устранением неполадок в приложениях или оборудовании проверьте настройки тачпада Ubuntu, подтвердите наличие Wayland и протестируйте встроенные функции жестов GNOME.

Создайте зеркальный RAID 1 образ для Debian 12 с помощью mdadm.

Создайте зеркальный RAID 1 образ для Debian 12 с помощью mdadm.

Создайте и проверьте двухдисковый RAID 1-массив данных в Debian 12, отформатируйте его безопасным способом и настройте его для сборки и монтирования после перезагрузки.