WireGuard ermöglicht den Zugang zu privaten Diensten, ohne deren Weboberflächen öffentlich freizugeben. Der VPN-Endpunkt muss erreichbar sein; DDNS beseitigt kein CGNAT.
Konfiguration
Verwenden Sie unterschiedliche Netze für Heimnetz und VPN sowie ein eigenes Schlüsselpaar für jedes Gerät. AllowedIPs legt fest, welche Ziele durch den Tunnel gehen. Für einen vollständigen Tunnel sind zusätzlich Routing und gegebenenfalls NAT nötig.
Ein Server auf dem Router benötigt eine Eingangsregel für seinen UDP-Port. Ein Server dahinter benötigt eine Portweiterleitung. UDP 51820 ist ein Beispiel, kein verbindlicher Wert.
Prüfen
Testen Sie den Handshake und den tatsächlichen Zugriff über Mobilfunk. Ein TCP-Portchecker prüft WireGuard nicht. Nach einem IP-Wechsel muss der Client den DDNS-Endpunkt gegebenenfalls erneut auflösen. Auch private .app-Webseiten benötigen ein gültiges HTTPS-Zertifikat.
Konfigurationsbeispiele
Passen Sie Platzhalter, Schnittstellen und Ports an. Beispiele können unterschiedliche Versionen zeigen; führen Sie unvereinbare Alternativen nicht gemeinsam aus. Veröffentlichen Sie niemals echte Tokens oder private Schlüssel.
sudo -i # the rest of this guide runs as root
apt update
apt install wireguard iptables qrencode
# keys for the server and for your first device (a phone)
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee phone.key | wg pubkey > phone.pub
cat server.pub phone.pub[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
# let VPN clients reach the LAN, and hide them behind this machine's LAN address
PostUp = sysctl -w net.ipv4.ip_forward=1; iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
[Peer]
# phone
PublicKey = <contents of phone.pub>
AllowedIPs = 10.8.0.2/32chmod 600 /etc/wireguard/wg0.conf
systemctl enable --now wg-quick@wg0
wg show[Interface]
Address = 10.8.0.2/32
PrivateKey = <contents of phone.key>
# optional: use your Pi-hole or router for DNS while connected
DNS = 192.168.1.2
[Peer]
PublicKey = <contents of server.pub>
Endpoint = home.yourname.uk.app:51820
# only home traffic goes through the tunnel ("split tunnel")
AllowedIPs = 10.8.0.0/24, 192.168.1.0/24
PersistentKeepalive = 25qrencode -t ansiutf8 < /etc/wireguard/phone.conf
shred -u /etc/wireguard/phone.key /etc/wireguard/phone.conf # once scannedAbschließende Prüfung
Testen Sie über Mobilfunk außerhalb Ihres WLANs. Prüfen Sie DNS, den vorgesehenen Port, ein gültiges HTTPS-Zertifikat und die Anmeldung getrennt. Halten Sie Verwaltungsoberflächen privat, installieren Sie Updates und testen Sie die Wiederherstellung eines Backups. Kontrollieren Sie IPv6- und IPv4-Firewallregeln. Ein erfolgreicher Porttest ist kein Sicherheitsaudit.
Diese lokalisierte Ausgabe fasst die ursprüngliche Anleitung zusammen. Befehle behalten ihre Originalsyntax. Prüfen Sie für Ihre Version die verlinkte Herstellerdokumentation.