Het is inderdaad niet helemaal duidelijk in het
topic en het
feature request waarom je deze oplossing zou gebruiken.
Als je echter al wat langer pihole discourse en reddit artikels leest, zal je ongetwijfeld al een aantal topics gelezen hebben over "spam" applicaties (massa's dns queries wegens blacklisted -
recent voorbeeld).
Er zijn een aantal mensen die hebben uitgezocht hoe ze dit probleem kunnen oplossen. Die oplossing is meestal: een andere query reply geven dan 0.0.0.0.
Wat de gebruiker in het
topic (niet zo heel duidelijk - summary: je kan een reply voor een domain in gravity NIET wijzigen) aanklaagd is een logisch gevolg van hoe pihole werkt. Hierboven heb ik de "decision tree" (volgorde van afhandelen) opgelijst.
Voorbeelden:
- er is een exact blacklist entry match -> reply 0.0.0.0 to client && stop
- er is een gravity (lijsten) entry match -> reply 0.0.0.0 to client && stop
- er is een whitelist entry match -> pihole-FTL kijkt nu eerst of er een beschikbaar antwoord is in de dnsmasq cache. Die cache bevat ook de entries die in de dnsmasq config files werden gemaakt. matching entry? -> reply to client && stop
- er is een whitelist entry mactch -> geen match in de dnsmasq cache? -> forward to upstream (unbound in mijn config)
belangrijk hierbij is, dat in het geval van whitelist (exact en regex) matches, de blacklist (exact en regex) en gravity (resultaat van je lijsten) niet bekeken wordt en dus de reply niet beinvloeden.
Wat deze oplossing nu specifiek bied (je kan dus een reply voor een domain in gravity WEL wijzigen, mits een whitelist entry en een dnsmasq en / of unbound config file):
- normaal gedrag: app doet query voor example.domain.org, domain in gravity? -> reply is altijd 0.0.0.0, app spams pihole met DNS queries...
- deze oplossing: app doet query voor example.domain.org, domain in gravity MAAR omdat we een exact whitelist entry hebben gemaakt wordt dit nooit gechecked. Zoals hierboven beschreven, word na de whitelist match de dnsmasq cache (o.a. resultaat van de dnsmasq configuratie files) gechecked. Dit bied je dus de mogelijkheid om een ander resultaat dan 0.0.0.0 te configureren (nxdomain of IPaddress m.b.v. dnsmasq, refused m.b.v. unbound)
-> goal achieved: niet langer 0.0.0.0 als antwoord (met DNS spam door app als gevolg) maar een ander antwoord (refused, nxdomain, IPaddress). Kwestie van uit te zoeken welk antwoord nodig is om de DNS spam te doen ophouden. Zal waarschijnlijk niet voor alle apps werken, maar de voorbeelden die werden aangehaald wijzen erop dat het soms wel lukt.
edit
de eerste oplossing maakte gebruik van 2 configuratie files, één voor dnsmasq en één voor unbound, wegens de beperkingen van dnsmasq (geen reply refused mogelijk). Je kan dit ook verwezelijken met één unbound config file, zie
hier. Voordeel: single point of administration EN altijd de geconfigureerde reply, ook als pihole disabled is...
/edit
[
Voor 6% gewijzigd door
jpgview op 02-07-2022 10:27
]