Auteur Topic: Adblocker via DNS (Handleiding)  (gelezen 14967 keer)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 176
  • -Ontvangen: 2619
  • Berichten: 16.241
Adblocker via DNS (Handleiding)
« Gepost op: 15 januari 2018, 11:24:06 »
Op het Engelse Synology forum staat een lang draadje hoe je de DNS server van Synology als Adblocker kunt gebruiken. Lees het draadje vanaf hier

dMajo heeft dit mooi in een script verwerkt. Hij heeft recentelijk zelfs een versie V2 van zijn script uitgegeven die misschien nog beter is dan het hier gebruikte script.

Vervolgens heeft SmiGueL de script versie V1 sterk verbeterd met meerdere blocklists, whitelists en blacklists. Zie zijn duidelijke uitleg in datzelfde draadje vanaf hier


Ik vond de beschreven procedure nog iets te complex zodat ik hier een uitleg geef hoe je de bloklists kunt gebruiken zonder een ssh/telnet inlog via putty of de terminal.

Installatie procedure voor Sy-Hole

1) Installeer het DSN server pakket van Synology via Package Center.

2) Open de server, ga naar “Zones” en maakeen nieuwe “Master zone”



Domein Type: “Zone Doorsturen”
Domeinnaam: “null.zone.file”
Master DNS Server: Het IP adres van je nas. (x.x.x.x)
Serieformaat: “Datum (JJJJMMDDNN)”
Zet de 1e en 3e checkbox uit en de 2e en 4e aan voor weergaves. Of alles uit als je geen weergaves gaat definiëren.

Klick OK
   
   

3) Ga naar de “Resolutiie” tab en vul twee externe DNS servers in bij “Doorstuurservers”. b.v. Google (8.8.8.8 ), Quad9 (9.9.9.9) of OpenDNS (208.67.220.220)



4) Download de zip uit de link geheel onderaan deze post en plaats het script uit deze zip op een share in een eigen folder. In deze folder maakt het script vervolgens zijn eigen files aan.

5) Ga nu naar de taakplanner en maak een nieuwe taak aan met een “Door de gebruiker gedefinieerd script”.
Geef de taak een eigen naam en met “Root” als gebruiker.



6) Ga naar “Taakinstelling” en vul daar “sh ” in met het pad naar het script. Meestal: “/Volume1/[sharenaam]/[foldernaam]/ad-blocker.sh”

Je kunt hier het beste ook een e-mail adres invullen waardoor je na elke uitvoering van een script een mailtje krijgt met het log. Als er dan iets fout gaat, omdat een bepaalde lijst niet meer bestaat, of doordat er aan een lijst iets toegevoegd waardoor het script een probleem heeft, zie je dat direct in de mail.

In "Planning" laat je het script eens per week uitvoeren. Vaker is niet zinvol omdat de meeste bronbestanden minder vaak geupdate worden en je wilt hun servers niet onnodig belasten.

Klik OK



7) Selecteer het net gemaakte script en klik bovenaan de knop “Uitvoeren”

8 ) Als het goed is laad het script alle bloklists binnen. Als je behoefte hebt om precies te zien welke domeinen in de blocklist terecht komen, kun je in de "ad-blocker.conf" file de optie "Debugfinallist" aanzetten.

9) Het instellen van de te gebruiken blocklist doe je in de "ad-blocker.conf" file. Vanaf de tweede helft staan de lijsten. Het aan of uitzetten van een blocklist doe je door het "BL_Enabled" veld ven een 0 of 1 te voorzien. Zie de pijlen hieronder.

BL_Name[2]="Yoyo's Blacklist"
BL_URL[2]="http://pgl.yoyo.org/as/serverlist.php?hostformat=bindconfig&showintro=0&mimetype=plaintext"
BL_Type[2]=1
BL_Zipped[2]=0
BL_Enabled[2]=0   <----------------

BL_Name[3]="StevenBlack's on GIT"
BL_URL[3]="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
BL_Type[3]=2
BL_Zipped[3]=0
BL_Enabled[3]=1   <----------------

Ik raad aan om te beginnen met alleen de “YoyoList” en de “Malwaredomains” list. Dit zijn lijsten waar je niet snel last van hebt. Als je de "StevenBlack's" (= “PiHoleList”) gebruikt, kan je sommige andere lijsten uit zetten omdat die ook al in de "StevenBlack's" list zitten. De "StevenBlack's" list blokkeert iets agressiever, zodat je waarschijnlijk vaker een site in de whitelist moet plaatsen.

NB Edit het script niet met een reguliere tekstverwerker, maar met een code editor die er niet allerlei onzichtbare opmaak in zet. Voor Windows is dat b.v. “Notepad++” en voor de mac het programma “Teksteditor”.
Andere delen van het script kun je beter onveranderd laten. Alleen de regels uit het screenshot zijn voor aanpassing door gebruikers bedoeld.

10) Als je later bepaalde domeinen wilt white- of blacklisten, kun je een domein toevoegen aan de betreffende lijsten. Gebruik hiervoor dezelfde syntax zoals al in de bijgesloten voorbeeld lijsten. Dus per regel alleen de domeinnaam, zonder quotes. Lege regels zijn toegestaan. Je kunt ook commentaar toevoegen via // of via #. (Zie de voorbeelden)

11) Indien je de de DNS server al gebruikte en hebt "Weergaves" aangemaakt, moet je niet vergeten de null.zone.file ook aan de betreffende weergave toe te voegen. Via "weergaves" is het ook mogelijk bepaalde delen van je lan uit te sluiten van de adblocker, maar dit valt buiten deze handleiding.

