Используйте dnsmasq в качестве системы сервис DNS

Следующее, Как отключить systemd-разрешенный и разрешить DNS с dnsmasq?

Однако я следовал за ним так, как я мог, но все еще не смог правильно заменить systemd-разрешенный dnsmasq-

Если я поместил dns=dnsmasq под [main] в /etc/NetworkManager/NetworkManager.conf, затем nameserver в моем /etc/resolv.conf будет мой ISP, не мой dnsmasq. При удалении его, затем nameserver в моем /etc/resolv.conf останется быть systemd-resolvedт.е. 127.0.0.53

Так, в целом, как правильно использовать dnsmasq в качестве системы сервис DNS?

  • Я удалил resolvconf, и теперь вопрос,
  • как заменить systemd-разрешенный dnsmasq?

PS.

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic

ОБНОВЛЕНИЕ:

Я на самом деле попробовал в два раза с последней попыткой от нового Lubuntu 18.04.2 установки LTS, и оба случая не работали. "Не работал", я подразумевал, что вижу dnsmasq слушает на':53'через netstat, но dig cnn.com и/или любой запрос DNS испытывает таймаут.

Вот обновленная информация. Обратите внимание, что я вернулся свои изменения и теперь вернулся к systemd-разрешенному использованию. Так заканчивается как grep -i stub /etc/systemd/resolved.conf отразите мой текущий этап (назад к systemd-resolved).

$ dpkg -l '*dnsmasq*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version        Architecture   Description
+++-===================-==============-==============-===========================================
ii  dnsmasq             2.79-1         all            Small caching DNS proxy and DHCP/TFTP serve
ii  dnsmasq-base        2.79-1         amd64          Small caching DNS proxy and DHCP/TFTP serve
un  dnsmasq-base-lua    <none>         <none>         (no description available)
ii  dnsmasq-utils       2.79-1         amd64          Utilities for manipulating DHCP leases

$ ls -al /etc/resolv.conf
lrwxrwxrwx 1 root root 35 2019-07-14 22:07 /etc/resolv.conf -> /var/run/NetworkManager/resolv.conf

$ grep -i stub /etc/systemd/resolved.conf
#DNSStubListener=yes

$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

# I've removed `resolvconf`:
$ dpkg -l '*resolvconf*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version        Architecture   Description
+++-===================-==============-==============-===========================================
un  resolvconf          <none>         <none>         (no description available)

$ sudo ls /run/resolvconf/resolv.conf
ls: cannot access '/run/resolvconf/resolv.conf': No such file or directory

UPDATE2:

Я теперь думаю, что знаю то, что пошло не так, как надо - после изменения (выполняющий все шаги в ответе), я проверил содержание /etc/resolv.conf, и найденный его содержанием остается тем же. Т.е. все еще наличие nameserver 127.0.0.53.

Теперь я вспоминаю это nameserver 127.0.0.53 для systemd-resolved, тогда как для dnsmasq, это должно быть nameserver 127.0.0.1. Вот почему все запросы DNS испытывают таймаут.

Т.е. существует один шаг, отсутствующий в ответе, который должен измениться nameserver кому: 127.0.0.1 в /etc/resolv.conf, который я не знаю как.

2
задан 16 July 2019 в 14:46

3 ответа

Я не знаю, почему Вы пытаетесь заменить systemd-разрешенный, но если необходимо выполнить их одновременно...

Относительно dnsmasq и systemd-resolved...

Сделайте a ps auxc | grep -i dns и ps auxc | grep -i resolv и ищите dnsmasq и systemd-resolved, и если оба работают, необходимо отключить часть DNS systemd-resolved путем редактирования /etc/systemd/resolved.conf и...

изменение:

#DNSStubListener=yes

кому:

DNSStubListener=no

затем перезапустите systemd-твердость и dnsmasq или перезагрузку.

Необходимо сбросить символьную ссылку, которая является/etc/resolv.conf

sudo mv /etc/resolv.conf /etc/resolv.conf.OLD # сохраните старую символьную ссылку

sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

1
ответ дан 2 December 2019 в 04:38

У меня была та же проблема, но только в 16,04 системах, обновленных к 18,04. Я также использую dnsmasq в качестве своего DNS LAN и сервера DHCP. На недавно установленных 18.04 это работает из поля, не имея необходимость изменять /etc/systemd/resolved.conf (DNSStubListener).

Это и другие различия являются раздражающими особенно при использовании инструментов управления конфигурацией как ansible (например, сетевое определение, которое определяется под /etc/network/interfaces для 16,04 или под /etc/netplan/01-netcfg.yaml для 18,04)

Таким образом, я наконец решил переустановить все свои серверы с новыми 18.04 вместо обновления.

0
ответ дан 2 December 2019 в 04:38

Я использую маршрутизатор Ubuntu (только что установленный) 18.04.03 для своих домашних компьютеров. Маршрутизатор получает сервер имен от интернет-провайдера. Я использую dnsmasq для DNS и DHCP в моей домашней сети. Начните с

systemctl stop systemd-resolved

. Измените /etc/systemd/resolved.conf :

...
#DNSStubListener=yes
DNSStubListener=no

Проверьте, связан ли /etc/resolv.conf. Затем измените ссылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf вместо /run/systemd/resolve/stub-resolv.conf

rm /etc/resolv.conf
ln -s /etc/resolv.conf /run/systemd/resolve/resolv.conf

, затем

systemctl start dnsmasq

После перезагрузки и DNS-сервера все должно быть в порядке в /etc/resolv.conf .

0
ответ дан 4 January 2020 в 14:57

Другие вопросы по тегам:

Похожие вопросы: