Je veux obtenir une résolution DNS rapide avec dnsmasq et conserver la résolution système par défaut.
Vous cherchez une façon élégante de le faire
Je veux obtenir une résolution DNS rapide avec dnsmasq et conserver la résolution système par défaut.
Vous cherchez une façon élégante de le faire
Réponses:
Je voulais obtenir une résolution DNS rapide avec dnsmasq et garder la configuration par défaut résolue par le système / NetworkManager intacte pour une utilisation future. Oui, l'énorme mise en cache DNS de dnsmasq peut améliorer la vitesse de navigation. Oui, l'objectif était de conserver la configuration DNS par défaut de 18.04
1 - Avec sudo
2 - Avec sudo
3 - Avec USER, configurez NetworkManager
4 - Vérifier vérifier
la source
J'ai essayé de trouver une solution raisonnable et semble qu'il existe différentes approches.
Je voulais rester au maximum dans le schéma de distribution tout en respectant toutes les exigences commerciales. C'est ce que j'ai rassemblé et testé pour travailler sur une version Ubuntu 18.04 et KDE Neon propre:
(veuillez noter que la seule différence générale avec les réponses ci-dessus est que le NetworkManager gère automatiquement les affectations du serveur DNS dnsmasq
la source
Comme vous le savez, Docker copie le fichier hôte /etc/resolv.conf dans des conteneurs mais en supprimant tout serveur de noms local.
Ma solution à ce problème consiste à continuer à utiliser systemd-resolvd et NetworkManager mais à ajouter dnsmasq et à l'utiliser pour "transférer" les requêtes DNS des conteneurs Docker à systemd-resolvd .
Guide étape par étape:
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
Pour plus d'informations, voir mon article (en espagnol) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
la source
Ubuntu 18.10
À mon humble avis, si vous allez exécuter dnsmasq, vous devez attribuer statiquement votre adresse IP au lieu de l'obtenir à partir de DHCP. De cette façon, vous pouvez simplement désactiver tous ensemble la résolution de systemd.
sudo apt-get install dnsmasq
sudo systemctl désactiver la résolution de systemd
sudo systemctl stop systemd-resolu
Attribuez manuellement votre adresse IP, votre passerelle et attribuez l'adresse IP à votre machine en tant que DNS.
configurez /etc/dnsmasq.conf (vraiment ... RTFM -> man dnsmasq.conf)
sudo systemctl enable dnsmasq
sudo systemctl status dnsmasq
pointer dhcp sur votre serveur dhcp vers votre nouveau serveur dnsmasq brillant (.. si yumpto)
la source