Der README.MD unter :

https://github.com/notracking/hosts-blocklists

macht ja zu der Verwendung beider Files eindeutige Aussagen.

Zitat:
The optimizer makes full use of dnsmasqs capability to block entire domains such as *.doubleclick.net (domains.txt). This reduces the chance of missing any new subdomains and significantly reduces the size of the blocklists. Hostnames that cannot be blocked on a domain level will still be listed in a regular hostname based blocklist (hostnames.txt).

It's important to use both domains.txt and hostnames.txt simultaniously in dnsmasq to get full coverage!


Insofern glaube ich, dass die Range der geblockten Sites bei der Verwendung von nur einem File (hostnames.txt) doch mehr als
gering ist.
Zum Tunen der DNS Anfragen kann man auch noch die cache-size von dnsmasq erhöhen. Sie liegt
default bei 150 Einträgen die im cache gehalten werden.
Tomato verwendet 4096 Einträge als cache-size.
Ich habe es bei mir nun auch mal auf 4096 erhöht. Man sollte bei solchen Änderungen aber immer den
Speicher der FritzBox im Auge behalten.
dnsmasq -> Extra würde dann im Freetz-WebIF so aussehen :
Code:
conf-file=/var/media/ftp/Dokumente/domains.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
cache-size=4096

Eine weitere Ergänzung hier mit dem Eintrag log-queris aktiviert noch das logging der DNS Anfragen im Syslog.
Geblockte Seiten erscheinen dann im Syslog so :
Code:
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] aax-eu.amazon-adsystem.com from 192.168.178.2
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: config aax-eu.amazon-adsystem.com is 0.0.0.0
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:50 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:50 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:51 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:51 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:54 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:54 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:55 fritz daemon.info dnsmasq[19726]: query[A] sstats.adobe.com from 192.168.178.2
Mar 22 20:18:55 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt sstats.adobe.com is 0.0.0.0
 
Zuletzt bearbeitet:
Zum Thema "Whitelist" (Domains die nicht geblockt werden sollen) möchte ich beispielhaft noch folgenden Link Posten :

https://www.linksysinfo.org/index.p...ts-adblock-with-combination-of-domains.74338/

Diese herangehensweise an eine whitelist lässt sich leicht auch auf der Fritzbox umsetzen.
Ich möchte bei mir z.b. "geoip.hidemyass.com" weiter nutzen können . Die Domain "hidemyass.com" steht aber leider im File
"domains.txt"
Die Lösung dafür sieht bei mir folgendermaßen aus :

crontab :
Code:
10 3 * * */2 wget -q --no-check-certificate https://raw.github.com/notracking/hosts-blocklists/master/hostnames.txt -O /var/media/ftp/Dokumente/hostnames.txt && wget -q --no-check-certificate https://raw.github.com/notracking/hosts-blocklists/master/domains.txt -O /var/media/ftp/Dokumente/domains.txt
12 3 * * */2 fgrep -ve hidemyass.com /var/media/ftp/Dokumente/domains.txt > /var/media/ftp/Dokumente/domain_new.txt
15 3 * * */2 sh -x /etc/init.d/rc.dnsmasq restart
Für all diejenigen die sich mit der richtigen Zeiteinstellung im crontab schwer tun und diese Site eventuell noch nicht kennen :

https://crontab.guru/

Beispiele :
https://crontab.guru/examples.html

dnsmasq -> extra (entsprechend abgeändert)
Code:
conf-file=/var/media/ftp/Dokumente/domain_new.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
cache-size=4096

voila ! und geoip.hidemyass.com läuft wieder !
 
Zuletzt bearbeitet:
Ich habe dies nun auch mal mit einem whitelist.txt probiert.
Dieser enthält nur den Eintrag "hidemyass.com" (Editiert mit NANO)
Leider funktioniert dies nicht mit "fgrep" bei mir. Es wird immer nur ein 0 Byte langer File generiert ...
Code:
fgrep -vf /var/media/ftp/Dokumente/whitelist.txt /var/media/ftp/Dokumente/domains.txt > /var/media/ftp/Dokumente/domain_new.txt

