DIY

Anleitung

zum Aufsetzen eines Raspberry Pis 4 zur Verwendung mit Pi-hole und mehr.

Raspberry Pi im lokalen Netzwerk einrichten und SSH mit PuTTY nutzen


1. Hardware (Aufbau und Spezifikationen)

Der Raspberry Pi 4 Modell B mit 2 GB RAM oder besser wird empfohlen. Für alle Modelle sollten passende Kühlkörper und aktive Kühlung (z. B. ein Gehäuse mit integriertem Lüfter) verwendet werden, um Überhitzung zu vermeiden. Der Raspberry Pi benötigt ein USB-C-Netzteil mit mindestens 15 Watt Leistung (z. B. 5 Volt, 3 Ampere). Eine stabile Stromversorgung ist zwingend erforderlich, um Fehler wie Systemabstürze oder Datenverlust zu vermeiden.

microSD-Karte: Empfohlen sind microSD-Karten der Klasse A1 oder A2 (mindestens 16 GB, maximal 256 GB). Diese Karten sind für Anwendungen mit hoher Lesegeschwindigkeit optimiert. Vor dem Flashen sollte die microSD-Karte im FAT32-Dateisystem formatiert werden.

Technische Spezifikationen:

  • Netzteil: 5 Volt, 3 Ampere (oder höher, mindestens 15 Watt)
  • microSD-Karte: Klasse A1/A2, FAT32 formatiert
  • Ethernet: Direktverbindung zum Router empfohlen

2. Windows (Raspberry Pi OS auf die SD-Karte flashen)

Das Raspberry Pi Imager Tool herunterladen und installieren.

Schritte:

  1. Raspberry Pi Imager starten.
  2. Betriebssystem auswählen: „Raspberry Pi OS (32-bit)“ auswählen.
  3. Speicherziel auswählen: Die microSD-Karte auswählen.
  4. SSH aktivieren:
    • Die erweiterten Einstellungen (Zahnradsymbol) öffnen.
    • SSH aktivieren und „Standardbenutzername und Passwort verwenden“ auswählen.
    • Optional den Hostnamen festlegen, z. B. raspberrypi.
  5. Auf „Schreiben“ klicken, um das Betriebssystem auf die SD-Karte zu flashen.
  6. Nach Abschluss die microSD-Karte sicher entfernen und in den Raspberry Pi einsetzen.

3. PuTTY (SSH-Verbindung und Setup)

IP-Adresse des Raspberry Pi im Router finden:

  1. Die Benutzeroberfläche des Routers in einem Browser öffnen (z. B. 192.168.1.1 oder 192.168.0.1).
  2. Mit den Zugangsdaten (siehe Router-Handbuch) anmelden.
  3. In der Liste der verbundenen Geräte den Eintrag raspberrypi suchen.
  4. Die angezeigte IP-Adresse des Raspberry Pi (z. B. 192.168.1.100) notieren.

IP-Adresse im Router als statisch festlegen:

  1. Die DHCP-Reservierung oder statische IP-Zuweisung in den Router-Einstellungen öffnen.
  2. Den Raspberry Pi hinzufügen:
    • Gerätename: raspberrypi
    • MAC-Adresse: (wird in der Geräteliste angezeigt)
    • Statische IP: Eine feste Adresse festlegen, z. B. 192.168.1.100.
  3. Änderungen speichern.

Verbindung mit PuTTY herstellen:

  1. PuTTY von der offiziellen Webseite herunterladen und installieren.
  2. PuTTY öffnen.
  3. Die IP-Adresse des Raspberry Pi in das Feld „Host Name (or IP address)“ eingeben.
  4. Port 22 verwenden und als Verbindungstyp SSH auswählen.
  5. Auf „Open“ klicken, um die Verbindung herzustellen.
  6. Nach Aufforderung die Zugangsdaten eingeben:
    • Benutzername: pi
    • Standardpasswort: raspberry
  7. Das Passwort sofort ändern mit:
    passwd

4. Updates, Sicherheit und andere Befehle

Nach der ersten Verbindung ist es wichtig, den Raspberry Pi zu aktualisieren und weitere nützliche Befehle zu kennen:

Updates und Sicherheit:

  • System aktualisieren:
    sudo apt update
    sudo apt upgrade -y
  • Hostnamen ändern:
    sudo nano /etc/hostname
                    
  • Neustart:
    sudo reboot

