Re: Что не так в DNS в Debian buster

Maksim Dmitrichenko <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Message-ID <CAMRqRqwi0HjJ9ajaCfGf78WJLZADLP4BvSeqLQdO+C4RQ0fckA@mail.gmail.com>
Спасибо, Сергей, за реакцию. Но у меня на нескольких компах с buster одно и
то же: /etc/resolv.conf - это не ссылка на какой-то там файл, а
сгенерированный NN'ом фалик. Я так понимаю, что при переходе с девятки на
десятку отключили у NM логику использования dnsmasq. systemd-resolved хоть
и запускается сейчас и висит на 53-м порту на локальном IP-шнике, как
понимаю, никем не используется, потому что /etc/resolv.conf про него вообще
ничего не знает. /me как-то не понимает как можно было такой дефолт
запилить (все компы ставились с нуля без upgrade).

Таким образом, получается, что неизбежать танцев с бубном по редактированию
конфигов NM, что при апгрейде на 11-й выпуск, прилетит бумерангом скорее
всего.

пн, 17 мая 2021 г. в 16:32, Sergey Spiridonov <[email protected]>:

> On Fri, 14 May 2021 16:16:40 +0300
> Maksim Dmitrichenko <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.