Hat jemand eine Idee warum nicht ?
 
Nach langem testen habe ich nun die Lösung gefunden. Der patternfile (whitelist.txt) muss einen bestimmten Aufbau haben.
Das mit dem 0x0a Linefeed am Ende jedes Suchmuster Eintrages im patternfile ist soweit korrekt.
Man kann den File auch ganz normal z.b. mit NANO editieren :

domain1.com
domain2.com
domain3.com
e.t.c

Wichtig ist allerdings :
Der letzte EIntrag (domain3.com) im patternfile darf nicht mit ENTER im Texteditor abgeschlossen werden.
Nach dem Speichern steht sonst zweimal 0x0a 0x0a am ende des Files !
Das war die ganze Ursache warum der whitelist.txt nicht richtig gelesen wurde ...
 
Zuletzt bearbeitet:
@feedzapper :

Anstatt dnsmasq eu zu starten ist das senden von 'SIGHUP' mittels 'killall -HUP dnsmasq'.
Damit erreicht man das dnsmasq seinen Cache leert, die Hosts neu laedt und das No-Timecheck-Flag zuruecksetzt. Dies ist fuer die Leute mit DNSSEQ (welche mit der Option --dnssec-no-timecheck verwenden) wichtig.

Die Sache mit DNSSEC habe ich nun mal ausprobiert. Ok, das der Cache nach einem "restart" geleert wird ist nun nicht zu verhindern.
Wie ich aus der DNSMASQ Doku entnehme, muss nun in den neuen dnsmasq Versionen SIGINT "killall -INT dnsmasq" gesendet werden um dnsmasq zu sagen das die Uhr gestellt ist und dnssec timecheck aktiviert werden soll.
Da aber nun niemand bei einem Router Neustart genau weiß wann die Uhr denn nun richtig läuft, ist das immer so eine Sache.
Ich benutze daher die alternative Methode mit dnssec-timestamp=
Hierbei wird eine leere Datei mit Zeitstempel an einem Ort erzeugt (NAS) die auch einen Neustart der Box überlebt.
Nach einem Neustart der Box wird der Zeitstempel wiederum abgefragt. Sobald dieser älter ist (will heißen die Uhr wurde gestellt) wird Timecheck in dnsmasq für dnssec automatisch aktiviert.
Da mir die ganze config in Freetz zu unübersichtlich war, benutze ich nun eine eigene dnsmasq.conf, die man komplett in
DNSMASQ->EXTRA kopieren kann.

Dazu sind aber die Hinweise von hier zu beachten :
https://freetz.github.io/wiki/packages/dnsmasq.html#KompletteigeneKonfiguration

Verwendete freie unzensierte DNS Server incl. DNSSEC Support: DNSWATCH / CCC + Cloudflare (kommerziell als Backup)
CCC + Cloudflare wird nur verwendet, wenn DNSWATCH nicht funktioniert -> strict-order

Meine dnsmasq.conf :

Code:
domain-needed
log-async=20
no-resolv
server=1.1.1.1
server=194.150.168.168
server=84.200.70.40
bogus-priv
dhcp-range=192.168.178.10,192.168.178.20,12h
domain=fritz.box
expand-hosts
read-ethers
cache-size=8192
strict-order
conf-file=/mod/etc/default.dnsmasq/trust-anchors.conf
dnssec
conf-file=/var/media/ftp/Dokumente/domain_new.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
# Nicht erforderlich wenn dnssec-timestamp benutzt wird
# dnssec-no-timecheck
dnssec-timestamp=/var/media/ftp/Dokumente/mtime
user=root

Wenn dann alles soweit läuft sieht der SYSLOG nach einem reboot dann ungefähr so aus :

