Ich möchte mit dnsmasq eine schnelle DNS-Auflösung erhalten und die Standard-System-Auflösung beibehalten.
Auf der Suche nach einem eleganten Weg, dies zu tun
network-manager
18.04
dns
dnsmasq
systemd-resolved
cmak.fr
quelle
quelle
Antworten:
Ich wollte mit dnsmasq eine schnelle DNS-Auflösung erzielen und das Standard-Systemd-aufgelöste / NetworkManager-Setup für die zukünftige Verwendung unberührt lassen. Ja, das riesige DNS-Caching von dnsmasq kann die Browsing-Geschwindigkeit verbessern. Ja, das Ziel war es, das standardmäßige DNS-Setup vom 18.04 beizubehalten
1 - Mit Sudo
2 - Mit Sudo
3 - Konfigurieren Sie mit USER den NetworkManager
4 - Überprüfen Sie die Überprüfung
quelle
Ich habe versucht, eine vernünftige Lösung zu finden, und es gibt verschiedene Ansätze.
Ich wollte höchstens innerhalb des Distributionslayouts bleiben und gleichzeitig alle geschäftlichen Anforderungen erfüllen. Dies ist, was ich gesammelt und getestet habe, um mit sauberem Ubuntu 18.04 und KDE Neon zu arbeiten:
(Bitte beachten Sie, dass der einzige allgemeine Unterschied zu den obigen Antworten darin besteht, dass der NetworkManager die DNS-Serverzuweisungen von dnsmasq automatisch verarbeitet
quelle
Wie Sie wissen, Docker kopieren Host /etc/resolv.conf auf Container - Datei , aber alle lokalen Name - Server zu entfernen.
Meine Lösung für dieses Problem besteht darin, weiterhin systemd-resolvd und NetworkManager zu verwenden, aber dnsmasq hinzuzufügen und damit DNS- Abfragen von Docker- Containern an systemd-resolvd weiterzuleiten .
Schritt für Schritt Anleitung:
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
Weitere Informationen finden Sie in meinem Beitrag (auf Spanisch) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
quelle
Ubuntu 18.10
IMHO, wenn Sie dnsmasq ausführen möchten, sollten Sie Ihre IP-Adresse statisch zuweisen, anstatt sie von dhcp zu erhalten. Auf diese Weise können Sie einfach alle systemd-aufgelösten deaktivieren.
sudo apt-get install dnsmasq
sudo systemctl deaktiviere systemd aufgelöst
sudo systemctl stop systemd-gelöst
Weisen Sie Ihre IP-Adresse und Ihr Gateway manuell zu und weisen Sie Ihrem Computer die IP-Adresse als DNS zu.
configure /etc/dnsmasq.conf (wirklich ... RTFM -> man dnsmasq.conf)
sudo systemctl enable dnsmasq
sudo systemctl status dnsmasq
Zeigen Sie DHCP auf Ihrem DHCP-Server auf Ihren glänzenden neuen DNSMASQ-Server (..if yumpto).
quelle