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/05 13:43] 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. <fc #ff0000>HINWEIS!!</fc> **Die gesamte Installation muss als root durchgeführt werden**.+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 (DOH) 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 Mit
  
-   nano /etc/default/cloudflared+  # sudo nano /etc/default/cloudflared
  
-wechseln wir in das entsprechende Verzeichnis, dort müssen wir, <fc #ff0000>abweichend von der ursprünglichen Installation</fc>für FFMuc folgende Zeilen einfügen:+ö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:
  
-   # Commandline args for cloudflared +<file bash /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.+# 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 die Datei speichern.
  
 Danach rufen wir mit Danach rufen wir mit
  
-   nano /lib/systemd/system/cloudflared.service+  # nano /lib/systemd/system/cloudflared.service
  
-ein neues Verzeichnis auf und kopieren folgende Zeilen dort hinein:+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] 
 +Description=cloudflared DNS over HTTPS proxy 
 +After=syslog.target network-online.target
  
-   [Unit] +[Service] 
-   Description=cloudflared DNS over HTTPS proxy +Type=simple 
-   After=syslog.target network-online.target +User=cloudflared 
-    +EnvironmentFile=/etc/default/cloudflared 
-   [Service] +ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS 
-   Type=simple +Restart=on-failure 
-   User=cloudflared +RestartSec=10 
-   EnvironmentFile=/etc/default/cloudflared +KillMode=process
-   ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS +
-   Restart=on-failure +
-   RestartSec=10 +
-   KillMode=process +
-    +
-   [Install] +
-   WantedBy=multi-user.target+
  
-Wieder mit strg+x und anschließend y speichern.+[Install] 
 +WantedBy=multi-user.target 
 +</file> 
 +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 weitere 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.
Zeile 98: Zeile 115:
 Mit dem Befehl Mit dem Befehl
  
-   dig @127.0.0.1 -p 5053 heise.de+  # dig @127.0.0.1 -p 5053 heise.de
  
 überprüfen wir ob alles funktioniert. Die Ausgabe sollte dann so aussehen: überprüfen wir ob alles funktioniert. Die Ausgabe sollte dann so aussehen:
  
-Bild dig einfügen+{{ :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, weiss man dass die Anfragen über Cloudflared und somit über den DNS von FFMUc gelaufen sind.+Wenn man später auf dem Dashboard unter "**Queries answered by**" "**Localhost**" sieht, weiß mandass 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:
  
-Bild Pi Hole DNS-1 einfügen+{{ :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.
  
-Bild Pi Hole DNS-2 einfügen+{{ :knb:pihole_03.png?direct&700 |Bild : Bildschirmhardcopy PiHole }}
  
- +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**“.
  
-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 FB 7490) ein und gehen dort zu „**Internet -> Zugangsdaten -> DNS-Server**“ +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.
-Dort tragen wir die <fc #ff0000>statische IPv4 Heimnetzadresse</fc> (<fc #ff0000>in diesem Fall</fc> 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 beim abspeichern. 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.+
  
-Bild DNS FritzBox DNS-1 einfügen+{{ :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.+Auf dem Dashboard vom Pi-Hole ''http:%%//%%<IP-des-Pi>/admin/'' kann man gut erkennen ob das Pi-Hole funktioniert.
  
-BILD PI-HOLE DASHBOARD EINFÜGEN+{{ :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:
  
-Bitte auch überprüfen ob sich das Pi-Hole die Updatelisten holtDazu nach dem einloggen auf den Pi-Hole unter "**Tools -> Update Gravity**" im rechten grossen Fenster auf "**UPDATE**" klicken und warten. Wenn alles funktioniert sollte es so aussehen:+{{ :knb:pihole_06.png?direct&700 |Bild : Bildschirmhardcopy Pi-Hole Updateliste }}
  
-BILD UPDATELIST EINFÜGEN+Unter folgender Website gibt es noch weitere Ergänzungslisten für das Pi-Hole:
  
 +  * [[https://firebog.net]]
  
-Als Quellen wurden verwendet: +Die Listen kann man unter "**Settings -> Blocklists**" einfügen und speichern. 
-   [[https://github.com/pi-hole/pi-hole/#one-step-automated-install]] +  
-   [[https://docs.pi-hole.net/guides/dns-over-https/]] +Als Quellen wurden verwendet: 
-   [[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/]] +
-   sowie eigene Bilder und die Hilfe vom FFMuc-Team, Danke dafür!!+
  
 +  * [[https://github.com/pi-hole/pi-hole/#one-step-automated-install|]] \\
 +  * [[https://docs.pi-hole.net/guides/dns/cloudflared/]] \\
 +  * [[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/]] \\
 +  * 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