
Я хотел бы начать использовать systemd-resolved
Oracle Linux 7.6.
Я хотел бы использовать его в режиме, где /etc/resolv.conf
это просто символическая ссылка /run/systemd/resolve/stub-resolv.conf
на nameserver 127.0.0.53
содержимое.
Я установил systemd-networkd
и systemd-resolved
пакеты. Я включил соответствующие службы и отключил NetworkManager
и network
службы.
Однако моя установка systemd-resolved
не содержит этого файла-заглушки /run/systemd/resolve/stub-resolv.conf
. Она содержит только /run/systemd/resolve/resolv.conf
.
Не могли бы вы подсказать, почему мой stub-resolv.conf
сайт отсутствует?
решение1
Я сталкивался с той же проблемой на Ubuntu 20.04 LTS много раз, и это было из-за systemd-resolved.service, который был остановлен автоматически или намеренно. После запуска службы файл /run/systemd/resolv/stub-resolv.conf снова появился.
решение2
Я наблюдаю ту же проблему на Debian 9. Согласно (man 8 systemd-resolved.service):
o A static file /usr/lib/systemd/resolv.conf is provided that lists the 127.0.0.53 DNS stub (see above) as only DNS server. This file may be symlinked from /etc/resolv.conf in order to connect all local clients that bypass local DNS APIs to systemd-resolved. This mode of operation is recommended.
Это неправда, на самом деле файл находится по адресу: /lib/systemd/resolv.conf. И это простой статический файл, указывающий на локальный сервер-заглушку, без поисковых доменов и т. д.
При обновлении до Debian 10 версия systemd-resolved перемещается с 232 на 241. Это включает правильный файл-заглушку: /run/systemd/resolve/stub-resolv.conf
Полагаю, вы используете похожую версию systemd-resolved, что и в Debian 9. Проверьте man и найдите файлы resolv.conf с помощью find.