Моя установка:
/etc/ns-shared-resolv.conf
пишется регулярно с сервер имен x.x.x.x
, обновляется из скрипта
/etc/netns/ag2/resolv.conf
является символической ссылкой на вышеуказанное (вместе с ag3
, ag4
).. для центральных настроек DNS в корневой netnsо
- Долгосрочная служба работает в
ag2
netns (через ip netns exec ag2 ...
, запущенный из системад
оказание услуг)
Что происходит:
Все работает нормально.. какое-то произвольное количество часов. После этого запросы DNS терпят неудачу. С использованием tcpdump
Я вижу, что DNS-запросы отправляются «не в то место»... DNS-сервер в корне /etc/resolv.conf
, НЕ netns.
В то же время, пока это не работает, ip netns exec ag2 cat /etc/resolv.conf
работает, чтобы показать правильные настройки.
Если я начну новую ip netns exec ag2 bash
оболочка, он получает "правильный" resolv.conf
(симлинк на /run/systemd/resolve/stub-resolv.conf
, который обновляется «вживую» с содержимым ns-shared-resolv.conf
)
Так вроде через какое-то время долго работающие процессы получают рут resolv.conf
?
Вопросы:
Почему это происходит / как я могу диагностировать, как он использует «неправильный» сервер resolv.conf / DNS после этого случайного количества времени?
Могу ли я как-то получить DNS по умолчанию в Ubuntu? systemd-разрешение
сервер работает в netns-es, так что мне не нужно заниматься этим сумасшествием?
Редактировать: лайкнуть этого человека! --> https://www.reddit.com/r/linuxquestions/comments/dnh8wq/comment/fo1tbty/?utm_source=share&utm_medium=web2x&context=3