Замените systemd-resolved на dnsmasq
Следующий Как отключить systemd-resolved и разрешить DNS с помощью dnsmasq?
Тем не менее, я следовал этому столько, сколько мог, но все еще не мог должным образом заменить systemd-resolved на dnsmasq -
Если я положу dns=dnsmasq
под [main]
в /etc/NetworkManager/NetworkManager.conf
тогда nameserver
в моем /etc/resolv.conf
будет моим провайдером, а не моим dnsmasq
, Если удалить его, то nameserver
в моем /etc/resolv.conf
останется, чтобы быть systemd-resolved
, т. е. 127.0.0.53
В общем, как правильно заменить systemd-resolved на dnsmasq?
PS.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
2 ответа
Я не знаю, почему вы пытаетесь заменить systemd-resolved, но если вам нужно запустить их одновременно...
относительно dnsmasq
а также systemd-resolved
...
Сделать 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-resolver и dnsmasq или перезагрузите компьютер.
Вам МОЖЕТ потребоваться сбросить символическую ссылку, которая является /etc/resolv.conf (если dnsmasq не запущен)...
sudo mv /etc/resolv.conf /etc/resolv.conf.OLD
# сохранить старую символическую ссылку
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
# создать новую символическую ссылку
Примечание: оригинальная символическая ссылка...
sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
Я использую маршрутизатор 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
После перезагрузки и днс сервер должен быть прямо в /etc/resolv.conf
.
У меня была такая же проблема, но только на 16.04 системы обновлены до 18.04. Я также использую dnsmasq в качестве DNS-сервера и DHCP-сервера локальной сети. На только что установленном 18.04 он работает из коробки, без необходимости изменять /etc/systemd/resolved.conf
(DNSStubListener).
Это и другие различия раздражают особенно при использовании таких инструментов управления конфигурацией, как ansible (например, определение сети, которое определено в /etc/network/interfaces
для 16.04 или ниже /etc/netplan/01-netcfg.yaml
на 18.04)
Поэтому я, наконец, решил переустановить все мои серверы с новым 18.04 вместо обновления.