Pi Hole unter Proxmox installieren

Moin!

Heute steht die Installation von Pi Hole in einem unprivilegierten LXC Container unter Proxmox an.
Pi hole ist ein Ad- / Telemetrieblocker der auf DNS Basis arbeitet. Der entscheidende Vorteil ist, dass das Pi Hole von allen Clients und Geräten im Netzwerk als DNS-Server genutzt werden und so als netzwerkweiter Ad- / Telemetrieblocker arbeiten kann. Kein nervendes Plugin mehr im Browser!

Damit dies funktionieren kann, wird das Pi Hole mit Domainlisten gefüttert. Sollte auf diesen Listen eine Domain geblockt sein, die für euch relevant ist, könnt ihr diese über das Whitelistfeature freischalten.
Des Weiteren sind noch viele andere Features enthalten, die allerdings hier den Rahmen der Erklärung sprengen würden.

Was ihr dazu benötigt:

Wir verbinden uns per SSH auf den LXC und stoßen ein Update an.

sudo apt update && sudo apt upgrade -y

Anschließend laden wir das Installationsskript von Github herunter und führen dies aus.

sudo wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh

Nun startet der GUI geführte Installer. Wir bestätigen die ersten Fenster, bis wir uns für einen DNS-Server entscheiden müssen. Ich wähle hier Cloudflare aufgrund des weltweit großen Netzwerks.

Im nächsten Fenster sollen wir Domainlisten auswählen, da nur eine zur Auswahl steht, können wir direkt in das nächste Fenster springen.

Ein Fenster weiter werden wir gefragt, ob die Blockierungen auf IPv4 und / oder IPv6 stattfinden soll. Je nach eurem Anschluss müsst ihr hier wählen. Ich entscheide mich für beide Optionen, auch wenn ich nur eine IPv4 von meinem Anbieter bekomme. Grund dafür ist, dass so bei einem Anbieterwechsel nicht das Pi Hole neu konfiguriert werden muss.

Jetzt werden wir gefragt, ob wir eine statische IP setzen wollen. Dies ist bedeutungsvoll! Nur mit einer statischen IP ist sichergestellt, dass das Pi Hole immer dieselbe IP verwendet.

Wir bestätigen die Warnung und fahren fort. Im nächsten Schritt steht die Frage im Raum, ob das Webinterface mit installiert werden soll. Selbstverständlich wählen wir „On“ aus.

Jetzt wird der Installer euch fragen, ob ihr den Standard Webserver mit den benötigten PHP Modulen installieren wollt. Wählt auch hier „On“.

Nach dem Bestätigen werdet ihr gefragt, ob alle Anfragen geloggt werden sollen. Auch hier wählt ihr wieder „On“.

Nun könnt ihr euch entscheiden, ob alle Daten während eine Anfrage geloggt werden sollen. Je nach Einstellung werden mehr oder weniger Daten geloggt. Ich wähle hier die Option „show everything“. Hintergrund dazu ist, dass das Pi Hole in meinem Privatnetzwerk läuft und nicht im Server- oder Gastnetzwerk.

Wenn diese Option gesetzt ist, läuft der Installer weiter durch. Am Ende wird euch ein Adminpasswort in der GUI angezeigt. Notiert es euch! Wir bestätigen und schließen damit die Installation ab. Wir können im Browser nun das Web UI aufrufen, mit der 192.168.XXX.XXX/admin. Dort angekommen, loggen wir uns mit dem vorher notierten Passwort ein und ändern dies.

Jetzt fügen wir der Adlist einige Domainlisten hinzu. Diese Domainlisten sind meist als .txt Datei im Netz verfügbar und werden nach dem Hinzufügen vom Pi Hole geprüft.

Diese Listen verwende ich und komme damit auf etwa 861k geblockte Domains. Ihr könnt sie hinzufügen, wenn ihr im Web UI „Group Management“ —> „Adlists“ aufruft.

