Dies ist eine alte Version des Dokuments!


ENTWURF!!! Raspberry 4 mit Pi-Hole und DOH über FFMuc nutzen

Bild: Freifunk München Logo Raspberry 4 mit Pi-Hole und DOH über FFMuc nutzen

- im Tutorial benutztes Equipment, Stand Oktober 2019

  • 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. 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/

Als erstes loggen wir uns im Pi ein, anschließend vergeben wir mit sudo –i root Rechte, sonst gibt es später Probleme. HINWEIS!! Die gesamte Installation muss als root durchgeführt werden. Danach muss Pi-Hole heruntergeladen werden, dazu gibt es 2 Möglichkeiten:

1. Der automatische Download und die automatische Installation Dazu muss folgender Befehl eingegeben werden:

 curl -SSL https://install.pi-hole.net | bash

2. Der manuelle Download und die anschließende Installation:

 wget -O basic-install.sh https://install.pi-hole.net
 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.

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.

Dazu müssen folgende Befehle nacheinander ausgeführt werden:

  wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz
  tar -xvzf cloudflared-stable-linux-arm.tgz
  sudo cp ./cloudflared /usr/local/bin
  sudo chmod +x /usr/local/bin/cloudflared
  cloudflared -v

Wenn diese Befehle erledigt sind, muss noch ein Benutzer angelegt werden. Das wird erledigt mit:

 sudo useradd -s /usr/sbin/nologin -r -M cloudflared

Mit

 nano /etc/default/cloudflared

wechseln wir in das entsprechende Verzeichnis, dort müssen wir, abweichend von der ursprünglichen Installation, für FFMuc folgende Zeilen einfügen:

 # Commandline args for cloudflared
 CLOUDFLARED_OPTS=--port 5053 --upstream https://doh.ffmuc.net/doh-query

Wenn das erledigt ist, mit strg+x und anschließend y speichern.

Danach rufen wir mit

 nano /lib/systemd/system/cloudflared.service

ein neues Verzeichnis auf und kopieren folgende Zeilen dort hinein:

 [Unit]
 Description=cloudflared DNS over HTTPS proxy
 After=syslog.target network-online.target
 
 [Service]
 Type=simple
 User=cloudflared
 EnvironmentFile=/etc/default/cloudflared
 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.

Mit folgenden Befehlen starten und aktivieren wir Cloudflared:

 sudo systemctl enable cloudflared
 sudo systemctl start cloudflared
 sudo systemctl status cloudflared

Jetzt kommt für FFMuc eine weitere Besonderheit, denn wir müssen mit

 echo "195.30.94.28 doh.ffmuc.net" >> /etc/hosts
 echo "2001:608:a01::3 doh.ffmuc.net" >> /etc/hosts

Cloudflared noch die IP´s von FFMuc bekanntgeben und anschließend mit

 systemctl restart cloudflared

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:

Bild dig einfügen

Jetzt können wir uns beim Pi-Hole anmelden und dort die DNS-Server konfigurieren.

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) 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:

Bild Pi Hole DNS-1 einfügen

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

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 statische IPv4 Heimnetzadresse (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 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

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. BILD PI-HOLE DASHBOARD EINFÜGEN 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 grossen Fenster auf „UPDATE“ klicken und warten. Wenn alles funktioniert sollte es so aussehen: BILD UPDATELIST EINFÜGEN Als Quellen wurden verwendet: 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.1570283058.txt.gz
  • Zuletzt geändert: 2020/06/09 17:00
  • (Externe Bearbeitung)