12) Ten slotte moet je de PC en andere apparaten nog vertellen dat ze deze nieuwe DNS server moeten gaan gebruiken. Dat kan het beste via de router gebeuren. Bij de DHCP settings van de router geef je het IP adres van de nas op als DNS server. Alle apparaten die DHCP gebruiken zullen nu vanzelf de DNS server op de nas gaan gebruiken.

Dit kan soms even duren. Het is soms te versnellen door even de netwerkkabel los te trekken, waardoor hij bij het herverbinden opnieuw de DHCP gegevens van de router ophaalt. Bij Windows kun je ook het volgende commando op de commandline ingeven:

ipconfig /flushdns
Als je geen eigen DNS server in de router kunt ingeven, dan wordt het lastigen. Per apparaat kun je het soms nog wel een eigen dns server instellen, maar automatisch via de router is wel zo praktisch.

Commentaar hierop gaarne in dit topic

-------
Download telling versie V2.03.0118 - 008: 183
Download telling versie V2.03.0118 - 009: 141
Download telling versie V2.03.0118 - 010: 392

versie V2.03.0118 - 011 (11 okt 2021)
- De code werkt nu ook onder DSM 7
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J (Backup)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 176
  • -Ontvangen: 2619
  • Berichten: 16.241
Re: Adblocker via DNS (Handleiding)
« Reactie #1 Gepost op: 20 januari 2018, 17:27:10 »
Nog een tip als het niet direct werkt.

Je kunt in de '.conf' file de optie 'Debugfinallist=1' instellen. Dan wordt na het  runnen van het script de file 'ad-final-list.txt' aangemaakt in de folder waar ook het script staat. Dit is de gecombineerde blocklist. Open dit bestand met een teksteditor en kopieer een van de domeinen uit de file. Alleen het stuk tussen de quotes en niet de hele regel.

Ga nu naar de commandline van windows, of open het terminal programma op de mac. Tik hier het commande "nslookup" in, gevolgd door een statie en het net gekopieerde domein.

Briolet$ nslookup ads.aol.com
Server: 10.0.1.30
Address: 10.0.1.30#53

Name: ads.aol.com
Address: 127.0.0.1

Deze moet terug komen met het IP: 127.0.0.1 en niet met een echt domein of een niet meer bestaand domein. Bij 127.0.0.1 weet je dat het werkt. Dat is een betere test dan naar het wel/niet zien van advertenties.
Bovendien laat dit commando ook de DNS server zien. Dat moet het IP van je nas zijn. Zo niet zit het mis in de DNS instelling van de router.

--------------

dMajo gaf me in een persoonlijk bericht nog de volgende waarschuwing:

Citaat
BEKEND PROBLEEM: Tengevolge van een bug in de Synology's DNSServer GUI, wordt er een incorrect sluitend haakje aan de null.zone.file toegevoegd wanneer je de zone uit of weer aan zet. De DNSServer's GUI geeft daardoor een onterechte mededeling da DSM herstart moet worden. Oplossing is het handmatig naar de taakplanner gaan en het script handmatig starten. Het script schrijft dan weer een correctie file weg.

-------

Waarom zie ik de domeinen niet als ik de zone bekijk via de DNS server?:

Het script plaats de geblokte domeinen niet in de masterzone zelf, maar in een aparte file. Vervolgens voegt het een "include" statement toe aan de masterzone. De DNS server kent dit include statement, alleen houdt de GUI van Synology er geen rekening mee en laat alleen de domeinen zien die vóór het include statement staan.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J (Backup)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 176
  • -Ontvangen: 2619
  • Berichten: 16.241
Re: Adblocker via DNS (Handleiding)
« Reactie #2 Gepost op: 20 januari 2018, 17:30:28 »
Zie voor achtergrond informatie van de Pi-Hole file deze site op github.

Steven Black legt daar precies uit welke lijsten in zijn Pi-Hole file gebruikt worden. En waarom hij bepaalde lijsten niet gebruikt. Op het moment van schrijven zitten er 15 blacklists in verwerkt. Een paar belangrijke uit Steve's lijst kun je ook los selecteren in het script. ('"Yoyo's", "Dan Pollock's" en "MVPS hosts")

In zijn algemeenheid raad ik Steven's blocklist of een andere grote blocklist af. Je zult er vaak tegenaan lopen dat zaken niet werken omdat er wel erg veel geblokkeerd wordt. Je zult dan vaak met de whitelist in de weer moeten om iets weer werkend te krijgen.

In mijn ervaring blokkeert Steven's blocklist niet opvallend meer reclame dan de YoYo list alleen.

De Malwaredomains list lijkt me wel zinvol als je naast advertenties ook malware sites wilt blokkeren. Malwaresites kun je overigens ook blokkeren door een externe dns server te gebruiken die dat doet. b.v. Quad9 (9.9.9.9)

Edit 3-4-2021: Ik kom er net achter dat de blocklist van "hpHosts at Hosts-file.net", niet meer actief is. (waarschijnlijk al sinds begin 2020) Dit zijn lijsten 5 & 6 uit de configuratie file. Die kun moet je dus uitzetten.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J (Backup)


 

Adblocker via proxy op NAS

Gestart door TamarBoard Overige software

Reacties: 2
Gelezen: 1887
Laatste bericht 25 februari 2014, 23:39:29
door Tamar
Synology DNS adblocker via router werkt niet.

Gestart door ClintHighwayBoard DNS server

Reacties: 7
Gelezen: 4780
Laatste bericht 30 januari 2018, 09:24:14
door Briolet