https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0
https://raw.githubusercontent.com/GATmyIT/pihole-lists/master/notracking-hosts.txt
https://raw.githubusercontent.com/Marfjeh/coinhive-block/master/domains
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/KADhosts/hosts
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.Spam/hosts
https://raw.githubusercontent.com/matomo-org/referrer-spam-blacklist/master/spammers.txt
https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/UncheckyAds/hosts
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.2o7Net/hosts
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.Risk/hosts
https://raw.githubusercontent.com/Goooler/1024_hosts/master/hosts
https://v.firebog.net/hosts/Prigent-Malware.txt
https://v.firebog.net/hosts/Prigent-Phishing.txt
https://v.firebog.net/hosts/Shalla-mal.txt
https://v.firebog.net/hosts/Easyprivacy.txt
https://v.firebog.net/hosts/Prigent-Ads.txt
https://v.firebog.net/hosts/Easylist.txt
https://v.firebog.net/hosts/AdguardDNS.txt
https://v.firebog.net/hosts/static/w3kbl.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt
https://phishing.army/download/phishing_army_blocklist_extended.txt
https://zerodot1.gitlab.io/CoinBlockerLists/hosts
https://tgc.cloud/downloads/hosts.txt
https://reddestdream.github.io/Projects/MinimalHosts/etc/MinimalHostsBlocker/minimalhosts
https://adaway.org/hosts.txt

Nachdem ihr die URL’s hinzugefügt habt, muss das Pi Hole die darin enthaltenen Domains noch laden. Das kann über die Web UI erledigt werden oder über das Terminal. Ich persönlich verwende lieber das Terminal, da hier der Fortschritt geprüft werden kann.

sudo pihole -g

Nun fügen wir einige Standard Domains der Whitelist hinzu. Diese Domains sind eine generelle Empfehlung und machen euch das Leben deutlich einfacher. Es ist ärgerlich, wenn auf einmal Spotify nicht mehr läuft, weil die Domain geblockt wurde. Stichwort: Ads bei kostenlosen Accounts.

Dazu bedienen wir uns eines kleinen Skriptes von anudeepND auf Github. Dieses Skript greift auf eine Whitelist zu, welche aktiv gepflegt wird. Das Skript ermöglicht euch ein automatisiertes Update der Whitelist. Wir begeben uns ins Terminal. Dort installieren wir Python 3, laden das Skript herunter und führen es aus.

sudo apt install python3
cd /opt/
sudo git clone https://github.com/anudeepND/whitelist.git
sudo python3 whitelist/scripts/whitelist.py

Damit das ganze jetzt automatisiert geschehen kann, erstellen wir einen CRON. So wird jeden Sonntag um 23 Uhr das Skript ausgeführt und aktualisiert die Whitelist.

sudo nano /etc/crontab
0 23    * * 7   root    /opt/whitelist/scripts/whitelist.py

Jetzt können wir noch zusätzliche Domains hinzufügen. Dies sind Domains, die ich bei meinem Pi Hole noch hinzugefügt habe, um einwandfrei arbeiten zu können.

sudo pihole -w \
accounts.google.com \
bit.ly \
doodle.com \
ec-ns.sascdn.com \
login.aliexpress.com \
paypal.com \
pinterest.com \
s.shopify.com \
sharepoint.com \
sourceforge.net \
twitter.com \
v.shopify.com \
versus.com \
www.paypalobjects.com \

Wir müssen noch ein paar kleinere Einstellungen tätigen. Dazu rufen wir das Web UI auf und navigieren zu Settings —> DNS. Unter „Use DNSSEC“ einen Haken setzen, dann noch einen Haken bei „Use Conditional Forwarding“ setzen. Dort müsst ihr in den Feldern noch euer Netz angeben. In den meisten Fällen wird das „192.168.2.0/24“ oder „192.168.178.0/24“ sein. Anschließend noch die IP des DHCP Servers eintragen. Auch hier wird das wahrscheinlich „192.168.2.1“ oder 1″92.168.178.1″ sein.

Jetzt müssen wir eurem Router noch beibringen, dass er alle DNS Anfragen an einen anderen DNS-Server weiterleiten soll. Wie ihr das bewerkstelligen könnt, müsst ihr selber in Erfahrung bringen, da ich Ubiquiti verwende und dort die Konfiguration anders aussieht.

Grüße gehen aus dem Archiv!

Abonnieren
Benachrichtige mich bei
guest
6 Kommentare
Älteste
Neuste Meist Bewerteste
Inline Feedbacks
Zeige alle Kommentare
6
0
Bitte lasse uns an deinen Gedanken teilhaben und kommentier den Beitrag.x
Cookie Consent mit Real Cookie Banner