Quiero obtener una resolución dns rápida con dnsmasq y mantener el sistema predeterminado resuelto.
Buscando una forma elegante de hacer esto
network-manager
18.04
dns
dnsmasq
systemd-resolved
cmak.fr
fuente
fuente
Respuestas:
Quería obtener una resolución rápida de dns con dnsmasq y mantener intacta la configuración predeterminada de systemd / NetworkManager para uso futuro. Sí, el enorme almacenamiento en caché dns de dnsmasq puede mejorar la velocidad de navegación. Sí, el objetivo era mantener la configuración dns destacada predeterminada de 18.04
1 - Con sudo
2 - Con sudo
3 - Con el USUARIO, configure NetworkManager
4 - Verificar verificar
fuente
Traté de encontrar una solución razonable y parece que hay diferentes enfoques.
Quería permanecer como máximo dentro del diseño de distribución mientras cumplía con todos los requisitos comerciales. Esto es lo que recopilé y probé para trabajar en Ubuntu 18.04 limpio y sabor KDE Neon:
(tenga en cuenta que la única diferencia general con las respuestas anteriores es que NetworkManager maneja las asignaciones del servidor DNS dnsmasq automáticamente
fuente
Como sabe, Docker copia el archivo host /etc/resolv.conf en contenedores pero elimina cualquier servidor de nombres local.
Mi solución a este problema es seguir usando systemd-resolvd y NetworkManager pero agregar dnsmasq y usarlo para "reenviar" consultas DNS de contenedores Docker a systemd-resolvd .
Guía paso por paso:
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 obtener más información, consulte mi publicación https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
fuente
Ubuntu 18.10
En mi humilde opinión, si va a ejecutar dnsmasq, debe asignar estáticamente su dirección IP en lugar de obtenerla de dhcp. De esta manera, puede deshabilitar systemd-resolve todo junto.
sudo apt-get install dnsmasq
sudo systemctl deshabilitar systemd-resolve
sudo systemctl stop systemd-resolve
Asigne manualmente su dirección IP, puerta de enlace y asigne la dirección IP a su máquina como DNS.
configure /etc/dnsmasq.conf (realmente ... RTFM -> man dnsmasq.conf)
sudo systemctl enable dnsmasq
sudo systemctl status dnsmasq
apunte dhcp en su servidor dhcp a su nuevo y brillante servidor dnsmasq (..if yumpto)
fuente