Вопрос или проблема
Обновление
После удаления и повторной установки systemd-resolved
проблема, похоже, сама собой исчезла. Я не понимаю, почему так произошло, но заметил, что /etc/resolv.conf
не изменяется после второй установки systemd-resolved
, хотя он изменился при первой установке пакета.
Проблема:
Я пытаюсь следовать инструкциям по установке Home Assistant с контролем здесь на своем Orange Pi Zero с установленной Debian. Это было настроено из образа для загрузки по сети. После установки пакета systemd-resolved
система больше не может находить адреса веб-сайтов. Удаление пакета решает проблему. Это ошибка:
Временная ошибка разрешения 'deb.debian.org'
Наблюдения:
Этого не происходило, когда я использовал образ Armbian для моего устройства, но Home Assistant не поддерживает Armbian, поэтому я пробую с Debian.
Я не могу пинговать веб-адреса (или .locals в моей сети), но могу пинговать IP-адреса.
Работающее против ожидаемого результата:
Ожидаемое (работало до установки systemd-resolved
)
jodie@orangePiZero:~$ wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
--2023-11-22 00:00:49-- https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
Разрешение github.com (github.com)... 20.87.245.0
Подключение к github.com (github.com)|20.87.245.0|:443... подключено.
HTTP-запрос отправлен, ожидание ответа... 302 Найдено
Местоположение: https://github.com/home-assistant/supervised-installer/releases/download/1.5.0/homeassistant-supervised.deb [следующее]
--2023-11-22 00:00:50-- https://github.com/home-assistant/supervised-installer/releases/download/1.5.0/homeassistant-supervised.deb
Повторное использование существующего подключения к github.com:443.
HTTP-запрос отправлен, ожидание ответа... 302 Найдено
Местоположение: https://objects.githubusercontent.com/github-production-release-asset-2e65be/183216119/905cc380-f350-4a95-ac33-a2749b7858fa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231121T220050Z&X-Amz-Expires=300&X-Amz-Signature=21a10eb8987bbe62d3a2826be9ba66ed9476dbbe6015990ad0fb53b46db6224f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=183216119&response-content-disposition=attachment%3B%20filename%3Dhomeassistant-supervised.deb&response-content-type=application%2Foctet-stream [следующее]
--2023-11-22 00:00:50-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/183216119/905cc380-f350-4a95-ac33-a2749b7858fa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231121T220050Z&X-Amz-Expires=300&X-Amz-Signature=21a10eb8987bbe62d3a2826be9ba66ed9476dbbe6015990ad0fb53b46db6224f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=183216119&response-content-disposition=attachment%3B%20filename%3Dhomeassistant-supervised.deb&response-content-type=application%2Foctet-stream
Разрешение objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Подключение к objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... подключено.
HTTP-запрос отправлен, ожидание ответа... 200 ОК
Объем: 6504 (6.4K) [application/octet-stream]
Сохранение в: ‘homeassistant-supervised.deb’
homeassistant-supervised.d 100%[=======================================>] 6.35K --.-KB/s за 0.002с
2023-11-22 00:00:51 (2.50 MB/s) - ‘homeassistant-supervised.deb’ сохранён [6504/6504]
Не работает:
jodie@orangePiZero:~$ wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
--2023-11-22 17:11:35-- https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
Разрешение github.com (github.com)... не удалось: Временная ошибка разрешения имени.
wget: невозможно разрешить адрес хоста ‘github.com’
Настройка сети:
У меня есть домашний маршрутизатор tp-link, настроенный с резервированием DHCP для MAC-адреса этого устройства. Он находится в той же подсети, что и другие устройства, и не указывает другой DNS-сервер. Я все еще могу подключаться к устройству по ssh (именно так я его в основном настраиваю)
Вопрос:
Существует ли конфигурация, которую мне нужно установить для работы DNS с systemd-resolved
?
Запрашиваемая информация:
Содержимое /etc/resolv.conf
до установки systemd-resolved
:
nameserver 192.168.0.1
nameserver 0.0.0.0
Содержимое после первой установки:
# Это /run/systemd/resolve/stub-resolv.conf управляется man:systemd-resolved(8).
# Не редактируйте.
#
# Этот файл может быть символической ссылкой на /etc/resolv.conf. Если вы смотрите на
# /etc/resolv.conf и видите этот текст, вы следовали символической ссылке.
#
# Это динамический файл resolv.conf для подключения локальных клиентов к
# внутреннему DNS-Stub-разрешателю systemd-resolved. Этот файл перечисляет все
# настроенные домены поиска.
#
# Запустите "resolvectl status", чтобы увидеть детали об используемых в данный момент DNS-серверах uplink.
#
# Третьи программы обычно не должны обращаться к этому файлу напрямую, а только
# через символическую ссылку в /etc/resolv.conf. Чтобы управлять man:resolv.conf(5) другим
# способом, замените эту символическую ссылку на статический файл или другую символическую ссылку.
#
# См. man:systemd-resolved.service(8) для деталей о поддерживаемых режимах
# работы для /etc/resolv.conf.
nameserver 127.0.0.53
options edns0 trust-ad
search .
Содержимое после удаления и повторной установки:
nameserver 192.168.0.1
nameserver 0.0.0.0
Содержимое /etc/nsswitch.conf
до установки systemd-resolved
:
# /etc/nsswitch.conf
#
# Пример конфигурации функциональности переключателя имен GNU.
# Если у вас установлены пакеты `glibc-doc-reference` и `info`, попробуйте:
# `info libc "Name Service Switch"` для получения информации об этом файле.
passwd: files systemd
group: files systemd
shadow: files systemd
gshadow: files systemd
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Содержимое после первой установки systemd-resolved
:
# /etc/nsswitch.conf
#
# Пример конфигурации функциональности переключателя имен GNU.
# Если у вас установлены пакеты `glibc-doc-reference` и `info`, попробуйте:
# `info libc "Name Service Switch"` для получения информации об этом файле.
passwd: files systemd
group: files systemd
shadow: files systemd
gshadow: files systemd
hosts: files resolve [!UNAVAIL=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Содержимое после удаления и повторной установки systemd-resolved
:
# /etc/nsswitch.conf
#
# Пример конфигурации функциональности переключателя имен GNU.
# Если у вас установлены пакеты `glibc-doc-reference` и `info`, попробуйте:
# `info libc "Name Service Switch"` для получения информации об этом файле.
passwd: files systemd
group: files systemd
shadow: files systemd
gshadow: files systemd
hosts: files resolve [!UNAVAIL=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Прочая информация
Это результат выполнения resolvectl status
:
jodie@orangePiZero:~$ resolvectl status
Не удалось получить глобальные данные: время соединения истекло
Это вывод systemctl status systemd-resolved
:
jodie@orangePiZero:~$ systemctl status systemd-resolved
● systemd-resolved.service - Разрешение сетевых имен
Загружено: загружено (/lib/systemd/system/systemd-resolved.service; включено; предустановка: включено)
Активно: активно (работает) с Вт 2023-11-21 23:09:21 SAST; 24 мин. назад
Документы: man:systemd-resolved.service(8)
man:org.freedesktop.resolve1(5)
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
Основной PID: 577 (systemd-resolve)
Статус: "Обработка запросов..."
Задачи: 1 (лимит: 1075)
Память: 2.3M
CPU: 847ms
CГруппа: /system.slice/systemd-resolved.service
└─577 /lib/systemd/systemd-resolved
Кажется, что systemd-resolved как-то устанавливает настройки network-manager
в ручной режим, но сохраняет правильный IP-адрес. Чтобы исправить это, вы можете запустить nmtui
(интерфейс терминала для управления сетями) из терминала и вернуть настройки сети в автоматический режим (dhcp).
После установки Home Assistant Supervisor и его корректной работы настройки стали управляться Home Assistant Supervisor.
Ответ или решение
Установка systemd-resolved
может привести к проблемам с разрешением DNS, особенно если он неправильно настроен или если у вас уже есть активные сетевые услуги, такие как NetworkManager
. Давайте разберемся, как вы можете решить эту проблему, на основе описанной вами ситуации.
Анализ проблемы
Судя по вашему описанию, после окончания установки systemd-resolved
ваше устройство не может разрешать доменные имена, хотя IP-адреса обрабатываются корректно. Это может быть связано с тем, что /etc/resolv.conf
был изменен на конфигурацию systemd-resolved
, которая указывает на локальный DNS-стаб (127.0.0.53). В этом случае необходимо убедиться, что служба правильно настроена и активна.
Правильная настройка systemd-resolved
-
Проверка статуса службы: Убедитесь, что
systemd-resolved
запущен и активен. Используйте команду:systemctl status systemd-resolved
-
Проверка состояния DNS: Выполните команду:
resolvectl status
Если оно выдаёт ошибку подключения, это может указывать на проблемы с самой службой или неправильную конфигурацию.
-
Настройка
/etc/resolv.conf
: Убедитесь, что/etc/resolv.conf
правильно настроен. После установкиsystemd-resolved
, этот файл должен быть симлинком на/run/systemd/resolve/stub-resolv.conf
. Проверьте это с помощью команд:ls -l /etc/resolv.conf
Если он не является симлинком, создайте его:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Взаимодействие с NetworkManager
Если ваша сеть управляется NetworkManager
, то есть вероятность, что его настройки могут конфликтовать с systemd-resolved
.
-
Проверка настроек NetworkManager: Запустите
nmtui
или используйтеnmcli
для проверки конфигурации IP:nmtui
Убедитесь, что ваши сетевые настройки выставлены на автоматическое (DHCP).
-
Если настройки были сбиты: Убедитесь, что у вас включен
systemd-resolved
и он взаимодействует сNetworkManager
правильно:sudo nmcli general reload
Рекомендуемые действия
- Убедитесь, что
systemd-resolved
активно работает и настроен правильно. - Проверьте, корректны ли настройки DNS на вашем маршрутизаторе.
- После успешной настройки, перезапустите сетевые службы:
sudo systemctl restart NetworkManager
Заключение
Если перечисленные шаги не устранили вашу проблему, то как временное решение вы также можете рассмотреть возможность временного удаления systemd-resolved
и возвращения к стандартной конфигурации DNS, пока вы не найдете устойчивое решение для работы с systemd-resolved
. Однако, по вашему последнему обновлению, переустановка systemd-resolved
вроде бы разрешила проблему.
Если у вас возникнут дополнительные вопросы или нужна помощь, не стесняйтесь обращаться за советом.