Wireguard Server mit Debian Linux einrichten
Es gibt massenweise Anleitungen für die Einrichtung von Wireguard mit zig Spezialoptionen, aber ich habe keine gefunden, die es ohne Umwege auf den Punkt bringt – deshalb hier die Einrichtung, wie sie in meinem Setup mit Debian als Server funktioniert (Anleitungen für andere Linux Distributionen findet man direkt bei wireguard.com):
Als IP Adressbereich nimmt man irgendeinen aus dem privaten Netzbereich wie 192.168.0.0/24 oder 10.0.0.0/24 aber nicht aus dem Bereich des lokalen Routers.
Am besten man erzeugt mit nano touch eine Konfigurationsdatei – in diesem Fall wg0.conf im Verzeichnis /etc/wireguard
wireguard installieren.
# apt install wireguard
# ip link add dev wg0 type wireguard
# ip address add dev wg0 10.0.0.1/24
# wg setconf wg0 myconfig.conf
# ip link set up dev wg0
WireGuard benötigt base64-kodierte öffentliche und private Schlüssel. Diese können mit dem Dienstprogramm wg(8) erzeugt werden:
$ umask 077 $ wg genkey > privatekey
Dies erzeugt privatekey auf stdout, das einen neuen privaten Schlüssel enthält.
Sie können dann Ihren öffentlichen Schlüssel von Ihrem privaten Schlüssel ableiten:
$ wg pubkey < privatekey > publickey
Damit wird der private Schlüssel von stdin gelesen und der entsprechende öffentliche Schlüssel in publickey auf stdout geschrieben.
Natürlich können Sie dies auch alles auf einmal tun:
$ wg genkey | tee privatekey | wg pubkey > publickey
Jetzt muss noch eine Route eingetragen und eine Weiterleitung des IP Verkehrs eingeschaltet werden:
IP forwarding wird in der Datei nano /etc/sysctl.conf durch auskommentieren der folgenden Zeilen eingeschaltet
File: /etc/sysctl.conf
... ## Configure IPv4 forwarding net.ipv4.ip_forward = 1 ## Configure IPv6 forwarding net.ipv6.conf.all.forwarding = 1 ...
Aktivierung mit:
sysctl -p
Die einfachste Methode besteht darin, die Standardroute zu ersetzen, aber eine explizite Regel für den WireGuard-Endpunkt hinzuzufügen:
# ip route del default # ip route add default dev wg0 # ip route add 192.168.1.0/24 via 192.168.1.x dev eth0
Somit wird der Verkehr von allen erzeugten Wireguard Clients über die Netzwerkschnittstelle ins lokale Netz geleitet.