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
Nächste ÜberarbeitungBeide Seiten der Revision
knb:pihole [2019/10/05 13:44] fritz_mucknb:pihole [2021/01/11 20:37] – update doh ips krombel
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/@fritz_muc|fritz_muc]]** wie man mit einem **Raspberry PI 4** mit **Pi_Hole** und **FFMUC** nutzen kann. 
-  * o Fritz!Box 7490 mit Fritz!OS 7.12 + 
-  * o Raspberry 4 mit 4GB RAM und Raspbian Buster+Im Tutorial benutztes Equipment, Stand Oktober 2019 
 +  * Fritz!Box 7490 mit Fritz!OS 7.12 
 +  * 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. 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.
Zeile 12: Zeile 16:
 [[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 im Pi ein, anschließend vergeben wir 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 33: Zeile 42:
 Dazu müssen folgende Befehle nacheinander ausgeführt werden: Dazu müssen folgende Befehle nacheinander ausgeführt werden:
  
-    wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz +  # wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz 
-    tar -xvzf cloudflared-stable-linux-arm.tgz +  # tar -xvzf cloudflared-stable-linux-arm.tgz 
-    sudo cp ./cloudflared /usr/local/bin +  # 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+  # 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: 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:
  
-   # Commandline args for cloudflared +<file bash /etc/default/cloudflared>...
-   CLOUDFLARED_OPTS=--port 5053 --upstream https://doh.ffmuc.net/doh-query+
  
 +# Commandline args for cloudflared
 +CLOUDFLARED_OPTS=--port 5053 --upstream https://doh.ffmuc.net/dns-query
 +
 +...
 +</file>
 Wenn das erledigt ist, mit strg+x und anschließend y speichern. Wenn das erledigt ist, mit strg+x und anschließend y 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: ein neues Verzeichnis auf und kopieren folgende Zeilen dort hinein:
- +<file bash /lib/systemd/system/cloudflared.service> 
-   [Unit] +[Unit] 
-   Description=cloudflared DNS over HTTPS proxy +Description=cloudflared DNS over HTTPS proxy 
-   After=syslog.target network-online.target+After=syslog.target network-online.target
        
-   [Service] +[Service] 
-   Type=simple +Type=simple 
-   User=cloudflared +User=cloudflared 
-   EnvironmentFile=/etc/default/cloudflared +EnvironmentFile=/etc/default/cloudflared 
-   ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS +ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS 
-   Restart=on-failure +Restart=on-failure 
-   RestartSec=10 +RestartSec=10 
-   KillMode=process+KillMode=process
        
-   [Install] +[Install] 
-   WantedBy=multi-user.target +WantedBy=multi-user.target 
 +</file>
 Wieder mit strg+x und anschließend y speichern. Wieder mit strg+x und anschließend y speichern.
  
 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 "2001:678:e68:f000:: doh.ffmuc.net" >> /etc/hosts
  
 Cloudflared noch die IP´s von FFMuc bekanntgeben und anschließend mit  Cloudflared noch die IP´s von FFMuc bekanntgeben und anschließend mit 
  
-   systemctl restart cloudflared+  # systemctl restart cloudflared
  
 Cloudflared neustarten. Cloudflared neustarten.
Zeile 98: Zeile 111:
 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.
Zeile 108: Zeile 121:
 Dazu wechseln wir zu „**settings**“ dort zum Reiter „**DNS**“ und geben bei Dazu 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**“ die IP //**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, weiss 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:
  
-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 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 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 **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. 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-over-https/]] \\
 +  * [[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