Где мой `stub-resolve.conf`?

Где мой `stub-resolve.conf`?

Я хотел бы начать использовать systemd-resolvedOracle 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.

Связанный контент