Следующее, Как отключить 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
, и теперь вопрос,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
, который я не знаю как.
Я не знаю, почему Вы пытаетесь заменить 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
У меня была та же проблема, но только в 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 вместо обновления.
Я использую маршрутизатор 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
.