Code:
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: started, version 2.80 cachesize 8192
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect no-inotify dumpfile
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: DNSSEC validation enabled
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: DNSSEC signature timestamps not checked until system time valid
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: configured with trust anchor for <root> keytag 20326
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: configured with trust anchor for <root> keytag 19036
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: asynchronous logging enabled, queue limit is 20 messages
Jan  1 01:00:36 fritz daemon.info dnsmasq-dhcp[1996]: DHCP, IP range 192.168.178.10 -- 192.168.178.20, lease time 12h
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 84.200.70.40#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 194.150.168.168#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 1.1.1.1#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: read /etc/hosts - 2 addresses
Jan  1 01:00:39 fritz daemon.info dnsmasq[1996]: read /var/media/ftp/Dokumente/hostnames.txt - 74414 addresses
Jan  1 01:00:39 fritz daemon.info dnsmasq-dhcp[1996]: read /etc/ethers - 0 addresses
Apr 22 12:36:51 fritz daemon.warn dnsmasq[1996]: reducing DNS packet size for nameserver 194.150.168.168 to 1280
Apr 22 12:36:52 fritz user.err telefon[2259]: set initial telefon time from linux time to 12:36:52 22.04 2019!
Apr 22 12:36:52 fritz daemon.info dnsmasq[1996]: system time considered valid, now checking DNSSEC signature timestamps.
Apr 22 12:36:52 fritz daemon.info dnsmasq[1996]: read /etc/hosts - 2 addresses
Apr 22 12:36:55 fritz daemon.info dnsmasq[1996]: read /var/media/ftp/Dokumente/hostnames.txt - 74414 addresses
Apr 22 12:36:55 fritz daemon.info dnsmasq-dhcp[1996]: read /etc/ethers - 0 addresses
 
Zuletzt bearbeitet:
Seit DNSMASQ v2.82 habe ich viele Abstürze (Reboots der Fritzbox) wenn ich das Feature benutze.
Nehme ich die 2 Listen raus läuft die Box durch.

@feedzapper : Wie schaut es bei Dir aus?
 
Du benötigst für die aktuelle dnsmasq version nur noch diese Blocklist :


Die OBEN beschriebenen Listen sind nur für DNSMASQ "vor" v2.80 !
Die extra hostnames.txt kann somit in den neueren DNSMASQ Versionen entfallen ...

Die Abstürze hatte ich auch.
Nehme einfach den Haken im WEBGUI von dnsmasq unter STARTYP heraus "vor multid starten" !
Danch gings bei mir - bei mir machte der VOIPD Daemon Probleme und stürtzte dauernd ab ... (ist aber auch von der Fritzbox Version 6.x / 7.x abhängig und vom Fritzbox Modell)

Die Aktualisierung der Liste erfolgt bei mir nun täglich über einen crontab Eintrag und einen Batch File. :

crontab täglich 03:10 :
Code:
10 3 * * */1 /var/media/ftp/Dokumente/./adblock.sh

Inhalt des Batch Files (adblock.sh) :
Code:
wget -q https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt -O /tmp/dnsmasq.blacklist.txt && mv /tmp/dnsmasq.blacklist.txt /var/media/ftp/Dokumente/dnsmasq.blacklist.txt
fgrep -vf /var/media/ftp/Dokumente/whitelist.txt /var/media/ftp/Dokumente/dnsmasq.blacklist.txt > /var/media/ftp/Dokumente/dnsmasq.blacklist_new.txt
sh -x /etc/init.d/rc.dnsmasq restart
 
Zuletzt bearbeitet:
Hatte nicht gelesen das die nur bis v2.80 funktionieren.
Die Abstuerze waren nicht beim starten, die traten auf wenn sehr viele DNS-Anfragen gesendet wurden.
Werde die dnsmasq.blacklist.txt mal eintragen und schauen was passiert.

Danke
 
Kann natürlich sein, dass dein Speicher knapp wird ?!
Mit Boxen die nur 256mb RAM zur Verfügung haben (7490/7560) wird es schon manchmal knapp. Im speziellen wenn man noch dazu DNSSEC benutzt.
Aber mit mit der neuen Liste sparst Du dann auch etwas Speicher. Da die hostnames.txt weg fällt.
 
Zuletzt bearbeitet:
Danke, für den Hinweis in die richtige Richtung.
Es funktioniert wieder wie es soll.
Speicherprobleme trotz DNSSEC auf der 7490 habe ich keine.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.