Files
Homelab--Bratonein-Kontroll…/Kapitel 2/Free Rohtext.md

221 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kapitel 2 Pi-hole + Unbound (Rohtext)
## Einleitung
Werbung im Browser, Tracking auf dem Smartphone, Datenabfragen im Smart-TV all das läuft im Hintergrund über DNS. Jeder Aufruf einer Webseite, jeder Klick in einer App löst eine DNS-Anfrage aus. Genau hier setzt **Pi-hole** an: es fängt diese Anfragen ab und filtert bekannte Werbe- und Trackingadressen heraus, bevor sie überhaupt geladen werden können. Das entlastet die Geräte, spart Bandbreite und sorgt für ein aufgeräumtes Netz.
Zusammen mit **Unbound** als lokalem DNS-Resolver wird daraus eine besonders saubere Lösung. Unbound fragt nicht einfach einen externen DNS-Dienst wie Google oder Cloudflare, sondern löst jede Anfrage selbst von der Wurzel des Domain Name Systems bis zur Zieladresse auf. Damit bleiben die Daten im eigenen Netz, die Privatsphäre steigt deutlich, und es entsteht ein kleiner Geschwindigkeitsvorteil, weil der Weg kürzer ist.
Für Content Creator und Streamer bedeutet das: weniger Ablenkung durch Werbung, stabile Netzwerkperformance und ein professionellerer Workflow. Für Privatnutzer: mehr Ruhe beim Surfen, besserer Schutz vor Tracking und ein Stück digitale Selbstbestimmung im eigenen Heimnetz.
---
## Voraussetzungen
Bevor wir mit der Einrichtung starten, stellen wir sicher, dass die Grundlagen stimmen:
- **Proxmox** ist bereits installiert und erreichbar (siehe Kapitel 1).
- **Zugang zur Proxmox-Weboberfläche** über einen Browser im Heimnetz.
- **Internetverbindung** für den Download des Container-Templates.
- Grundverständnis: Was ist eine **IP-Adresse** und was ist eine **Domain**?
- Ein wenig Geduld und Bereitschaft, sich durch die Proxmox-GUI zu klicken wir führen durch jeden Schritt.
Optional hilfreich:
- Ein zweites Gerät (z. B. Tablet oder Smartphone), um die Anleitung nebenher geöffnet zu haben, während man in Proxmox arbeitet.
---
## Schritt für Schritt
### Container anlegen
Jetzt legen wir den Container an, in dem Pi-hole und Unbound **gemeinsam** laufen werden.
1) **CT erstellen** anklicken
👉 *Screenshot geeignet: Schaltfläche „CT erstellen“ oben rechts.*
2) **Allgemein**
- **Knoten:** (dein Proxmox-Host)
- **CT ID:** automatisch vergeben oder nach Wunsch anpassen
- **Hostname:** `pihole`
- **Unprivilegierter Container:** aktivieren (empfohlen)
- **Passwort:** Root-Passwort vergeben und merken
- **SSH-Schlüssel:** optional (falls vorhanden)
👉 *Screenshot geeignet: Reiter „Allgemein“.*
3) **Vorlage**
- **Speicher:** z. B. `local-lvm`
- **Vorlage:** `Debian 12.7.1 Standard` auswählen
👉 *Screenshot geeignet: Reiter „Vorlage“.*
4) **Root-Disk**
- **Größe:** 68 GB reichen vollkommen
👉 *Screenshot geeignet: Reiter „Root-Disk“.*
5) **CPU**
- **Kerne:** 1
- Rest auf Standard belassen
👉 *Screenshot geeignet: Reiter „CPU“.*
6) **Arbeitsspeicher**
- **RAM:** 512 MB 1 GB
- **Swap:** 0256 MB (optional)
👉 *Screenshot geeignet: Reiter „Arbeitsspeicher“.*
7) **Netzwerk**
- **Bridge:** `vmbr0` (Standard)
- **IPv4:** `Statisch`
- **IPv4/CIDR:** feste Adresse eintragen, z. B. `192.168.1.5/24`
- **Gateway (IPv4):** Router-IP, z. B. `192.168.1.1`
- **IPv6:** `DHCP` (für spätere Nutzung, z. B. Proxy Manager)
👉 *Screenshot geeignet: Reiter „Netzwerk“ mit statischer IPv4 und IPv6 DHCP.*
> [!WARNING]
> **Wichtig:** Pi-hole benötigt unbedingt eine **feste IPv4-Adresse**.
> Ohne feste IP können Router und Clients den DNS-Traffic nicht korrekt weiterleiten.
> [!TIP]
> Reserviere die feste IPv4 auch in deinem Router (DHCP-Reservierung), damit sie nicht doppelt vergeben wird.
8) **DNS**
- **DNS-Server:** leer lassen
- **Suchdomäne:** leer lassen
👉 *Screenshot geeignet: Reiter „DNS“.*
> [!NOTE]
> Es wird kein DNS-Server eingetragen.
> Zunächst nutzt der Container die Host-Einstellungen von Proxmox.
> Später, nach der Installation, stellen wir den Container auf `127.0.0.1` um, damit er Pi-hole/Unbound selbst nutzt.
9) **Bestätigen**
- Übersicht prüfen
- Mit **Fertigstellen** abschließen
👉 *Screenshot geeignet: Reiter „Bestätigen“.*
### Prüfen
- Container erscheint links in der Server-Ansicht.
- Über **Start** → Container hochfahren.
- Über **Konsole** → Login mit `root` und vergebenem Passwort.
### Erster Zugriff
Direkt nach dem Anlegen ist der Container über die **Proxmox-Konsole** erreichbar.
Ein SSH-Dienst läuft bereits, aber Root darf sich nicht per SSH anmelden.
Darum legen wir uns zuerst in der Proxmox-Konsole einen eigenen Benutzer an.
1. Container in der Proxmox-Weboberfläche auswählen → oben **Konsole** anklicken.
👉 *Screenshot geeignet: geöffnete Konsole in Proxmox.*
2. In der Konsole einen neuen Benutzer erstellen:
```bash
adduser adminuser
```
- Passwort vergeben
- Alle weiteren Fragen (Name, Raum, etc.) mit Enter überspringen
3. Diesem Benutzer Admin-Rechte geben:
```bash
usermod -aG sudo adminuser
```
#### Verbindung vom Mac/PC aus
- **macOS / Linux (Terminal):**
```bash
ssh adminuser@192.168.1.5
```
👉 *Screenshot geeignet: Terminal mit erfolgreichem SSH-Login.*
- **Windows (WinSCP):**
- Neue Sitzung → Protokoll **SFTP**
- Hostname: `192.168.1.5`
- Benutzername: `adminuser`
- Passwort: das beim `adduser` vergebene
👉 *Screenshot geeignet: WinSCP-Loginfenster mit Benutzer „adminuser“.*
#### Optional: Root-SSH erlauben
Falls Root-Zugang per SSH benötigt wird:
1. Konfiguration öffnen:
```bash
nano /etc/ssh/sshd_config
```
2. Mit `Strg+W` nach `PermitRootLogin` suchen.
3. Wert auf `yes` setzen.
4. Speichern mit `Strg+O`, Enter → Beenden mit `Strg+X`.
5. SSH neu starten:
```bash
systemctl restart ssh
```
- **macOS / Linux (Terminal):**
```bash
ssh root@192.168.1.5
```
- **Windows (WinSCP):**
Mit Benutzer `root` verbinden.
> [!WARNING]
> Root-SSH ist unsicher, wenn dein Netzwerk nicht geschützt ist. Verwende diese Option nur, wenn es unbedingt notwendig ist.
### Installation Pi-hole
Bevor wir Pi-hole installieren, aktualisieren wir zuerst das System im Container.
```bash
apt update
apt upgrade -y
```
Danach laden wir das Installationsskript von Pi-hole und starten es:
```bash
curl -sSL https://install.pi-hole.net | bash
```
> [!TIP]
> Sollte `curl` nicht installiert sein, kannst du es mit `apt install curl -y` nachholen.
Das Installationsskript startet eine geführte Einrichtung im Terminal.
Hier werden wir Schritt für Schritt durch die Grundkonfiguration geführt (z. B. Netzwerkkarte, Upstream-DNS, Blocklisten).
👉 *Screenshot geeignet: Start des Pi-hole Installationsskripts im Terminal.*
#### Konfiguration während der Installation
Das Installationsskript führt dich durch mehrere Auswahlmenüs.
Alle Eingaben machst du mit den Pfeiltasten und bestätigst mit **Enter**.
1. **Netzwerkschnittstelle wählen**
- Wähle die Schnittstelle aus, die du bei der Container-Erstellung konfiguriert hast (meist `eth0`).
👉 *Screenshot geeignet: Auswahl der Netzwerkschnittstelle.*
2. **Statische IP bestätigen**
- Die feste IPv4-Adresse, die wir beim Anlegen des Containers vergeben haben, wird hier angezeigt.
- Bestätige diese Einstellung.
👉 *Screenshot geeignet: Anzeige der statischen IP.*
3. **Upstream DNS-Server**
- Für den Moment kannst du einen externen Resolver auswählen (z. B. Quad9 oder Cloudflare).
- Später ersetzen wir diesen durch unseren eigenen Unbound-Resolver.
👉 *Screenshot geeignet: Auswahl Upstream-DNS.*
4. **Blocklisten**
- Die Standard-Blockliste von Pi-hole reicht für den Anfang.
- Weitere Listen können später im Webinterface hinzugefügt werden.
5. **Protokollierung**
- Empfehlung: **Anonymisierte Logs** aktivieren, damit Statistiken vorhanden sind, aber keine kompletten Client-IPs gespeichert werden.
👉 *Screenshot geeignet: Auswahl der Logging-Einstellungen.*
Am Ende zeigt das Skript eine Übersicht und bestätigt die Installation.
> [!NOTE]
> Nach Abschluss der Installation erhältst du die **Admin-Weboberfläche** von Pi-hole und ein **Web-Admin-Passwort**.
> Dieses Passwort unbedingt notieren ohne kannst du dich später nicht anmelden.