Debian per Wireguard zur Fritzbox verbinden

Mit der Einführung von Android 11 hat Google veraltete VPN-Techniken entfernt. Seitdem konnten sich Android-Smartphones nicht mehr bei der Fritz!Box einwählen. Nun hat AVM endlich eingelenkt und seine Liebe für antiquierte Software aufgegeben. Seit Firmware-Version 7.39 hat die Fritz!Box Wireguard an Bord.

Die alte IPSec-Version wird weiter unterstützt, damit es nicht zu Problemen kommt, sollte aber nun endlich ersetzt werden. Entscheidender Vorteil bei Wireguard ist neben des höheren Datendurchsatzes die Tatsache, dass es für eine LAN-LAN-Kopplung ausreicht, auf einer Seite eine öffentliche IP zu haben. Wer also eine DSL-Fritz!Box und eine Mobilfunk-Fritz!Box so miteinander koppeln will, muss nun nicht mehr seinen Mobilfunk-Provider anbetteln oder bezahlen, um eine öffentliche IP zu bekommen. Es reicht, wenn der DSL-Anschluss über eine öffentliche IP verfügt. Außerdem unterstützt Wireguard IPv6, sodass auch Kabel-Router VPN unterstützten.

Die Verbindung zweier Fritz!Boxen oder die Einwahl von einem Endgerät mit GUI sind selbsterklärend. Schließich produziert die Fritz!Box eine Konfigurationsdatei zum Download, die auf dem Client lediglich importiert werden muss. Für die Wireguard-Handy-App gibt es sogar einen schicken QR-Code, der lediglich gescannt werden muss, um die Verbindung einzurichten.

Anders sieht es bei der Anbindung eines Headless-Systems wie z.B. einem Debian-Server ans heimische Netz aus.

Schritt 1: Zugang auf der Fritz!Box einrichten

Die Einstellungen finden sich in einem neuen Tab unter Internet -> Freigaben -> VPN (WireGuard). Dort kann über die Schaltfläche Verbindung hinzufügen eine neue VPN-Verbindung eingerichtet werden.

Übersicht über bestehende WireGuard VPN-Verbindungen

Die Einrichtung ist denkbar einfach. Für einen Client ohne LAN-LAN-Kopplung reicht der Button Vereinfachte Einrichtung. Anschließend muss man der Verbindung nur noch einen Namen geben und auf Fertig stellen klicken. Schon ist die Verbindung fertig. Da wir den QR-Code nicht scannen können, laden wir die Konfigurationsdatei herunter.

Bestätigungsdialog ermöglicht den Download der Konfigurationsdatei

Schritt 2: Wireguard installieren

Auf dem Server installieren wir zuerst WireGuard. Wer das Paket resolvconf nicht hat, muss es mit installieren, damit die Namensauflösung für Adressen im Heimnetz funktioniert.

# apt update
# apt install -y wireguard resolvconf

In die Datei /etc/wireguard/wg0.conf fügen wir die Konfiguration ein, die wir von der Fritz!Box erhalten haben, die sollte in etwa so aussehen:

[Interface]
PrivateKey = <Private Key>
Address = 10.10.10.201/32

[Peer]
PublicKey = <Public Key>
PresharedKey = <Public Key>
AllowedIPs = 10.10.10.0/23
Endpoint = <Hostname>
PersistentKeepalive = 25

Zu beachten ist, dass in der Sektion Peer unter AllowedIPs durch die Fritz!Box automatisch das Netzwerk 0.0.0.0/0 eingefügt wird. Behält man das bei, richtet der VPN-Client einen Default Gateway ein und leitet allen Verkehr durch die heimische Fritz!Box. Das kann sinnvoll sein, wenn man z.B. über unverschlüsselte Hotspots sicher kommunizieren will. Wer aber nur ein heimisches NAS erreichen möchte, der entfernt am besten diesen Eintrag, so wie in meinem Beispiel oben.

Bei der Konfiguration handelt es sich um sicherheitsempfindliche Daten, die nicht jeden etwas angehen:

# chmod 600 /etc/wireguard/wg0.conf

Schritt 3: Verbindung starten

Option: Die Verbindung soll vermutlich nach einem Neustart automatisch gestartet werden:

# systemctl enable [email protected]

Manuell wird sie mit diesem Kommando gestartet:

# systemctl start [email protected]

Nach erfolgter Einwahl gibt es ein neues Interface mit entsprechenden Routen:

# ifconfig wg0
wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet 10.10.10.201  netmask 255.255.255.255  destination 10.10.10.201
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 296 (296.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.254.0   U     0      0        0 wg0

Ähnliche Artikel

Comments

Leave a Comment