Спасибо, Сергей, за реакцию. Но у меня на нескольких компах с 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

Ответить