Mein Anwendungsfall für Wireguard


Zweck: ein mobiles Gerät als vollständiges "Mitglied" des LANs (Heimnetz)

Besonderheiten: es sollen GUA und ULA ohne NAT verwendet werden

Einschränkungen: GUA verträgt sich nicht mit wechselndem Präfix an Privatanschlüssen

Vorspiel: Erzeugen der Schlüssel

umask 077

wg genkey > privatekey1

wg pubkey < privatekey1 > publickey1

wg genkey > privatekey2

wg pubkey < privatekey2 > publickey2

wg genpsk > presharedkey


Hauptakt: Erzeugen der Konfigiurationsdateien:

wg-server.conf

[Interface]
Address = 2001:a61:4b7:6301::2:1/112,fddd:ec8c:894b:0::2:1/112
ListenPort = 51820
PrivateKey =  2MYyw1AcGo16vp7qF1S9CCYx+aDdEcaUuhA2eSc6tno=
PostUP = sysctl -w net.ipv6.conf.eth0.proxy_ndp=1
PostUP = sysctl -w net.ipv6.conf.eth0.accept_ra=2
PostUP = sysctl -w net.ipv6.conf.all.forwarding=1
PostUP = ip neigh add proxy 2001:a61:4b7:6301::2:2 dev eth0
PostUP = ip neigh add proxy fddd:ec8c:894b:0::2:2 dev eth0
[Peer]
PublicKey =  7VhG/0p5Or6MelHvsoBW7U9sylnbgFHovOq/VlUKjTs=
PresharedKey =  BSs2nk5TQwXZc69LntzQ+YAwdQRU9fIiwyfIzXiphYo=
AllowedIPs = 2001:a61:4b7:6301::2:2/128,fddd:ec8c:894b:0::2:2/128


wg-client.conf

[Interface]
Address = 2001:a61:4b7:6301::2:2/112,fddd:ec8c:894b:0::2:2/112
ListenPort = 54654
PrivateKey =  YG4KKCxeZFo6lij0bFVuYr+VXaEUwOAPnxVfsDzf8Fo=
DNS = fddd:ec8c:894b:0:dea6:32ff:fe3a:696b
[Peer]
PublicKey = 5NsFE2GKynq2Tv5oNURzHfV4ffaGbfd25vl+4pDDBSA=
PresharedKey = BSs2nk5TQwXZc69LntzQ+YAwdQRU9fIiwyfIzXiphYo=
AllowedIPs = ::/0
Endpoint = raspi.xxxx.dynv6.net:51820
PersistentKeepalive = 25


Nachspiel: Aktivieren/Deaktivieren des WG-Servers, Übertragung der Clientkonfiguration

wg-server.conf wird nach /etc/wireguard kopiert um

wg-quick up  wg-server
wg-quick down wg-server


bzw.

systemctl start wg-quick@wg-server
systemctl status wg-quick@wg-server
systemctl stop wg-quick@wg-server


verwenden zu können

wg-client.conf kann zur einfachen Übertragung zur wg-App auf dem Handy in einen QR-Code umgewandelt werden

qrencode -t png -o wg-client.png -r wg-client.conf


Noch einmal zu den Einschränkungen


Die rot markierten Teile von  wg-server.conf lassen sich relativ leicht durch entsprechend variabel gestaltete Skripte nach einen Präfixwechsel aktualisieren.
Bei der Clientkonfiguration ist man auf einen zweiten Kanal angewiesen, um das aktuelle GUA-Präfix zu erfahren.