WireGuard VPN: Schutz in eigener Regie

Von | Januar 28, 2024
WireGuard VPN
WireGuard VPN

WireGuard VPN als beste Schutz realisiert mit Raspberry Pi eignet sich besonders zum Absicherung von Smartphone oder ähnlichen Mobilen Geräten. Hier nur ein Beispiel: Sie befinden sich in einem öffentlichen WLAN und wollen Sie eine sichere Verbindung zum Bank Server oder Firmen Netzwerk aufbauen, dann kommt am erste Stelle eine VPN Verbindung im Einsatz.

Wie funktioniert VPN Verbindung.?

VPN ist eine verschlüsselte Verbindung zwischen einem VPN Server und einem VPN Client. Virtual Private Network Server ist ein Server Zuhause z.B Raspberry Pi und VPN Client ist zum Beispiel Ihr Smartphone. VPN Verbindung ist dann so konfiguriert, dass der komplette Internetzugriff verschlüsselt über das Netzwerk (DSL) zu Hause läuft. So sorgen Sie in fremden WLANs für mehr Schutz und Sicherheit beim Datenübertragung, auch wenn die WLANs ohne Verschlüsselung angeboten werden.

VPN Server mit WireGuard

Hardware und Software für Wireguard VPN Projekt:

  • Raspberry Pi 2 | 3 oder 4 – Raspberry Pi, reicht auch wenn so eine RPI vorhanden ist und für andere Zwecke verwendet wird, Smart Home, Webserver, etc.
  • Optional – SD Karte, Netzteil für RPI und passendes Gehäuse.
  • Raspbian Buster Lite – Software (kostenlos) für Raspberry Pi
  • WireGuard – VPN Software (kostenlos)
  • Putty – SSH Client (Optional für Windows Benutzer).
  • Etcher – Software Image auf SD Karte schreiben.

Installation von WireGuard VPN:

Am Anfang möchte ich erwähnen, WireGuard VPN Projekt ist für jeder normalen PC Benutzer geeignet und bietet sehr guter Schutz an. Sie müssen kein Programmierer sein um Projekt zu realisieren.

  • Raspbian Buster Lite (siehe Link oben) herunterladen und entpacken.
  • Mit Hilfe von Etcher Image (Raspbian Buster Lite) auf SD Karte schreiben. Mit Editor (zum Beispiel Notepad++ oder ähnlich) eine leere Seite ssh.txt erzeugen und auf boot Sektor von SD Karte speichern.
  • SD Karte in Raspberry Pi einstecken, verbinden mit LAN Kabel und Router beziehungsweise Switch, Raspberry Pi mit Strom versorgen und ein paar Minuten abwarten.
  • Mit Router verbinden (zum Beispiel Fritzboxhttp://fritz.box – siehe Bild) und Raspberry Pi IP Adresse ermitteln, geht auch mit Angry IP Scanner.
Fritzbox Oberfläche
Raspberry Pi IP Adresse ermitteln
  • Raspberry Pi soll eine feste IP Adresse bekommen. (z.B. Fritzbox – Bild unten).
WireGuard VPN IP Adresse
WireGuard VPN braucht Feste IP Adresse
  • Portweiterleitung 51820 für WireGuard VPN müssen wir auch einrichten. (Bild unten, bezogen auf Fritzbox Router).
Fritzbox IP Adresse
WireGuard VPN – Port 51820
  • Putty (Windows Benutzer) oder Terminal (Linux Benutzer) starten, Raspberry IP Adresse eintragen, Port 22 auswählen, Benutzer: pi, Passwort: raspberry und verbinden mit Raspberry Pi.
  • Danach mit „sudo raspi-config“ Raspberry Pi Konfiguration öffnen.
Raspberry Pi Einstellungen
Raspbian Konfiguration
  • Change user Password – Password ändern .
  • Network Options – WLAN Konfiguration (nur geeignet für RPI3 und RPI4, oder Sie verwenden externes USB WLAN Stick).
  • Localisation Options – Sprache auf Deutsch (de_DE UTF-8) beziehungsweise Time Zone auf (Berlin) ändern.
  • Advanced Options – Ganze Speicher von SD Karte für Raspberry Pi freigeben.
  • Update – Update von System.
  • Danach neustarten und mit Putty (Terminal) neu verbinden mit Raspberry Pi.

WireGuard VPN Software installieren:

  • Zuerst mit „sudo su“ root Rechte übernehmen und dann weiter mit Code unten:
$ apt-get update
$ apt-get upgrade 
$ apt-get install raspberrypi-kernel-headers
$ echo "deb http://deb.debian.org/debian/ unstable main" | tee --append /etc/apt/sources.list.d/unstable.list
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
$ printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' | tee --append /etc/apt/preferences.d/limit-unstable
$ apt-get update
$ apt-get install wireguard 
$ reboot

WireGuard ist installiert, Raspberry Pi startet neu, wieder mit Putty beziehungsweise Terminal mit RPI verbinden und IPv4 forwarding (Portweiterleitung) einschalten.

Das Buch PC Netzwerke ist derzeit für [eapi keyword=3836264439 typ=price] erhältlich.

$ sudo nano /etc/sysctl.conf
WireGuard VPN forwarding
WireGuard VPN Portweiterleitung einschalten

Zeile (siehe Bild oben) auskommentieren und danach mit Strg + X speichern, Raspberry Pi mit „sudo reboot“ neu starten. Dann müssen wir noch Server und Client keys generieren, mit „cd /etc/wireguard“ wechseln wir in WireGuard Konfiguration-Verzeichnis.

$ sudo su
$ unmask 077 ### Berechtigung für alle Dateien. ###
#### Server key generieren ####
$ $ wg genkey | tee server-private.key | wg pubkey > server-public.key
#### Client key generieren (für jeder Client einzeln) ####
$ wg genkey | tee client1-private.key | wg pubkey > client1-public.key
$ wg genkey | tee client2-private.key | wg pubkey > client2-public.key
$ ls -la ### Prüfen wir Server und Client keys Erstellung.
Wireguard Schutz mit Schlüssel
wg0.conf Datei

Server Key Generierungsprozess erstellt die Datei wg0.conf (siehe Bild oben), die ist neue Wireguard VPN Schutz Schnittstelle. Da müssen Sie noch der Name von Netzwerkschnittstelle anpassen (siehe Bild unten). Bei mir ist es eth0, Raspberry Pi ist mit LAN Kabel verbunden. Wenn Sie WLAN Verbindung für Raspberry Pi benutzen, dann mit „ip addr“ finden Sie Name von WLAN Schnittstelle heraus, Datei wg0.conf mit Befehl „nano /etc/wireguard/wg0.conf“ bearbeiten.

Wireguard Konfiguration
Schnittstelle eintragen

WireGuard Client Konfiguration bearbeiten:

$ nano /etc/wireguard/client1.conf
Wireguard VPN - Client Schutz
WireGuard VPN – Client Konfiguration
  • Address – Hier können Sie so belassen wie oben, dann für weiteren Client (client2.conf) einfach letzte Ziffer um 1 erhöhen.
  • DNS – Ihr Router ist vermutlich auch DNS Server, man kann auch Google öffentliche DNS Server mit IP 8.8.8.8 verwenden.
  • EndpointDynDNS, wenn Sie keine statische IP Adresse besitzen, zuerst müssen wir ein einrichten.
  • AllowedIPs – Beziehen wir ganze Heimnetzwerk ein (192.168. …. /24).

Dynamisches DNS einrichten:

Sind sehr viele Anbieter auf dem Markt, hier finden Sie eine Liste mit DynDNS Anbieter. Anbieter auswählen und Dienst einrichten, danach Router (Fritzbox unter Internet | Freigaben | DynDNS) mit Daten (DynDNS Server || DynDNS Adresse || Passwort) futtern um Aktualisierung von DynDNS im Gang zu setzen.

Das Buch Fritzbox Ratgeber ist derzeit für [eapi keyword=3842106750 typ=price] erhältlich.

Besitzer von Fritzbox Router brauchen solche Dienst nicht weil DynDNS wird von Hersteller AVM unter myfritz.net angeboten. Wie Sie Dienst kostenlos in Anspruch nehmen und einrichten können Sie hier nachlesen. Ihre MyFritz DynDNS Adresse lautet dann: xxxxxxxx.myfritz.net – vergessen Sie nicht die noch in jede client.conf unter Endpoints eintragen.

WireGuard als Systemdienst einrichten.

$ systemctl enable wg-quick@wg0

Die Einstellungen für Apps (Android || IOS) können mittels QR-Code schnell erfolgen. Auf dem RPI Server wird ein QR-Code für den Client erstellt und dafür brauchen wir noch Software für QR Code Erstellung.

$ apt install -y qrencode
#### QR Code für ClientX erstellen ####
$ qrencode -t ansiutf8 < clientX.conf #### X= 1,2,3 ...

So haben wir bis zum Ende geschafft, wer will sich noch mehr intensiv mit dem Thema beschäftigen kann hier noch weitere Informationen bekommen.

(Visited 1.037 times, 1 visits today)

Schreiben Sie einen Kommentar

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