Спасибо, Сергей, за реакцию. Но у меня на нескольких компах с buster одно и то же: /etc/resolv.conf - это не ссылка на какой-то там файл, а сгенерированный NN'ом фалик. Я так понимаю, что при переходе с девятки на десятку отключили у NM логику использования dnsmasq. systemd-resolved хоть и запускается сейчас и висит на 53-м порту на локальном IP-шнике, как понимаю, никем не используется, потому что /etc/resolv.conf про него вообще ничего не знает. /me как-то не понимает как можно было такой дефолт запилить (все компы ставились с нуля без upgrade).
Таким образом, получается, что неизбежать танцев с бубном по редактированию конфигов NM, что при апгрейде на 11-й выпуск, прилетит бумерангом скорее всего. пн, 17 мая 2021 г. в 16:32, Sergey Spiridonov <s...@s73.work>: > On Fri, 14 May 2021 16:16:40 +0300 > Maksim Dmitrichenko <dmitr...@gmail.com> wrote: > > > Я знаю, что я слоупок, но не так давно обновился до buster и немного > > не понимаю, что у меня теперь происходит с DNS. > > > > Ранее (на девятке) у меня NetworkManager запускал dnsmasq и прописывал > > локальный DNS сервер в /etc/resolv.conf - при этом можно было удобно > > настроить, что при подключении к рабочему VPN, в рабочий DNS сервер > > улетали только запросы от dnsmasq, касающиеся резолва ресурсов в > > рабочей сетке. NetworkManager управлял dnsmasq на лету по мере > > подключения/отключения новых соединений. > > > > Теперь же я вижу, что локально (на 127.0.0.53 почему-то) запущен > > systemd-resolved. dnsmasq - не запущен вообще, в /etc/resolv.conf > > каждый раз при отключении/подключении VPN пишет NetworkManager, а все > > программы, пытаясь резолвить ресурсы, доступные по VPN, отправляют в > > половине случаев свои запросы к серверу провайдера и, получая отлуп, > > говорят, что no such address. > > > > Я, конечно, могу влезть в /etc/NetworkManager/NetworkManager.conf, > > задизаблить systemd-resolved и так далее, но почему такой неработающий > > идиотизм сделан по дефолту? Может надо какие-то хитрые пакеты > > установить или снести, чтобы всё вернулось в прямой вид? > > > > Привет, боролся с этой проблемой с переменным успехом на Дебине, Убунте > и Федоре. > > Если ты согласен жить с системд-резолвед (не всегда это возможно), то > решение простое: > > необходимо добавить в конфигурацию сервера > > push "dhcp-option DOMAIN rabochaya.setka.com" > > системд-резолвед и НМ достаточно умны, чтобы перенаправлять ДНС запросы > после этого в ДНС от рабочей сетки (который тоже должен пушиться). > > При этом на клиенте в НМ должна быть включена опция "Use this > connection only for resources on its network" > > > Если настройки сервера ты поменять не можешь, то должно помочь на > клиенте > > sudo nmcli connection modify rabochiy-vpn ipv4.dns-search > rabochaya.setka.com > > > Если же непременно необходимо использовать днсмаск, то инструкция > такая (не стал переводить с английского) > > > Install dnsmasq > > sudo apt install dnsmasq > > Disable systemd-resolved listener on port 53 (do not > touch /etc/systemd/resolved.conf, because it may be overwritten on > upgrade): > > $ cat /etc/systemd/resolved.conf.d/noresolved.conf > [Resolve] > DNSStubListener=no > > and restart it > > $ sudo systemctl restart systemd-resolved > > (alternatively disable it completely by $ sudo systemctl disable > systemd-resolved.service) > > Delete /etc/resolv.conf and create again. This is important, because > resolv.conf is a symbolic link to /run/systemd/resolve/stub-resolv.conf > by default. If you will not delete symbolic link, the file will be > overwritten by systemd on reboot (even though we disabled > systemd-resolved!). Also NetworkManager (NM) checks if it is a symbolic > link to detect systemd-resolved configuration. > > $ sudo rm /etc/resolv.conf > $ sudo touch /etc/resolv.conf > > Disable overwriting of /etc/resolv.conf by NM (there is also an option > rc-manager, but it does not work, despite it is described in a manual): > > $ cat /etc/NetworkManager/conf.d/disableresolv.conf > [main] > dns=none > > and restart it: > > $ sudo systemctl restart NetworkManager > > Tell dnsmasq to use resolv.conf from NM: > > $ cat /etc/dnsmasq.d/nmresolv.conf > resolv-file=/var/run/NetworkManager/resolv.conf > > Резолвинг рабочей сетки, например так > > cat /etc/dnsmasq.d/rabsetka > server=/rabochaya.setka.com/<айпи днс сервера в рабочей сетке> > > and restart it: > > $ sudo systemctl restart dnsmasq > > Use dnsmasq for resolving: > > $ cat /etc/resolv.conf > # Use local dnsmasq for resolving > nameserver 127.0.0.1 > > Публиковал для Убунты здесь > > > https://askubuntu.com/questions/898605/how-to-disable-systemd-resolved-and-resolve-dns-with-dnsmasq > -- > С уважением, Сергей Спиридонов > -- With best regards Maksim Dmitrichenko