"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PiHole with Unbound (recursive DNS) Step-by-Step Tutorial | The internet is broken!

TOM 17.01.2020 - 14:35 111140 360 Thread rating
Posts

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7236
The internet is broken!
click to enlarge

Vorwort:
Zitat
Wir haben es geschafft.
Das Internet ist ohne Werbeblocker unbenutzbar geworden.

Beispiel derStandard.at
click to enlarge

Beispiel tomshardware.com
click to enlarge

... mal kurz auf's Klo gegangen
click to enlarge

... kein Ende in Sicht...
(kein Klick, nur im Hintergrund stehen gelassen)
click to enlarge

ohne Worte
click to enlarge

DNS performance Messung vor der Umstellung | 192.168.1.1 = Unifi USG
click to enlarge

Potenzielle Lösung
Wenn man Adblocker-Warnungen leid ist?
Funktioniert auf (*fast) allen Geräten, im Netzwerk (Smartphone, SmartKlo, SmartAI)
*fast => Devices wie Chromecast haben fixe DNS (gibt dafür aber auch Lösungen)
click to enlarge


PiHole! - Tutorial time

1.) Get a raspberry Pi
click to enlarge

2.) Raspbian Lite als OS installieren
click to enlarge

3.) System auf aktuellen Stand bringen
Code:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get autoremove
sudo apt-get autoclean

4.) PiHole installieren
Code:
curl -sSL [url]https://install.pi-hole.net[/url] | bash

PiHole Settings
Code:
- Select Upstream DNS Provider: Cloudflare (1.1.1.1 und 1.0.0.1)
- Select Lists: ich habe alle Ad- bzw. Tracking-Blocking-Listen ausgewählt
- Select Protocols: IPv4 und IPv6 (sofern eure Geräte IPv6 unterstützen)
- Do you want to use your current network settings as a static address: Hier habe ich die statische IP des Raspberry Pis und die Adresse des Routers angegeben.
- Do you wish to install the web admin interface: Ja
- Do you wish to install the web server (lighttpd): Ja
- Do you want to log queries: Ja
- Select a privacy mode for FTL: “Show everything”

6.) PiHole Admin Passwort setzen
Code:
pihole -a -p

7.) PiHole Weboberfläche aufrufen
(durch eigene IP ersetzen)
Code:
http://192.168.1.2/admin

click to enlarge

8.) DNS setzen (lokal oder via DHCP)
click to enlarge

This is it

Ergebnis

click to enlargeclick to enlargeclick to enlargeclick to enlarge

DNS Performance passt
click to enlarge

Warum hier stoppen?

Unbound Installation
Wir installieren unseren eigenen DNS, mit BlackJack und Nutten!
Adé, Google/Cloudflare/ISP DNS-Server


1.) Unbound installieren
Code:
$ sudo apt install unbound
wget -O root.hints [url]https://www.internic.net/domain/named.root[/url] 
sudo mv root.hints /var/lib/unbound/

2.) Konfigurationsfile erstellen
Code:
sudo vi /etc/unbound/unbound.conf.d/pi-hole.conf

3.) Inhalt Konfigurationsfile
Code:
server:
    # If no logfile is specified, syslog is used
    # logfile: "/var/log/unbound/unbound.log"
    verbosity: 0

    port: 5353
    do-ip4: yes
    do-udp: yes
    do-tcp: yes

    # May be set to yes if you have IPv6 connectivity
    do-ip6: no

    # Use this only when you downloaded the list of primary root servers!
    root-hints: "/var/lib/unbound/root.hints"

    # Trust glue only if it is within the servers authority
    harden-glue: yes

    # Require DNSSEC data for trust-anchored zones, if such data is absent, the zone becomes BOGUS
    harden-dnssec-stripped: yes

    # Don't use Capitalization randomization as it known to cause DNSSEC issues sometimes
    # see [url]https://discourse.pi-hole.net/t/unbound-stubby-or-dnscrypt-proxy/9378[/url] for further details
    use-caps-for-id: no

    # Reduce EDNS reassembly buffer size.
    # Suggested by the unbound man page to reduce fragmentation reassembly problems
    edns-buffer-size: 1472

    # Perform prefetching of close to expired message cache entries
    # This only applies to domains that have been frequently queried
    prefetch: yes

    # One thread should be sufficient, can be increased on beefy machines. In reality for most users running on small networks or on a single machine it should be unnecessary to seek performance enhancement by increasing num-threads above 1.
    num-threads: 1

    # Ensure kernel buffer is large enough to not lose messages in traffic spikes
    so-rcvbuf: 1m

    # Ensure privacy of local IP ranges
    private-address: 192.168.0.0/16
    private-address: 169.254.0.0/16
    private-address: 172.16.0.0/12
    private-address: 10.0.0.0/8
    private-address: fd00::/8
    private-address: fe80::/10

3.) Service restart
Code:
sudo service unbound start

4.) IP in PiHole Weboberfläche setzen
click to enlarge
DNS Performance passt auch

Blacklist & Whitelist management

click to enlargeclick to enlarge

Blacklist:
https://v.firebog.net/hosts/lists.php?type=tick

Whitelist:
https://github.com/anudeepND/whitelist (https://raw.githubusercontent.com/a...s/whitelist.txt)
https://firebog.net/ (unten)

