knb:pihole

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
knb:pihole [2019/10/04 16:29] fritz_mucknb:pihole [2022/08/02 20:08] (aktuell) awickert
Zeile 1: Zeile 1:
-====== ENTWURF!!! Raspberry 4 mit Pi-Hole und DOH über FFMuc nutzen ====== +{{htmlmetatags>metatag-robots=(index,follow)  
-{{:ffmuc_logo.png?nolink&150|Bild: Freifunk München Logo}} +metatag-description=(Raspberry 4 mit Pi-Hole und DOH über FFMuc nutzen) 
-Raspberry 4 mit Pi-Hole und DOH über FFMuc nutzen+}} 
 +====== Raspberry 4 mit Pi-Hole und DoH über FFMuc nutzen ====== 
 +{{ :ffmuc_logo.png?nolink&150|Bild: Freifunk München Logo}}
  
-- im Tutorial benutztes Equipment, Stand Oktober 2019 +In diesem Artikel beschreibt **[[https://chat.ffmuc.net/freifunk/messages/@thegoliath|thegoliath]]** wie man mit einem **Raspberry Pi 4** mit **Pi_Hole** und **FFMUC DNS** nutzen kann.
-  o Fritz!Box 7490 mit Fritz!OS 7.12 +
-  o Raspberry 4 mit 4GB RAM und Raspbian Buster+
  
-Es wird in den weiteren Schritten davon ausgegangen, dass auf dem Pi bereits ein funktionierendes Betriebssystem installiert ist. Ebenso benötigt der Pi eine feste (statische) IPv4 im Heimnetz. +Im Tutorial benutztes Equipment, Stand Januar 2022 
-Muss noch ein Betriebssystem installiert werden, so empfiehlt sich diese Seite, da hier gleichzeitig ein SSH Zugang mit aktiviert wird.+  * AVM FRITZ!Box 7490 mit Fritz!OS 7.12 
 +  * Raspberry 4 mit 4 GB RAM und Raspbian Buster (Raspberry Pi OS Bullseye wird natürlich auch unterstützt und sollte ohne Modifikationen funktionieren) 
 + 
 +Es wird in den weiteren Schritten davon ausgegangen, dass auf dem Pi bereits ein funktionierendes Betriebssystem (z.B. Raspbian/Raspberry Pi OS) installiert ist. Ebenso benötigt der Pi eine feste (statische) IPv4 im Heimnetz. 
 +Muss noch ein Betriebssystem installiert werden, so empfiehlt sich diese Seite, da hier gleichzeitig ein SSH Zugang mit aktiviert wird:
  
 [[https://www.tutonaut.de/anleitung-raspberry-pi-ohne-monitor-und-tastatur-headless-einrichten/]] [[https://www.tutonaut.de/anleitung-raspberry-pi-ohne-monitor-und-tastatur-headless-einrichten/]]
  
-Als erstes loggen wir uns im Pi ein, anschließend vergeben wir mit sudo –i root Rechte, sonst gibt es später Probleme.+Als erstes loggen wir uns auf dem Pi ein, anschließend geben wir uns mit ''sudo su -'' root Rechte, sonst gibt es später Probleme.  
 + 
 +<WRAP center round tip 60%> 
 +**Die gesamte Installation muss als root durchgeführt werden**. 
 +</WRAP> 
 Danach muss Pi-Hole heruntergeladen werden, dazu gibt es 2 Möglichkeiten: Danach muss Pi-Hole heruntergeladen werden, dazu gibt es 2 Möglichkeiten:
  
Zeile 18: Zeile 27:
 Dazu muss folgender Befehl eingegeben werden: Dazu muss folgender Befehl eingegeben werden:
  
-curl -SSL https://install.pi-hole.net | bash+  # curl -sSL https://install.pi-hole.net | bash
  
 2. Der manuelle Download und die anschließende Installation: 2. Der manuelle Download und die anschließende Installation:
  
-  wget -O basic-install.sh https://install.pi-hole.net +  wget -O basic-install.sh https://install.pi-hole.net 
-  sudo bash basic-install.sh+  sudo bash basic-install.sh
  
 Alle weiteren Installationsschritte für Pi-Hole werden hier gut und ausführlich beschrieben, ich wählte „Custom“ bei der DNS Auswahl. Alle weiteren Installationsschritte für Pi-Hole werden hier gut und ausführlich beschrieben, ich wählte „Custom“ bei der DNS Auswahl.
Zeile 29: Zeile 38:
 https://www.heise.de/tipps-tricks/Pi-Hole-auf-dem-Raspberry-Pi-einrichten-so-geht-s-4358553.html https://www.heise.de/tipps-tricks/Pi-Hole-auf-dem-Raspberry-Pi-einrichten-so-geht-s-4358553.html
  
-Wenn die Installation von Pi-Hole soweit abgeschlossen ist, widmen wir uns der Installation von Cloudflared. Das wird benötigt, um über Pi-Hole per DNS-over https Anfragen abzuwickeln.+Wenn die Installation von Pi-Hole soweit abgeschlossen ist, widmen wir uns der Installation des Cloudflared-DienstesDieser wird benötigt, um über Pi-Hole per DNS-over-HTTPS (DoH) Anfragen verschlüsselt abzuwickeln.
  
-Dazu müssen wir als root folgende Befehle nacheinander ausführen:+Dazu müssen folgende Befehle nacheinander ausgeführt werden:
  
-  wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz +  wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 
-  * tar -xvzf cloudflared-stable-linux-arm.tgz +  sudo cp ./cloudflared-linux-arm64 /usr/local/bin/cloudflared 
-  sudo cp ./cloudflared /usr/local/bin +  sudo chmod +x /usr/local/bin/cloudflared 
-  sudo chmod +x /usr/local/bin/cloudflared +  cloudflared -v
-  cloudflared -v+
  
 Wenn diese Befehle erledigt sind, muss noch ein Benutzer angelegt werden. Wenn diese Befehle erledigt sind, muss noch ein Benutzer angelegt werden.
 Das wird erledigt mit: Das wird erledigt mit:
  
-  sudo useradd -s /usr/sbin/nologin -r -M cloudflared+  sudo useradd -s /usr/sbin/nologin -r -M cloudflared
  
-Mit //nano /etc/default/cloudflared// wechseln wir in das entsprechende Verzeichnis, +Mit
-dort müssen wir für FFMuc folgende Zeilen einfügen:+
  
-  Commandline args for cloudflared +  # sudo nano /etc/default/cloudflared
-  * CLOUDFLARED_OPTS=--port 5053 --upstream https://doh.ffmuc.net/doh-query+
  
-Wenn das erledigt ist, mit strg+x und anschließend y speichern.+öffnen wir die Standard-Konfigurationsdate des Cloudflared-Dienstes<fc #ff0000>Abweichend von der ursprünglichen Installation</fc> müssen wir für die DoH-Server von FFMUC folgende Zeilen einfügen:
  
-Danach rufen wir mit //nano /lib/systemd/system/cloudflared.service//  +<file bash /etc/default/cloudflared>...
-ein neues Verzeichnis auf und kopieren folgende Zeilen dort hinein:+
  
 +# Commandline args for cloudflared
 +CLOUDFLARED_OPTS=--port 5053 --upstream https://doh.ffmuc.net/dns-query
 +
 +...
 +</file>
 +Wenn das erledigt ist, mit der Tastenkombination STRG + x und anschließend durch Drücken der Taste y die Datei speichern.
 +
 +Danach rufen wir mit
 +
 +  # nano /lib/systemd/system/cloudflared.service
 +
 +eine neue Datei für das z.B. Starten & Stoppen des Cloudflared-Dienstes auf und kopieren dort folgende Zeilen hinein:
 +<file bash /lib/systemd/system/cloudflared.service>
 [Unit] [Unit]
 Description=cloudflared DNS over HTTPS proxy Description=cloudflared DNS over HTTPS proxy
Zeile 70: Zeile 88:
 [Install] [Install]
 WantedBy=multi-user.target WantedBy=multi-user.target
- +</file> 
-Wieder mit strg+x und anschließend y speichern.+Wieder mit der Tastenkombination STRG + x und anschließend durch Drücken der Taste die Datei speichern. 
 +Nun müssen wir noch die Berechtigungen für den `cloudflared` Nutzer anpassen 
 +  # sudo chown cloudflared:cloudflared /etc/default/cloudflared 
 +  # sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared
  
 Mit folgenden Befehlen starten und aktivieren wir Cloudflared: Mit folgenden Befehlen starten und aktivieren wir Cloudflared:
  
-  sudo systemctl enable cloudflared +  sudo systemctl enable cloudflared 
-  sudo systemctl start cloudflared +  sudo systemctl start cloudflared 
-  sudo systemctl status cloudflared+  sudo systemctl status cloudflared
  
-Jetzt kommt für FFMuc eine Besonderheit, denn wir müssen mit+Jetzt kommt für FFMUC eine weitere Besonderheit, denn wir müssen mit
  
-  echo "195.30.94.28 doh.ffmuc.net" >> /etc/hosts +  echo "5.1.66.255 doh.ffmuc.net" >> /etc/hosts 
-  echo "2001:608:a01::doh.ffmuc.net" >> /etc/hosts+  # echo "185.150.99.255 doh.ffmuc.net" >> /etc/hosts 
 +  # echo "2001:678:e68:f000:: doh.ffmuc.net" >> /etc/hosts 
 +  # echo "2001:678:ed0:f000:: doh.ffmuc.net" >> /etc/hosts
  
-Cloudflared noch die IP´s von FFMuc bekanntgeben und anschließend mit +dem Cloudflared-Dienst noch die IP'von den FFMUC-DoH-Servern bekanntgeben und anschließend mit  
 + 
 +  # systemctl restart cloudflared
  
-  * systemctl restart cloudflared 
-  *  
 Cloudflared neustarten. Cloudflared neustarten.
  
-Mit dem Befehl //dig @127.0.0.1 -p 5053 heise.de// überprüfen wir ob alles funktioniert. Die Ausgabe sollte dann so aussehen:+Mit dem Befehl
  
- +  # dig @127.0.0.1 -p 5053 heise.de 
 + 
 +überprüfen wir ob alles funktioniert. Die Ausgabe sollte dann so aussehen: 
 + 
 +{{ :knb:pihole_01.png?direct&700 |Bild: Bildschirmhardcopy Befehl dig}}
  
 Jetzt können wir uns beim Pi-Hole anmelden und dort die DNS-Server konfigurieren. Jetzt können wir uns beim Pi-Hole anmelden und dort die DNS-Server konfigurieren.
 +Im Normalfall ist das Webinterface unter der IPv4-Adresse eures Raspberry Pis erreichbar (z.B. http:%%//%%<IP-des-Pi>/admin)
  
-Dazu wechseln wir zu „settings“ dort zum Reiter „DNS“ und geben bei +Nun wechseln wir zu „**Settings**“ dort zum Reiter „**DNS**“ und geben bei 
-„Custom 1“ die IP //127.0.0.1#5053// ein. Damit verweisen wir auf Cloudflared. (Localhost)+**Custom 1 (IPv4)**“ die IP-Adresse //**127.0.0.1#5053**// ein. Damit verweisen wir auf Cloudflared. (Localhost) 
 +Wenn man später auf dem Dashboard unter "**Queries answered by**" "**Localhost**" sieht, weiß man, dass die Anfragen über Cloudflared und somit über den DNS von FFMUC gelaufen sind.
  
 Das ganze muss dann so aussehen: Das ganze muss dann so aussehen:
  
- +{{ :knb:pihole_02.png?direct&700 |Bild : Bildschirmhardcopy PiHole }}
  
-Ganz unten auf dieser Seite müssen wir noch die IP und den Namen vom Router eingeben, rechts unten sieht man auch den „Save“ Button, nicht vergessen zu speichern.+Ganz unten auf dieser Seite müssen wir noch die IP und den Namen vom Router eingeben, rechts unten sieht man auch den „**Save**“ Button, nicht vergessen zu speichern.
  
- +{{ :knb:pihole_03.png?direct&700 |Bild : Bildschirmhardcopy PiHole }}
  
-In diesem Fall bleibt der Router der DHCP-Server, nur die externen DNS-Abfragen laufen über den Pi!!!! Anschließend müssen wir noch unserem Router mitteilen, dass die DNS-Abfragen in Zukunft über den Pi laufen. Dazu loggen wir uns auf unserem Router (hier FB 7490) ein und gehen dort zu „Internet -> Zugangsdaten -> DNS-Server“ +In unserem Fall bleibt der Router der DHCP-Server, nur die externen DNS-Abfragen laufen über den Pi!!!! Anschließend müssen wir noch unserem Router mitteilen, dass die DNS-Abfragen in Zukunft über den Pi laufen. Dazu loggen wir uns auf unserem Router (hier eine AVM FRITZ!Box 7490) ein und gehen dort zu „**Internet -> Zugangsdaten -> DNS-Server**“.
-Dort tragen wir die IPv4 Adresse (in diesem Fall die 10.99.1.11) sowie die Linklocal IPv6 Adresse des Pi ein. Bei der Fritz!Box muss man jeweils beide Felder benutzen, sonst meckert sie. Die Linklocal beginnt in der Regel mit fe80, sie findet man unter „Heimnetz -> Netzwerk“, wenn man auf den Stift rechts neben dem Netzwerkgerät klickt.+
  
- +Dort tragen wir die <fc #ff0000>statische IPv4 Heimnetzadresse</fc> (<fc #ff0000>in diesem Fall</fc> die 10.99.1.11) sowie die **Link-Local IPv6 Adresse des Pi** ein. Bei der Fritz!Box muss man jeweils beide Felder benutzen, sonst meckert sie beim abspeichern. Die Link-Local beginnt in der Regel mit **fe80**, sie findet man unter „**Heimnetz -> Netzwerk**“, wenn man auf den Stift rechts neben dem Netzwerkgerät klickt. 
 + 
 +{{ :knb:pihole_04.png?direct&700 |Bild : Bildschirmhardcopy Fritzbox-DNS }}
  
 Nach der Umstellung sollte alles, einschließlich IPTV (z.B. Entertain) funktionieren. Nach der Umstellung sollte alles, einschließlich IPTV (z.B. Entertain) funktionieren.
  
 +Auf dem Dashboard vom Pi-Hole ''http:%%//%%<IP-des-Pi>/admin/'' kann man gut erkennen ob das Pi-Hole funktioniert.
  
 +{{ :knb:pihole_05.png?direct&700 |Bild : Bildschirmhardcopy Pi-Hole Dashboard }}
  
 +Bitte auch überprüfen ob sich das Pi-Hole die Updatelisten holt. Dazu nach dem Einloggen auf den Pi-Hole unter "**Tools -> Update Gravity**" im rechten großen Fenster auf "**UPDATE**" klicken und warten. Wenn alles funktioniert sollte es so aussehen:
  
 +{{ :knb:pihole_06.png?direct&700 |Bild : Bildschirmhardcopy Pi-Hole Updateliste }}
  
 +Unter folgender Website gibt es noch weitere Ergänzungslisten für das Pi-Hole:
  
 +  * [[https://firebog.net]]
  
- +Die Listen kann man unter "**Settings -> Blocklists**" einfügen und speichern.
- +
- +
- +
- +
- +
-Auf dem Dashboard vom Pi-Hole (http://<IP-des-Pi>/admin/kann man gut erkennen ob das Pi-Hole funktioniert. +
    
 +Als Quellen wurden verwendet: 
  
-  * Als Quellen wurden verwendet: +  * [[https://github.com/pi-hole/pi-hole/#one-step-automated-install|]] \\ 
-  [[* -https://github.com/pi-hole/pi-hole/#one-step-automated-install]] +  [[https://docs.pi-hole.net/guides/dns/cloudflared/]] \\ 
-  [[* -https://docs.pi-hole.net/guides/dns-over-https/]] +  [[https://www.heise.de/tipps-tricks/Pi-Hole-auf-dem-Raspberry-Pi-einrichten-so-geht-s-4358553.html]] \\ 
-  [[* -https://www.heise.de/tipps-tricks/Pi-Hole-auf-dem-Raspberry-Pi-einrichten-so-geht-s-4358553.html]] +  [[https://www.tutonaut.de/anleitung-raspberry-pi-ohne-monitor-und-tastatur-headless-einrichten/]] \\ 
-  [[* -https://www.tutonaut.de/anleitung-raspberry-pi-ohne-monitor-und-tastatur-headless-einrichten/]] +  * sowie eigene Bilder und die Hilfe vom FFMUC-Team, Danke dafür!!
-  * -sowie eigene Bilder und die Hilfe vom FFMuc-Team, Danke dafür! +
- +
- +
- +
  • knb/pihole.txt
  • Zuletzt geändert: 2022/08/02 20:08
  • von awickert