Én dnsmasq-linje kan svare et navn med NXDOMAIN, og det er hele mekanismen. Den læser aldrig HTML, undersøger aldrig en anmodningssti og ser aldrig, hvad et program gør med en forbindelse, det allerede har åbnet. At sammenligne den med en browserudvidelse er derfor en sammenligning af to forskellige opgaver. Den ene afgør, om et navn slås op; den anden afgør, hvad der sker bagefter.

Hvad et navnefilter egentlig styrer

Indstillingen address=/metrics.example/, uden noget efter den sidste skråstreg, får opløseren til at returnere NXDOMAIN for det navn og dets underdomæner. At lade adressen være tom er den vigtige del: det forhindrer, at klienter sendes til en uvedkommende erstatningsserver, eller at en loopback-adresse udgives for at være den rigtige destination. Dnsmasq-manualen beskriver den form som et negativt svar frem for en omdirigering.

Alt, hvad reglen kan gøre, følger af den ene beslutning. En klient, der spørger denne opløser, får et negativt svar; en klient, der spørger en anden opløser, får, hvad den opløser siger. Filteret ved intet om, hvilken sti, forespørgselsstreng eller konto programmet ville have brugt.

Den detaljeringsgrad betyder noget, fordi ét værtsnavn ofte tjener flere formål. Login-endpoints, billeder og sporing kan dele et domæne, og en regel, der fjerner hele navnet, kan fjerne et arbejdsforløb med det. En navnebaseret politik må acceptere den afvejning eller vælge smallere navne.

Hvor en blokering i klienten er anderledes

En browserudvidelse ser anmodningen, før den forlader maskinen, så den kan matche en URL-sti, annullere en bestemt anmodning og skjule det element, der ville have vist resultatet. Den kan tillade example.com/article og samtidig afvise example.com/ads/, hvilket intet DNS-svar kan udtrykke. Det blik på stiniveau er netop den evne, en opløser ikke har. Det er også derfor, en filterliste bygget til ét værktøj sjældent opfører sig ens i det andet.

Prisen er rækkevidden. Den beskyttelse lever inde i én browser, i én profil, på én enhed, og den forsvinder, når brugeren skifter til et andet program. Et DNS-filter konfigureret på gatewayen dækker hver enhed, der bruger gatewayens opløser, også enheder, hvor ingen udvidelse kan installeres.

Ingen af de to ordninger er komplet i sig selv. Et DNS-filter kan ikke fjerne en identifikator, som en side allerede har sendt, og en browserudvidelse kan ikke beskytte et program, der aldrig indlæser den.

Opløserstien afgør, om noget af det gælder

En VPN kan annoncere en DNS-server og stadig ikke modtage hver forespørgsel. En browser med krypteret DNS konfigureret, et program med sin egen opløser eller en enhed på en netværkssti, der udelukker gatewayen, vil alle kigge et andet sted. Mobile platforme tilbyder i stigende grad en indstilling for privat DNS, som stille tilsidesætter det, tunnelen foreslår.

Så test stien i stedet for politikken. Spørg den tilsigtede opløser direkte fra gatewayen, spørg den derefter fra en klient og sammenlign, og se så, om et navn, der burde blokeres, faktisk fejler i det program, brugeren kører.

Cachede svar og åbne sockets gør det støjende. En side, der allerede har indlæst sine ressourcer, vil fortsætte med at virke, efter reglen ændres, så en ny forbindelse er en bedre test end at genindlæse en gammel fane.

Test begge retninger, før du hævder et resultat

Brug et bevidst blokeret dokumentationsnavn, et tilladt offentligt navn og et privat navn, som tjenesten har brug for:

$ dig +short metrics.example @10.40.0.53
$ dig +short example.com @10.40.0.53
$ dig +short intranet.corp.internal @10.40.0.53

Et tomt svar for det blokerede navn, en normal adresse for det offentlige og en privat adresse for det interne viser tilsammen, at filtrering, opslag opstrøms og lokale poster alle virker. Hvis alle tre fejler, ser du på et problem opstrøms eller hos lytteren, ikke på et filter.

Hold påstanden smal i alt, hvad du offentliggør internt. Det er domænefiltrering på en opløser, ikke indholdsinspektion, ikke stifiltrering og ikke et løfte om, at ingen spores. Angiv politikens ejer, undtagelsesruten og opbevaringsperioden for forespørgsler sammen med reglerne, for et filter, der logger hvert opslag, har sin egen omkostning for privatlivet.

Relaterede artikler