En enda dnsmasq-rad kan svara ett namn med NXDOMAIN, och det är hela mekanismen. Den läser aldrig HTML, granskar aldrig en begäransökväg och ser aldrig vad en applikation gör med en anslutning som redan öppnats. Att jämföra den med ett webbläsartillägg är därför att jämföra två olika jobb. Det ena avgör om ett namn löses upp; det andra avgör vad som händer efteråt.

Vad ett namnfilter faktiskt styr

Alternativet address=/metrics.example/, utan något efter det sista snedstrecket, får resolvern att returnera NXDOMAIN för namnet och dess subdomäner. Att lämna adressen tom är den viktiga delen: det undviker att skicka klienter till en orelaterad ersättningsserver eller att låtsas att en loopback-adress är den verkliga destinationen. dnsmasq-handboken beskriver den formen som ett negativt svar snarare än en omdirigering.

Allt regeln kan göra följer av det enda beslutet. En klient som frågar den här resolvern får ett negativt svar; en klient som frågar en annan resolver får det den resolvern säger. Filtret vet inte vilken sökväg, vilken frågesträng eller vilket konto applikationen skulle ha använt.

Den detaljnivån spelar roll eftersom ett värdnamn ofta tjänar flera syften. Inloggningsslutpunkter, bilder och spårning kan dela en domän, och en regel som tar bort hela namnet kan ta bort ett arbetsflöde med det. En policy på namnnivå måste acceptera den avvägningen eller välja snävare namn.

Där ett blockeringsprogram på klientsidan skiljer sig

Ett webbläsartillägg ser begäran innan den lämnar maskinen, så det kan matcha en URL-sökväg, avbryta en specifik begäran och dölja elementet som skulle ha visat resultatet. Det kan tillåta example.com/article och samtidigt neka example.com/ads/, vilket inget DNS-svar kan uttrycka. Den sökvägsnivån är en förmåga som en resolver helt enkelt inte har. Det är också därför en filterlista byggd för ett verktyg sällan beter sig likadant i det andra.

Priset är omfattningen. Det skyddet lever inuti en webbläsare, i en profil, på en enhet, och det försvinner när användaren byter till en annan applikation. Ett DNS-filter som konfigurerats på gatewayen täcker varje enhet som använder gatewayens resolver, inklusive enheter där inget tillägg kan installeras.

Ingendera lösningen är komplett på egen hand. Ett DNS-filter kan inte ta bort en identifierare som en sida redan skickat, och ett webbläsartillägg kan inte skydda en applikation som aldrig laddar det.

Resolvervägen avgör om något av detta gäller

En VPN kan annonsera en DNS-server och ändå inte ta emot varje fråga. En webbläsare med krypterad DNS konfigurerad, en applikation med egen resolver eller en enhet på en nätverksväg som utesluter gatewayen kommer alla att fråga någon annanstans. Mobilplattformar erbjuder allt oftare en inställning för privat DNS som tyst åsidosätter det tunneln föreslår.

Så testa vägen i stället för policyn. Fråga den avsedda resolvern direkt från gatewayen, fråga den sedan från en klient och jämför, och se därefter om ett namn som borde blockeras faktiskt misslyckas i applikationen användaren kör.

Cachade svar och öppna sockets gör detta brusigt. En sida som redan laddat sina resurser fortsätter att fungera efter att regeln ändrats, så en ny anslutning är ett bättre test än att ladda om en gammal flik.

Testa båda riktningarna innan du hävdar ett resultat

Använd ett medvetet blockerat dokumentationsnamn, ett tillåtet offentligt namn och ett privat namn som tjänsten behöver:

$ 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

Ett tomt svar för det blockerade namnet, en normal adress för det offentliga och en privat adress för det interna visar tillsammans att filtrering, uppströms uppslagning och lokala poster alla fungerar. Om alla tre misslyckas tittar du på ett uppströms- eller lyssnarproblem och inte på ett filter.

Håll påståendet snävt i allt du publicerar internt. Detta är domänfiltrering på en resolver, inte innehållsinspektion, inte sökvägsfiltrering och inte ett löfte om att ingen spåras. Ange policyägare, undantagsväg och lagringsperiod för frågor tillsammans med reglerna, eftersom ett filter som loggar varje uppslagning har sin egen integritetskostnad.

Relaterade artiklar