Nützliche Befehle:

  • Freier Speicher anzeigen:
    df -h
  • Netzwerkstatus überprüfen:
    ifconfig
  • Aktuelle IP-Adresse anzeigen:
    hostname -I
  • Installierte Pakete auflisten:
    dpkg --get-selections
  • Prozesse anzeigen:
    top
  • Datei bearbeiten:
    nano [Dateiname]
  • System herunterfahren:
    sudo shutdown now
  • System neu starten:
    sudo reboot

Downloads

Pi-hole auf dem Raspberry Pi installieren


1. Pi-hole installieren

Pi-hole wird über ein einfaches Skript installiert:

  1. SSH-Verbindung zum Raspberry Pi herstellen.
  2. Das Installationsskript von Pi-hole ausführen:
          curl -sSL https://install.pi-hole.net | bash
                
  3. Dem Installationsprozess folgen:
    • Den Netzwerkadapter auswählen (z. B. eth0 für Ethernet).
    • Die statische IP-Adresse des Raspberry Pi bestätigen.
    • Den Upstream-DNS-Server auswählen (empfohlen: Google, OpenDNS oder Cloudflare).
    • Optional: Blocklisten während der Installation anpassen.
  4. Am Ende der Installation wird ein Admin-Interface-Passwort angezeigt. Dieses notieren.

2. Pi-hole konfigurieren

Nach der Installation können weitere Einstellungen vorgenommen werden:

  • Das Admin-Interface im Browser öffnen:
    http://[IP-Adresse-des-Raspberry-Pi]/admin
  • Mit dem im Installationsprozess vergebenen Passwort anmelden.
  • Optional das Passwort ändern:
    pihole -a -p
  • Blocklisten, Whitelist oder Blacklist nach Bedarf anpassen.

3. Router konfigurieren

Damit Pi-hole als DNS-Server im gesamten Netzwerk verwendet wird:

  1. In die Router-Einstellungen wechseln (z. B. 192.168.1.1 im Browser eingeben).
  2. DNS-Server ändern:
    • Primärer DNS: Die IP-Adresse des Raspberry Pi (z. B. 192.168.1.100).
    • Sekundärer DNS: Einen öffentlichen DNS-Server (z. B. 8.8.8.8 für Google).
  3. Speichern und die Netzwerkeinstellungen aktualisieren.

4. Benutzeroberfläche erreichen und Sperrlisten hinzufügen

Nach der Installation kann die Benutzeroberfläche von Pi-hole genutzt werden, um Einstellungen zu verwalten und Sperrlisten hinzuzufügen:

  1. Die Admin-Benutzeroberfläche im Browser öffnen:
    http://[IP-Adresse-des-Raspberry-Pi]/admin
  2. Mit dem Passwort, das während der Installation angezeigt wurde, anmelden. Falls das Passwort vergessen wurde, kann ein neues Passwort gesetzt werden:
    pihole -a -p
  3. Sperrlisten hinzufügen:
    • Im Admin-Dashboard zu "Group Management" > "Adlists" navigieren.
    • Die URL einer Sperrliste in das Feld "Address" einfügen und auf "Add" klicken.
    • Die Änderungen mit "Update Gravity" übernehmen.
  4. Empfohlene Sperrlisten finden:

4. Benutzeroberfläche erreichen und Sperrlisten hinzufügen

Nach der Installation von Pi-hole kann die Benutzeroberfläche genutzt werden, um Sperrlisten hinzuzufügen und weitere Konfigurationen vorzunehmen:

  1. Die Benutzeroberfläche im Browser öffnen:
    http://[IP-Adresse-des-Raspberry-Pi]/admin
  2. Sich mit dem während der Installation generierten Passwort anmelden.
  3. Sperrlisten hinzufügen:
    • Im Menü auf Group Management > Adlists klicken.
    • In das Feld Address eine Sperrliste im Rohformat einfügen, z. B.:
      https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
    • Auf Add klicken, um die Liste hinzuzufügen.
  4. Nach dem Hinzufügen die Blocklisten aktualisieren:
    pihole -g

Hinweis: Sperrlisten müssen immer im Rohformat hinzugefügt werden. Weitere Listen können beispielsweise in Foren und auf GitHub gefunden werden.

5. Nützliche Befehle für Pi-hole

