WireGuard: ein schlankes VPN
Kurz: WireGuard ist ein modernes, sehr schlankes VPN. Es verbindet Geräte über einen verschlüsselten Tunnel, ist im Linux-Kernel enthalten und lässt sich mit wenigen Zeilen einrichten.
Prinzip
Jedes Gerät hat ein Schlüsselpaar (privat und öffentlich). Man tauscht nur die öffentlichen Schlüssel aus und legt fest, welche IP-Adressen durch den Tunnel gehören. Es gibt keine Benutzernamen oder Zertifikatsketten.
Schlüssel erzeugen
wg genkey | tee privat.key | wg pubkey > oeffentlich.keyServer /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <privater Schlüssel des Servers>
[Peer]
PublicKey = <öffentlicher Schlüssel des Handys>
AllowedIPs = 10.8.0.2/32Client
[Interface]
Address = 10.8.0.2/32
PrivateKey = <privater Schlüssel des Handys>
[Peer]
PublicKey = <öffentlicher Schlüssel des Servers>
Endpoint = server.beispiel.de:51820
AllowedIPs = 0.0.0.0/0 # gesamter Verkehr durch den Tunnel (oder nur 10.8.0.0/24)
PersistentKeepalive = 25Starten: sudo wg-quick up wg0, Status: sudo wg.
Hinweise
- Der Server braucht eine erreichbare UDP-Adresse (Port 51820 in der Firewall unter Linux: nftables, ufw und firewalld freigeben) und für Internetzugang über den Tunnel Weiterleitung (
net.ipv4.ip_forward=1) und NAT. - Private Schlüssel nie weitergeben. Grundlagen zu Adressen: Subnetz.
Siehe auch: Netzwerk unter Linux: ip, NetworkManager und DNS