Eu quero obter resolução de DNS rápida com dnsmasq e manter o sistema padrão resolvido.
Procurando uma maneira elegante de fazer isso
Eu quero obter resolução de DNS rápida com dnsmasq e manter o sistema padrão resolvido.
Procurando uma maneira elegante de fazer isso
Eu queria obter resolução de DNS rápida com dnsmasq e manter a configuração padrão do systemd-resolved/NetworkManager intocada 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 de DNS em destaque padrão de 18.04
1 - Com sudo
2 - Com sudo
3 - Com USER, configure o NetworkManager
4 - Confira verifique
Eu tenho um caso de uso específico que funciona muito bem. Eu corro o dnsmasq no meu roteador LAN (uma máquina de servidor Ubuntu, sem resolução de systemd) e deixo as máquinas LAN por trás do roteador padrão para a resolução de DNS resolvida por systemd vanilla. Tudo é possível e funciona de forma elegante, com alguns ajustes no dnsmasq:
Agora posso suportar um zilhão de VMs do Ubuntu dentro da minha LAN e nunca mais ter que mexer no DNS - simplesmente funciona.
Os ajustes são necessários porque o systemd-resolved não permite que você use nomes de host de "rótulo único" (sem nenhum ponto neles), ao contrário do dnsmasq e do "DNS clássico". Depois de obter o dnsmasq para estender automaticamente os nomes de host da LAN em FQDNs, tudo ficará feliz. Isso me levou muito tempo para descobrir, btw. Esses problemas resolvidos pelo systemd 1 2 me ajudaram a resolver o problema.
Tentei encontrar uma solução razoável e parece que existem abordagens diferentes.
Eu queria ficar no máximo dentro do layout de distribuição, mantendo todos os requisitos de negócios atendidos. Isto é o que eu coletei e testei para funcionar no Ubuntu 18.04 limpo e no sabor 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
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 adicionar dnsmasq e usá-lo para "encaminhar" consultas de DNS de contêineres Docker para systemd-resolvd .
Guia passo a passo:
Para mais informações veja meu post (em espanhol) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
Ubuntu 18.10
IMHO, se você estiver executando o dnsmasq, você deve atribuir estaticamente seu endereço IP em vez de obtê-lo do dhcp. Dessa forma, você pode simplesmente desativar o systemd-resolvido todos juntos.
sudo apt-get install dnsmasq
sudo systemctl desativar systemd-resolvido
sudo systemctl stop resolvido pelo systemd
Atribua manualmente seu endereço IP, gateway e atribua o endereço IP à sua máquina como DNS.
configure /etc/dnsmasq.conf (realmente...RTFM --> man dnsmasq.conf)
sudo systemctl ativar dnsmasq
sudo systemctl status dnsmasq
aponte o dhcp no seu servidor dhcp para o seu novíssimo servidor dnsmasq (..if yumpto)