
Wie richte ich einen lokalen DNS-Resolver ein, der Abfragen parallel an mehrere Nameserver senden kann?
Warum ich es brauche:
- Die Zuverlässigkeit von 1.1.1.1 oder 8.8.8.8 ist nicht sehr gut. (Beobachtete Ausfall- oder Instabilitätsstunden in der letzten Woche für 1.1.1.1)
- Der Rechner hostet einen https/socks5-Proxy, daher ist die Namenssuche sehr wichtig und muss recht häufig erfolgen. Die
parallele Suche wird bevorzugt, um die Latenz zu verringern, wenn ein Nameserver nicht funktioniert.
Die Linux-Maschine ist Ubuntu Server 22.04.
Der https/socks5-Proxy-Dienst kann nicht mehrere DNS-Server verwalten, daher muss ein lokaler Resolver die parallele oder Fallback-Suche dafür übernehmen.
Antwort1
Laut Dokumentation ist dies möglich mit DNS-Masq.
Der zu verwendende Parameter ist:
--all-servers
Wenn dnsmasq über mehr als einen Upstream-Server verfügt, sendet es standardmäßig Anfragen nur an einen Server. Durch Setzen dieses Flags wird dnsmasq gezwungen, alle Anfragen an alle verfügbaren Server zu senden. Die Antwort des Servers, der zuerst antwortet, wird an den ursprünglichen Anforderer zurückgesendet.
Sie können dies tun, indem Sie DNSMASQ_OPTS wie folgt bearbeiten /etc/default/dnsmasq
und ergänzen :–all-servers
DNSMASQ_OPTS="--all-servers"
Verweise :
Antwort2
DNSMASQ kann das nicht selbst tun, aber ich habe gesehen, dass Pihole (das DNSMASQ im Hintergrund verwendet) mit Unbound verwendet wird, wodurch Sie einen rekursiven DNS-Server erhalten. Das bedeutet, dass Ihr Server den TLD-Server direkt anfragt und Google/Cloudflare vollständig überspringt.