Einen Überblick über das Administrationstool KeyHelp der Keyweb AG und dessen Download gibt es auf https://www.keyhelp.de

Dieses Forum soll es interessierten Benutzern ermöglichen, sich über KeyHelp auszutauschen und Hilfe bei Problemen zu finden.

Demo-Projekt: Keyhelp, Wireguard VPN und pi.hole Blocker

Bastelecke für Scripte
Antworten
Benutzeravatar
stfn116
Beiträge: 219
Registriert: Mi 9. Jan 2019, 11:43
Wohnort: Bavaria

Demo-Projekt: Keyhelp, Wireguard VPN und pi.hole Blocker

Beitrag von stfn116 » Do 21. Nov 2019, 23:08

Ich hoffe das hier ist der richtige Bereich für dieses Projekt:

Damit ich meine Live-Server nicht belaste habe ich mir vor einigen Monaten ein Demo-System aufgesetzt:
DIeses wurde sukzessive erweitert: Aktueller Stand ist wie oben geschrieben: ein Debian Buster (10.2) Setup, mit aktueller Keyhelp-Instanz, sowie Wireguard und eben dem Pi-hole.

Wireguard
- ist eine sehr schlanke und moderne VPN Lösung
- einen Bruchteil an Code von anderen Anbietern (OpenVPN)
- aktuelle, kryptografische Verschlüsselungstechniken also sehr schnell
für weitere Informationen die offizielle Webseite besuchen
Pi-Hole
- ist ein ressourcensparendes Tool um DNS-Anfragen vorzufiltern (damit ist es möglich, Webseiteninhalte wie Tracking- und Werbung zu blockieren).
- ursprünglich für den Raspberry Pi entwickelt, läuft aber auf vielen modernen Systemen reibungslos
- sehr aktive Community, stetige Updates natürlich wie Wireguard Open Source
für weitere Informationen die offizielle Webseite besuchen
Zu Keyhelp und dem OS brauche ich wohl nicht viel sagen, sonst wärt ihr im falschen Forum :) ;)

Meine Server haben alle eine IPv6 Adresse und deswegen setze ich zu Beginn des Setups den Befehl um es zu aktivieren. Des Weiteren stelle ich die Locale auf Deutsch UTF8 ein. Wie oben geschrieben optional.

Code: Alles auswählen

enable_ipv6
dpkg-reconfigure locales
Jetzt wird das IPv4/IPv6 Forwarding aktiviert, damit die Anfragen auch durchgeleitet werden. Damit die Einstellungen gültig werden, wird ein reboot durchgeführt.

Code: Alles auswählen

echo "net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf
reboot
Im Anschluss erfolgt zuerst die Installation von Keyhelp auf dem cleanen Debian System, nachdem diese durchgelaufen ist, kann Wireguard im zweiten Schritt installiert werden. Wenn später Android oder IOS-Devices mit Wireguard genutzt werden, ist das Kommandozeilenprogramm qrencode dafür perfekt. Weitere Informationen zu qrencode

Code: Alles auswählen

wget https://install.keyhelp.de/get_keyhelp.php -O installkeyhelp.sh ; bash installkeyhelp.sh ;

echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard qrencode -y
Jetzt in das Verzeichnis von Wireguard wechseln um die Konfiguration zu erstellen. Alternativ dazu kann auch die wireguard.zip-Vorlage entpackt und verwendet werden.

Im Terminal kann mit dem Befehl wg bzw. wg-quick alles eingestellt werden. Hier wird nachstehend einmal der private und öffentliche Schlüssel des Servers und des Clients durch wg genkey erstellt. Diese Schlüssel werden wechselseitig in die wg0.conf und wg0-client.conf abgespeichert. Zum Abschluss die Berechtigungen auf 0600 setzen. Weitere Informationen auf der Webseite von Wireguard.

Code: Alles auswählen

cd /etc/wireguard/
umask 077
wg genkey | tee server_private_key | wg pubkey > server_public_key
wg genkey | tee client_private_key | wg pubkey > client_public_key
cat server_private_key && cat client_public_key 
##txt kopieren und in wg0.conf einfügen
cat client_private_key && cat server_public_key  
##txt kopieren und in wg0-client.conf einfügen
vi wg0-client.conf 
chmod 600 *
Sind die vorstehenden Einstellungen abgeschlossen, kann die Konfiguration geladen werden. Dazu den Befehl wg-quick up wg0 und wenn alles korrekt ist, wird das Interface gestartet. Für ein Android oder IOS kann ein QR-Code mit qrencode -t ansiutf8 < wg-*dateiname.conf. Diesen einfach mit der vorher installierten App einscannen.
Durch ifconfig und sysctl -p prüfe ich nochmals ob alles korrekt im System gespeichert wurde.
Abschließend kann ich die Verbindung als Systemdienst speichern.

Code: Alles auswählen

wg-quick up wg0
qrencode -t ansiutf8 < wg0-client.conf 
ifconfig
sysctl -p
systemctl enable wg-quick@wg0.service
Zum Abschluss noch Pi-Hole installieren, dort habe ich die automatische Installation gewählt, es besteht aber auch die manuelle Option (siehe Link Github)

Nun erfolgt ein Verbindungstest mit meinem Client und auf dem Server wird diese Verbindung angezeigt. latest handshake % secounds ago

Code: Alles auswählen

curl -sSL https://install.pi-hole.net | bash
reboot
wg
Abschließend muss die /etc/lighttpd/lighttpd.conf noch angepasst werden, damit unter https://YOUR-HOSTNAME.de:8443/admin der lighthttpd-Service bzw. Pi-Hole erreichbar ist. Standardmäßig läuft dieser im lokalen Netzwerk auf Port 80, diese wird nun auf SSL umgesellt. Die Konfiguration nutzt dabei das bereits über Keyhelp erstellte Zertifikat.

Offen: service pihole-FTL status --- hängt noch, weil dnsmasq bzw. bind nicht zusammen laufen. Port 53 können sie sich noch nicht teilen. ;)
Aktueller Workaround ist den Keyhelp-Dienst zu beenden.
Dateianhänge
lighttpd.zip
(1.65 KiB) 20-mal heruntergeladen
wireguard.zip
(811 Bytes) 20-mal heruntergeladen
Zuletzt geändert von stfn116 am Sa 23. Nov 2019, 10:45, insgesamt 1-mal geändert.
:D Wer meint, Kompetenz sei teuer, möge es einmal mit Inkompetenz versuchen. Zitat: Bernd W. Klöckner. :lol:
Benutzeravatar
OlliTheDarkness
Beiträge: 510
Registriert: Di 14. Aug 2018, 16:41

Re: Demo-Projekt: Keyhelp, Wireguard VPN und pi.hole Blocker

Beitrag von OlliTheDarkness » Fr 22. Nov 2019, 03:18

Guten Morgen 8-)
Grundsätzlich sei erstmal Danke für den Beitrag =)

ABER ( :lol: ): Würde ich , ist meine persönliche Meinung, erstmal erklären worum es geht, was es kann, warum es das kann und warum man es brauchen sollte / könnte :)

Also eine grundsätzliche Einleitung.

Danach könntest du anfangen Schritt für Schritt zu erklären.

Wenn du das vieleicht noch ausarbeitest denke ich , ist es in der Bastelecke gut aufgehoben.

Gruß: Das Olli wars :)
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast