Als erstes installieren wir die Kernel-Headers
sudo apt update
sudo apt full-upgrade
sudo apt install raspberrypi-kernel-headers
In raspbian "buster" sind die wireguard
Pakete schon direkt verfügbar und können direkt installiert werden:
sudo apt install wireguard
Zum aktivieren des IPv4 Forwarding erstellen wir die Datei /etc/sysctl.d/97-custom.conf
mit folgendem Inhalt:
## Turn on bbr ##
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
## for IPv4 ##
net.ipv4.ip_forward = 1
## Turn on basic protection/security ##
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
## for IPv6 ##
#net.ipv6.conf.all.forwarding = 1
und aktivieren die Einstellungen sofort mit
sudo sysctl -p /etc/sysctl.d/97-custom.conf
Jetzt können wir die Schlüssel erstellen. Da das Verzeichnis /etc/wireguard
nur für den root
-User zugänglich ist wechseln wird den Benutzer:
sudo su
cd /etc/wireguard
umask 077; wg genkey | tee privatekey | wg pubkey > publickey
mit wg genpsk > presharedkey
kann auch ein Pre-Shared-Key für die VPN Konfiguration erstellt werden.
für die PostUp
und PostDown
Konfigurationen erstellen wir noch ein Verzeichnis helpers
mkdir /etc/wireguard/helpers
und erstellen die Datei wg0.conf
mit folgendem Inhalt
[Interface]
PrivateKey = <geheimer PrivateKey>
Address = 10.100.200.5/24 # IP-Adresse in unserem VPN-subnet
# ListenPort = 27836 # optional, wird sonst zufällig vergeben
#DNS = 1.1.1.1 # optional, wenn ein spezieller DNS Server verwendet werden soll
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <Publick Key des Peer mit dem wir uns verbinden wollen>
AllowedIPs = 0.0.0.0/0 # Der komplette Traffic wird durch den Tunnel geschickt
Endpoint = 78.47.140.145:31194
PersistentKeepalive = 15
Nun wird die Verbindung eingerichtet:
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo systemctl status wg-quick@wg0
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
sudo apt install qrencode
Jetzt kann die Konfiguration angezeigt werden
qrencode -t ansiutf8 < mobile.conf