Pi-hole kann über die Kommandozeile verwaltet werden. Hier sind einige nützliche Befehle:

  • Pi-hole Admin-Interface Passwort ändern:
    pihole -a -p
  • Pi-hole Status prüfen:
    pihole status
  • DNS-Server aktualisieren:
    pihole restartdns
  • Blocklisten manuell aktualisieren:
    pihole -g
  • Pi-hole deaktivieren (für 5 Minuten):
    pihole disable 300
  • Pi-hole wieder aktivieren:
    pihole enable
  • Pi-hole neu starten:
    sudo systemctl restart pihole-FTL

Node-RED installieren und mit MQTT konfigurieren


1. Node-RED installieren

Node-RED kann direkt auf einem Raspberry Pi installiert werden. Folgende Schritte ausführen:

  1. SSH-Verbindung zum Raspberry Pi herstellen.
  2. Das offizielle Installationsskript ausführen:
          bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/main/deb/update-nodejs-and-nodered)
                
  3. Die Installation prüfen, indem Node-RED gestartet wird:
    node-red-start
  4. Den Web-Editor von Node-RED im Browser öffnen:
    http://[IP-Adresse-des-Raspberry-Pi]:1880
  5. Node-RED beim Systemstart aktivieren:
    sudo systemctl enable nodered.service

2. MQTT-Broker installieren

Ein MQTT-Broker wie Mosquitto ist notwendig, um MQTT mit Node-RED zu verwenden. Die Installation erfolgt wie folgt:

  1. Mosquitto und die zugehörigen Tools installieren:
          sudo apt update
          sudo apt install -y mosquitto mosquitto-clients
                
  2. Den Mosquitto-Dienst aktivieren und starten:
          sudo systemctl enable mosquitto
          sudo systemctl start mosquitto
                
  3. Die MQTT-Verbindung mit einem Testbefehl prüfen:
          mosquitto_sub -h localhost -t test
                
    (In einem anderen Terminal eine Nachricht senden: mosquitto_pub -h localhost -t test -m "Hello World")

3. Weitere nützliche Software installieren

Zusätzlich zu MQTT können folgende Erweiterungen und Tools installiert werden:

  • Node-RED-Dashboard: Für benutzerdefinierte Web-Oberflächen:
          node-red admin install node-red-dashboard
                
  • Node-RED-Contrib-Home-Assistant: Integration mit Home Assistant:
          node-red admin install node-red-contrib-home-assistant-websocket
                
  • Node-RED-Contrib-Modbus: Für Modbus-Integration:
          node-red admin install node-red-contrib-modbus
                
  • Grafana: Für Datenvisualisierung:
          sudo apt install -y grafana
                
  • InfluxDB: Für die Speicherung von Zeitreihendaten:
          sudo apt install -y influxdb
          sudo systemctl start influxdb
          sudo systemctl enable influxdb
                

4. MQTT in Node-RED verwenden

Nach der Installation von MQTT und Node-RED kann eine Verbindung zwischen beiden hergestellt werden:

  1. Im Node-RED-Web-Editor (unter http://[IP-Adresse-des-Raspberry-Pi]:1880) anmelden.
  2. Die MQTT-Knoten (Subscribe und Publish) aus der Palette auf das Flow-Feld ziehen.
  3. Ein MQTT-Broker einrichten:
    • Auf den MQTT-Knoten doppelklicken.
    • Die Broker-Details eingeben (z. B. Hostname: localhost, Port: 1883).
    • Optional Benutzername und Passwort hinzufügen, falls der Broker gesichert ist.
  4. Einfachen Flow erstellen:
    • Einen MQTT-Subscribe-Knoten mit einem Debug-Knoten verbinden.
    • Einen MQTT-Publish-Knoten hinzufügen, der Nachrichten an das gleiche Topic sendet.
  5. Den Flow deployen und testen.

5. Nützliche Befehle

Hier sind einige nützliche Befehle für Node-RED, MQTT und andere Tools:

  • Node-RED starten:
    node-red-start
  • Node-RED stoppen:
    node-red-stop
  • Node-RED-Protokolle anzeigen:
    node-red-log
  • Mosquitto-Status prüfen:
    sudo systemctl status mosquitto
  • Grafana starten:
    sudo systemctl start grafana-server
  • InfluxDB starten:
    sudo systemctl start influxdb