Pihole auf Ubuntu Server mittels Docker Compose aufsetzen. 

3 min Lesezeit

Originally posted 2017-12-05 20:51:57.

Endlich habe ich es geschafft, pihole auf meinem Rootserver mittels Docker Compose aufzusetzen. Mit dieser kleinen Anleitung gelingt euch dies auch.
Ein kleiner Hinweis am Rande, solltet ihr einer der glücklichen sein und habt einen Rootserver, empfehle ich euch Pihole nicht dort zu installieren denn sonst ist euer Server ein öffentlicher DNS Server und möglich das sich irgendwann euer Provider berschwert über den enormen Traffic.
Hab dies mal Testweise gemacht und die Zugriffszahlen sind einfach nur Krass.

Wie macht ihr das? Erstellt zuerst Ordner auf dem Server worin die Daten gespeichert werden. Für diese Anleitung nutze ich /var/pihole und /var/pihole/dnsmasq.d.

Danach erstellt ihr unter /tmp folgende Datei samt dem Inhalt. Mit docker Compose wird eine komplett lauffähige Version von Pihole installiert.

Docker-compose.yml:

version: '2'
services:
  pihole:
    container_name: pihole
    restart: always
    image: diginc/pi-hole:debian
    dns:
    - 127.0.0.1
    - 9.9.9.9
    environment:
    - ServerIP=server-ip
    - ServerIPv6=
    - TZ=Europe/Berlin
    - WEBPASSWORD=sicheresPasswort
    - DNS1=8.8.8.8
    - DNS2=8.8.4.4
    VIRTUAL_HOST=pihole.domain.tld
    volumes:
    - /var/pihole/:/etc/pihole/
    - /var/pihole/dnsmasq.d/:/etc/dnsmasq.d/
    ports:
    - "8888:80"
    - "53:53/tcp"
    - "53:53/udp"

Führt diese Datei anschließend mit

docker-compose up

Ab diesem Zeitpunkt ist pihole unter Domain.tld:8888 erreichbar. Damit aber nicht jeder in eure Statistik schauen kann muss diese durch eine zusätzliche Passwortabfrage eingerichtet werden.

Pihole absichern

Fügt dazu folgendes in eure vhost-Datei für Apache ein. Innerhalb des <VirtualHost>Angabe.

<Location />
  AuthType Basic
  AuthName "Pihole Panel"
  AuthUserFile /etc/apache2/htpasswd-pihole <username>
  Require valid-user
</Location>

 Erstellt nun einen User samt Passwort mit folgendem Kommando.

htpasswd -c /etc/apache2/htpasswd-pihole <username>

Danach sollte man nur noch nach Eingabe des Passwortes Zugriff auf das Pihole Panel haben.

 Blacklist einrichten

Nach dem ersten login schaut ob der DNS Dienst läuft. Wenn ja ist alles gut. Nun könnt ihr einige Blacklist unter Settings>> Black Lists eintragen. Hier ein paar Beispiele.

#verhindert das Microsoft zuviel mitloggt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt
#
https://raw.githubusercontent.com/quidsup/notrack/master/trackers.txt

#blockt alle XXX-Seiten im Netzwerk. 
https://github.com/chadmayfield/pihole-blocklists/raw/master/lists/pi_blocklist_porn_all.list
#blockt Pishing Seiten
https://v.firebog.net/hosts/Prigent-Phishing.txt
#blockt Malerei Seiten
https://v.firebog.net/hosts/Prigent-Malware.txt
#Maleware Seiten 
https://mirror.cedia.org.ec/malwaredomains/immortal_domains.txt
#
https://smokingwheels.github.io/Pi-hole/allhosts

Damit nun jeder in den Genuss des Werbefreien Internets kommt, müssen alle Anfragen nun über Pihole laufen. Entweder nutzt man dazu Apps wie DNS Changer für Android 

DNS Changer (no root 3G/WiFi)
DNS Changer (no root 3G/WiFi)
Entwickler: burakgon
Preis: Kostenlos

Pihole als DHCP Server

Oder man setzt Pihole als DHCP Server ein.
Dazu gilt es im Router den DHCP Server abzustellen und im Pihole anzustellen.

Bei der Fritzbox muss dazu unter Heimnetz >> Heimnetzübersicht >> IPv4 Adressen der DHCP Server abgestellt werden.
Notiz: Danach ist die Fritzbox nicht mehr unter http://fritz.box sondern unter der IP Adresse. z.B. 192.168.178.1 erreichbar!

Ist der DHCP Server abgeschaltet, kann dieser nun unter Pihole aktiviert werden. Dies geht über Settings >> DHCP.
Hier kann man auch festlegen werden wie die IP-Adressen vergeben werden an die einzelnen Geräte.

Zum Abschluss noch eine praktische Info:

Solltet ihr nun etwas editieren wollen an der Konfiguration könnt ihr mit dem folgenden Kommando ganz einfach die Dateien im Container bearbeiten.

sudo docker exec -it <container_name> /bin/bash

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.