Squid Split DNS: private Domänen über den richtigen Resolver leiten
Leiten Sie private und öffentliche DNS-Namespaces gezielt, statt Squid eine mehrdeutige Resolver-Liste zu geben.
Einen internen Resolver an die erste und einen öffentlichen an die zweite Stelle zu setzen, sagt Squid nicht, welche Namen zu welchem Namespace gehören.
In Squid 6 und 7 ersetzt dns_nameservers die übliche Resolver-Liste durch Serveradressen. Die Syntax kennt keine Zuordnung pro Domäne. Eine gültige negative Antwort unterscheidet sich zudem von einem nicht erreichbaren Resolver, daher sind Alternativen kein verlässlicher Weg, unvereinbare Namespaces zu durchsuchen.
Abfragen nach Domäne leiten
Ein lokaler DNS-Forwarder kann die fehlende Richtlinie ausdrücken. In einer bestehenden dnsmasq-Konfiguration lässt sich ein privates Suffix so leiten:
server=/internal.example/192.0.2.53
Ersetzen Sie Domäne und Adresse. Konfigurieren Sie einen genehmigten Standard-Upstream für andere Namen, einen passenden Listener und Zugriffsbeschränkungen. Richten Sie Squid dann mit der Konfiguration der installierten Version auf diesen Resolver.
Alternativ können Sie einen organisatorischen DNS-Dienst nutzen, der beide Namespaces korrekt auflöst. Vermeiden Sie einen öffentlichen Fallback, der private Namen offenlegt, ohne sie beantworten zu können.
Wenn ein übergeordneter Proxy die Zielauflösung durchführt, benötigt dieser Hop den privaten Namespace. Ein Resolver auf dem lokalen Squid-Host behebt die Auflösung des übergeordneten Proxys nicht.
Den negativen Fall mitprüfen
Wählen Sie einen gültigen privaten Namen, einen gültigen öffentlichen Namen und einen nicht existierenden privaten Namen. Bestimmen Sie für jeden den vorgesehenen Upstream und ob die erwartete Antwort eine Adresse oder eine negative Antwort ist. Der letzte Fall zeigt einen versehentlichen öffentlichen Fallback nach einer internen negativen Antwort.
Beziehen Sie die vom Client benötigten Adressfamilien ein. Eine funktionierende A-Abfrage belegt nicht, dass AAAA der Richtlinie folgt oder ein erreichbares Ziel liefert. Beachten Sie auch den Cache-Zustand: Eine zwischengespeicherte Antwort kann verbergen, welchen Upstream eine frische Abfrage wählen würde.