Quero obter uma rápida resolução de DNS com o dnsmasq e manter o padrão systemd-resolvido.
Procurando uma maneira elegante de fazer isso
network-manager
18.04
dns
dnsmasq
systemd-resolved
cmak.fr
fonte
fonte
Respostas:
Eu queria obter uma rápida resolução de DNS com o dnsmasq e manter intacta a configuração padrão do systemd-resolved / NetworkManager para uso futuro. Sim, o enorme cache de DNS do dnsmasq pode melhorar a velocidade de navegação. Sim, o objetivo era manter a configuração padrão de DNS de 18.04
1 - Com sudo
2 - Com sudo
3 - Com USER, configure o NetworkManager
4 - Verifique verificar
fonte
Tentei encontrar uma solução razoável e parece que existem abordagens diferentes.
Eu queria permanecer no máximo dentro do layout de distribuição, mantendo todos os requisitos de negócios atendidos. Foi o que eu colecionei e testei para trabalhar com o limpo Ubuntu 18.04 e o KDE Neon:
(observe que a única diferença geral com as respostas acima é que o NetworkManager lida com as atribuições do servidor DNS dnsmasq automaticamente
fonte
Como você sabe, o Docker copia o arquivo host /etc/resolv.conf para contêineres, mas remove qualquer servidor de nomes local.
Minha solução para esse problema é continuar usando systemd-resolvd e NetworkManager, mas adicione o dnsmasq e use-o para "encaminhar" as consultas DNS dos contêineres do Docker para systemd-resolvd .
Guia passo a passo:
sudo rm /etc/resolv.conf sudo touch /etc/resolv.conf
[main] # NetworkManager will push the DNS configuration to systemd-resolved dns=systemd-resolved # NetworkManager won’t ever write anything to /etc/resolv.conf rc-manager=unmanaged
sudo apt-get -y install dnsmasq
# Use interface docker0 interface=docker0 # Explicitly specify the address to listen on listen-address=172.17.0.1 # Looks like docker0 interface is not available when dnsmasq service starts so it fails. This option makes dynamically created interfaces work in the same way as the default. bind-dynamic # Set systemd-resolved DNS server server=127.0.0.53
# systemd-resolvd name server nameserver 127.0.0.53 # docker host ip nameserver 172.17.0.1
sudo service network-manager restart sudo service dnsmasq restart sudo service docker restart
Para mais informações, consulte o meu post (em espanhol) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
fonte
Ubuntu 18.10
IMHO, se você estiver executando o dnsmasq, deve atribuir estaticamente o seu endereço IP em vez de obtê-lo no dhcp. Dessa forma, você pode simplesmente desativar o systemd-resolved todos juntos.
sudo apt-get install dnsmasq
sudo systemctl desativar systemd-resolved
sudo systemctl para systemd-resolved
Atribua manualmente seu endereço IP, gateway e o endereço IP à sua máquina como DNS.
configure /etc/dnsmasq.conf (realmente ... RTFM -> man dnsmasq.conf)
sudo systemctl enable dnsmasq
sudo systemctl status dnsmasq
aponte o dhcp no servidor dhcp para o novo e brilhante servidor dnsmasq (..se yumpto)
fonte