Quellen:
https://community.ui.com/questions/...3d-0b55320101dc
https://medium.com/@natterstefan/mi...ss-5f087a13ff5a
https://www.mielke.de/blog/Mit-dem-...inrichten--488/
https://firebog.net/
https://docs.pi-hole.net/guides/unbound/
https://dougrathbone.com/blog/2018/...on-raspberry-pi
https://www.myhelpfulguides.com/201...g-edgerouter-x/
Bearbeitet von TOM am 07.11.2021, 11:28

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Danke, möcht ich auch schon lange machen für das ganze Netzwerk. Trotz Adblocker am Rechner hat man den Kas ja auch am Fernseher/Handy/Whereever.
Ich möcht mir nur dazu kein eigenes Kastl aufstellen, sondern idealerweise einfach einen Docker Container aufm Synology laufen lassen..

UnleashThebeast

Mr. Midlife-Crisis
Avatar
Registered: Dec 2005
Location: 127.0.0.1
Posts: 3445
Guter Tipp dazu noch:
DHCP am am Router ausschalten und vom PiHole mitmachen lassen. Dann sieht man auch gleich sehr schön, welches Device welche Anfragen schickt.

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5275
Whoa, thx.

Das weitere Kastl stört mich nicht, kommt einfach in den Routerschrank, zum restlichen Router/Homekit Zeug. Vl. versuch ich mich wirklich mal an sowas. :)

Indigo

raub_UrhG_vergewaltiger
Avatar
Registered: Mar 2001
Location: gigritzpotschn
Posts: 6687
Zitat aus einem Post von Obermotz
Ich möcht mir nur dazu kein eigenes Kastl aufstellen, sondern idealerweise einfach einen Docker Container aufm Synology laufen lassen..

hab ebenfalls als docker container laufen in einer hyper-v vm, funktioniert klaglos :thumbsup:

charmin

Super Moderator

Avatar
Registered: Dec 2002
Location: aut_sbg
Posts: 13836
Hehe cooles Tutorial. Hab den pihole auch schon seit nem Jahr als DHCP und DNS in Verwendung :) :thumbsup:

Redphex

Legend
RabbitOfNegativeEuphoria
Avatar
Registered: Mar 2000
Location: Kadaverstern
Posts: 11811
Ich mach's ähnlich, spare mir aber Pihole und hab die Blacklists direkt im unbound

Earthshaker

Here to stay
Avatar
Registered: Dec 2002
Location: .de
Posts: 8735
Extra nur den Raspberry dafür angeschafft.
Muss einfach sein.

Machen wir auch mittlerweile in der Firma so :D

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11468
habs auch in einem docker container aufm openmediavault homeserver,
den da: https://hub.docker.com/r/pihole/pihole

TOM

Super Moderator
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 7236
Danke für's Feedback!

Falls ihr bei Euren PiHole Installation noch Tipps/Tricks habt, nur her damit!
Thema wie Backup muss ich erst noch angehen (https://www.linux-tips-and-tricks.de/de/raspibackup/) - ist Proof of Concept mit einer Analyse, ob es performant genug ist bzw. reinfühlen ob's painless ist (false positives)

Eine autom. Gravity List Aktualisierung (Blacklist) wär noch nice - macht das jemand von Euch?

Docker am Synology hat's bei mir leider nicht gespielt - da ist die DS414 scheinbar zu alt dafür

Blocklisten direkt am USG verwalten hab ich mir auch angesehen, war mir dann aber nicht modular genug.
Spinnt der Gateway durch Fehlkonfigurationen oder Probleme bei Updates => Dann hängt das Internet komplett.
Spinnt allerdings der Pi, dann ist ein alternativer DNS ein guter/schneller failover ohne hands on

Am Pi kommt dann noch der Unifi Controller drauf... gebt Bescheid wenn ein Tutorial dafür auch interessant wäre.
Bearbeitet von TOM am 17.01.2020, 18:52

Viper780

Moderator
Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48756
Coole Sache Parker.

DNS und blacklist kannst aber auch am Usg bzw Edge Router einrichten.
Ich wollte kein weiteres Kastl haben und das NAS sollte nicht 24/7 laufen jetzt hab ich eine "Light" Variante am Edge Router und strikte Blacklists (wo auch Soziale Netze gesperrt sind) im Browser bzw auf den einzelnen devices

hynk

Super Moderator
like totally ambivalent
Avatar
Registered: Apr 2003
Location: Linz
Posts: 10894
Danke für den Thread!

Hab schon länger vor das mal anzugehen und jetzt juckts mich in den Fingern :)
Wollt eh schon lang ESXi am Router installieren und die pfSense drauf virtualisieren. Jetzt gibts einen weiteren guten Grund.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11468
das webinterface ist wirklich sehr übersichtlich gehalten mit sinnvollen default werten, statistiken, graphen usw. ich war in ein paar min mit dem konfigurieren fertig :) Stabilität ist auch erste Sahne, der Docker Container ist mir afair noch nie abgestürzt.
ist wirklich zu empfehlen. ;)

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11109
Zitat aus einem Post von hynk
Danke für den Thread!

Hab schon länger vor das mal anzugehen und jetzt juckts mich in den Fingern :)
Wollt eh schon lang ESXi am Router installieren und die pfSense drauf virtualisieren. Jetzt gibts einen weiteren guten Grund.

Bei pfsense o.ä. Systemen kannst du die Filterlisten aber auch direkt einbinden. Pihole wäre dazu nicht zwingend erforderlich.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11468
firewall/router virtalisieren würd ich übrigens auch ned wollen. das fügt nur weitere fehlerquellen hinzu. esxi sollt ma alle paar monat mal updaten usw. usf.
router/firewall ist imho das was am meisten wehtut wenns ausfallt...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz