Squid Split DNS: privédomeinen via de juiste resolver routeren
Routeer privé- en openbare DNS-naamruimten bewust in plaats van Squid een dubbelzinnige lijst met resolvers te geven.
Een interne resolver eerst en een openbare resolver tweede zetten vertelt Squid niet welke namen bij welke naamruimte horen.
In Squid 6 en 7 vervangt dns_nameservers de gebruikelijke resolverlijst door serveradressen. De syntaxis kent geen toewijzing per domein. Een geldig negatief antwoord verschilt ook van een onbereikbare resolver, dus alternatieven zijn geen betrouwbare manier om incompatibele naamruimten te doorzoeken.
Query's per domein routeren
Een lokale DNS-forwarder kan het ontbrekende beleid uitdrukken. In een bestaande dnsmasq-configuratie kan een privé-suffix zo worden gerouteerd:
server=/internal.example/192.0.2.53
Vervang het domein en het adres. Configureer een goedgekeurde standaard-upstream voor andere namen, een geschikte listener en toegangsbeperkingen. Wijs Squid daarna naar die resolver met de configuratie die de geïnstalleerde versie ondersteunt.
Als alternatief gebruikt u een organisatorische DNS-dienst die beide naamruimten correct oplost. Vermijd een openbare terugval die privénamen blootlegt zonder ze te kunnen beantwoorden.
Als een bovenliggende proxy de bestemmingsopzoeking doet, heeft die hop de privénaamruimte nodig. Een resolver op de lokale Squid-host repareert de opzoeking van de bovenliggende proxy niet.
Controleer ook het negatieve geval
Kies een geldige privénaam, een geldige openbare naam en een niet-bestaande privénaam. Bepaal voor elk de bedoelde upstream en of het verwachte antwoord een adres of een negatief antwoord is. Het laatste geval onthult een onbedoelde openbare terugval na een intern negatief antwoord.
Neem de adresfamilies op die de client vereist. Een werkende A-opzoeking bewijst niet dat AAAA het beleid volgt of een bereikbare bestemming teruggeeft. Let ook op de cachestatus: een opgeslagen antwoord kan verbergen welke upstream een nieuwe query zou kiezen.