Skip to content

Wireguard - Tunnel zur Fritz!Box 6591 Cable Part 1

Angeheftet Wireguard
  • Ich habe ja schon darüber geschrieben, das es in der Laborversion 7.39 jetzt endlich möglich ist Wireguard-Tunnel einzurichten. Da ich Wireguard ♥ und es schon seit vielen Jahren nutze, musste das natürlich ausgibig ausprobiert werden.

    Was mache ich mit meinem Wireguard-Server?

    Ich nutze diesen Wireguard-Server hauptsächlich als Adblocker. In Kombination mit einem Unbound DNS-Server und dem passenden Script, ist dann auf dem Smartphone Schluss mit Werbung. Außerdem ist es zwingend notwendig, wenn man unterwegs ist und sich in einem fremden WLan einwählen möchte, einen VPN-Tunnel zu nutzen. Ich nehme damit unfreundlichen Menschen, die Möglichkeit mitzulesen.

    Gut, wir fangen mal an... Was brauchen wir?

    Hardware

    • Fritz!Box 6591 Cable (steht hier halt rum, es gibt aber auch viele andere Boxen von AVM, die mittlerweile Wireguard können)
    • Smartphone
    • irgendein Linuxserver, wo wir später einen Unbound Dienst laufen lassen können.

    Software

    • Fritz!Box Labor Version 7.39 (Tja, mit Boxen von Eurem ISP seit ihr jetzt hier am Ende und müsst warten, bis Euch der ISP mal die Version irgendwann installiert. Der Grund warum ich immer eigene Boxen einsetze.)
    • Wireguard für Android v1.0.202111029 (App auf dem Smartphone)
    • DynDNS-Dienst

    Fangen wir dann mal mit der Fritz!Box an

    Fritz!Box

    DynDNS-Dienst

    Ein Problem bei einem VPN-Tunnel von außerhalb ins Heimnetz, sind wechselnde IP-Adressen. Wenn man sich neuconnectet bekommt man ja neue IP-Adressen, somit hat der VPN-Tunnel dann evt. eine veraltete IP-Adresse. Wie löst man das? Der DynDNS-Dienst wird jetzt dazwischen geschaltet. Kurzer Überblick

    • Fritz!Box sendet dem DynDNS-Dienst seine IP-Adressen
    • Smartphone fragt beim DynDNS-Dienst nach der IP-Adresse, dazu wird noch eine Domain erzeugt
    • Verbindung zum Heimnetz wird erzeugt

    Ein weiteres Problem ist das hier

    7bbd01ca-399d-43bc-a048-54a0d830a4a6-grafik.png

    Ich habe bei meinem Provider nur einen DS-Lite-Tunnel, das heißt ich habe als Teilnehmer keine eigene IPv4-Adresse. Das war früher ein echtes Problem, ist aber seit IPv6 kein Problem mehr. Denn mit IPv6 hat man eine eigene IPv6-Adresse bzw. ein ganz eigenes IPv6 Netz 🙂

    Man kann in der Fritz!Box den DynDNS-Dienst hier konfigurieren

    Bildschirmfoto vom 2022-04-02 14-01-19.png

    Anleitung von AVM

    Um die Daten zu bekommen, macht man auf der Webseite von dynv6.com einen Account auf. Das geht problemlos, eine Aktivierungsmail und der Dienst funktioniert. Auf der Seite bekommt man sogar eine Anleitung zur Fritz!Box

    Bildschirmfoto vom 2022-04-02 14-05-16.png

    Ich nutze zur Aktualisierung der Fritz!Box nur diesen Aufruf

    http://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv6=<ip6addr>&ipv6prefix=<ip6lanprefix>
    

    Ich denke das sollte dazu alles gewesen sein.

    VPN

    cbcdb439-d7d9-4168-bc02-102c94ce7f9b-grafik.png

    Wir beschäftigen uns hier mit folgender Option

    Eine WireGuard®-Verbindung für ein Smartphone einrichten

    Danach wird man nach einem Namen gefragt, könnt ihr Euch aussuchen.

    ac2697b1-1ba7-474f-a2d0-c457789a5c4f-grafik.png

    Auf QR-Code anzeigen klicken.

    ba68fa90-72d7-4b89-b526-c475b3396d9a-grafik.png

    Konfigurationswunsch bestätigen.

    7e795b1b-64e8-4508-80b7-82f9d08ab70f-grafik.png

    Danach wird Euch der QR-Code angezeigt.

    Bildschirmfoto vom 2022-04-02 14-16-06.png

    Diesen kann man dann später mit der App scannen und fertig ist die Verbindung.

    Wenn man das Fenster mit dem QR-Code, nach dem Scannen, schließt kommt dieses Fenster

    1ac703ab-52d2-4ad3-9542-49256ec5b43e-grafik.png

    Jetzt fehlt halt nur noch die Verbindung des Smartphones zur Fritz!Box.

    Part 2 -> https://linux-nerds.org/topic/1165/wireguard-tunnel-zur-fritz-box-6591-cable-part-2
    Part 3 -> https://linux-nerds.org/topic/1166/wireguard-tunnel-zur-fritz-box-6591-cable-part-3
    Part 4 -> https://linux-nerds.org/topic/1167/wireguard-tunnel-zur-fritz-box-6591-cable-part-4-adblocker

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat dieses Thema am angepinnt
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • Heute kam eine neu BETA-Version

    bde29ab0-5603-4abb-a114-dd6286a28b4d-grafik.png

    Die Verbesserungen findet man hier aufgelistet. https://avm.de/fritz-labor/frisch-aus-der-entwicklung/neues-und-verbesserungen/#c218673

  • Es gab wieder ein neues Update!

    Bildschirmfoto vom 2022-05-10 20-36-50.png

    Wollen wir mal sehen, ob sich im Wireguard Bereich etwas getan hat.

    Es gibt jetzt einen eigenen Reiter, wenn ich mich korrekt erinnere.

    Bildschirmfoto vom 2022-05-10 20-35-04.png

    Hier kann man jetzt die Wireguard Einstellungen sich anzeigen lassen, ein Feature was ich mir in der Feedback EMail gewünscht hatte.
    Bildschirmfoto vom 2022-05-10 20-35-47.png

    Das sieht dann so aus.
    Bildschirmfoto vom 2022-05-10 20-36-06.png

    Bildschirmfoto vom 2022-05-10 20-36-28.png

    Ich denke, jetzt hat man ausreichend Informationen, um bei Problemfällen sich mit den Einstellungen zu beschäftigen. Danke AVM, das ihr so auf das Feedback der Kunden reagiert. 👏

  • FritzBox Labor Version 7.39

    Linux
    7
    0 Stimmen
    7 Beiträge
    202 Aufrufe
    FrankMF

    Da das o.g. sehr gut funktioniert, habe ich den Wireguard Server, den ich in der Hetzner Cloud dafür betrieben habe, heute abgeschaltet.

    Das erspart mir 4,98€ ( 4,15€ + 20% für Backups), macht 59,76€ / Jahr. In Zeiten mir hoher Inflation nicht so unwichtig. Der Proxmox bei mir zu Hause, auf dem der Dienst jetzt läuft, ist hier sowieso an der macht ja noch so einiges anderes...

  • Quartz64 - Wireguard

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    237 Aufrufe
    Niemand hat geantwortet
  • Wireguard - nmcli

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    525 Aufrufe
    Niemand hat geantwortet
  • Redis Replication über Wireguard

    Redis
    5
    0 Stimmen
    5 Beiträge
    419 Aufrufe
    K

    👍
    spart bischen zeit

  • ROCKPro64 - Projekt Wireguard Server

    Verschoben ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    485 Aufrufe
    FrankMF

    Hat ein wenig Nerven gekostet und der Artikel ist auch was länger geworden 🙂 Viel Spaß beim Lesen und testen!

  • Wireguard - Client installieren

    Wireguard
    3
    0 Stimmen
    3 Beiträge
    574 Aufrufe
    FrankMF

    Ich kann dir nicht ganz folgen. Mein Wireguard Server ist eine VM im Netz. Mein Smartphone baut zu diesem eine Verbindung auf und ich habe mal eben nachgeschaut, was da so geht. Mein Smartphone ist aktuell im meinem WLan angemeldet.

    6e0016dc-7e11-41e1-bba2-e52a3f1348df-image.png

    iperf3 -s -B 10.10.1.1 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44246 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44248 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 4.98 MBytes 41.7 Mbits/sec [ 5] 1.00-2.00 sec 5.52 MBytes 46.3 Mbits/sec [ 5] 2.00-3.00 sec 4.80 MBytes 40.3 Mbits/sec [ 5] 3.00-4.00 sec 4.17 MBytes 35.0 Mbits/sec [ 5] 4.00-5.00 sec 5.04 MBytes 42.3 Mbits/sec [ 5] 5.00-6.00 sec 5.43 MBytes 45.6 Mbits/sec [ 5] 6.00-7.00 sec 5.75 MBytes 48.3 Mbits/sec [ 5] 7.00-8.00 sec 5.70 MBytes 47.8 Mbits/sec [ 5] 8.00-9.00 sec 5.73 MBytes 48.1 Mbits/sec [ 5] 9.00-10.00 sec 5.65 MBytes 47.4 Mbits/sec [ 5] 10.00-10.04 sec 206 KBytes 46.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 53.0 MBytes 44.3 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44250 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44252 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 4.80 MBytes 40.2 Mbits/sec 0 253 KBytes [ 5] 1.00-2.00 sec 14.7 MBytes 123 Mbits/sec 181 379 KBytes [ 5] 2.00-3.00 sec 9.68 MBytes 81.2 Mbits/sec 58 294 KBytes [ 5] 3.00-4.00 sec 8.88 MBytes 74.5 Mbits/sec 1 227 KBytes [ 5] 4.00-5.00 sec 7.76 MBytes 65.1 Mbits/sec 0 245 KBytes [ 5] 5.00-6.00 sec 8.88 MBytes 74.5 Mbits/sec 0 266 KBytes [ 5] 6.00-7.00 sec 9.81 MBytes 82.3 Mbits/sec 0 289 KBytes [ 5] 7.00-8.00 sec 7.82 MBytes 65.6 Mbits/sec 35 235 KBytes [ 5] 8.00-9.00 sec 5.59 MBytes 46.9 Mbits/sec 4 186 KBytes [ 5] 9.00-10.00 sec 6.64 MBytes 55.7 Mbits/sec 0 207 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.04 sec 84.6 MBytes 70.6 Mbits/sec 279 sender ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ^Ciperf3: interrupt - the server has terminated

    Im zweiten Teil ist der Wireguard Server der Sender.

    Bis jetzt hatte ich eigentlich nie Probleme, auch nicht unterwegs. Aber, ich gehe davon aus, das ich dich nicht 100% verstanden habe 😉

  • Wireguard - QRCode

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    360 Aufrufe
    Niemand hat geantwortet
  • Wireguard - Traffic routen

    Wireguard
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF

    Wie ich bei meinem Hamburger Systemadministrator gelernt habe, geht das auch wesentlich einfacher. Dafür hat Wireguard einen netten Befehl schon parat, nennt sich

    wg-quick up wg0-client

    Dazu muss auf dem Client natürlich vorher alles konfiguriert sein. Das Verzeichnis /etc/wireguard sieht dann so aus.

    root@thinkpad:/etc/wireguard# ls -lha /etc/wireguard/ insgesamt 32K drwx------ 2 root root 4,0K Aug 16 08:47 . drwxr-xr-x 141 root root 12K Aug 16 08:47 .. -rw-r--r-- 1 root root 45 Aug 9 16:48 private.key -rw-r--r-- 1 root root 45 Aug 9 16:48 psk.key -rw-r--r-- 1 root root 45 Aug 9 16:48 public.key -rw-r--r-- 1 root root 275 Aug 16 08:47 wg0-client.conf

    Die drei Schlüssel sind also vorhanden, der Server ist auch entsprechend vorbereitet. Dann brauchen wir auf dem Clienten noch die wg0-client.conf mit folgendem Inhalt.

    [Interface] Address = 10.10.0.4/32 PrivateKey = oM9jWxxxxxxxxxxxxxxxxxxxxxxxxxxxtS4vW8= ListenPort = 50xxx DNS = 10.10.0.2 [Peer] PublicKey = fGg7MxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTPRqqzU= Endpoint = 136.xxx.xxx.xxx:60xxx AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 21

    Im ersten Teil [Interface] wird die Schnittstelle auf dem Clienten konfiguriert.

    Die Adresse des Clienten Privatekey, findet man in /etc/wireguard/private.key Den Port für die Wireguard Kommunikation, frei wählbar. Der DNS-Server, ist hier mein Wireguard-Server, der einen DNS Dienst bereit hält.

    Im zweiten Teil [Peer] wird die Verbindung zum Server konfiguriert.

    PublicKey, der PublicKey des Servers. Endpoint, ist die IP-Adresse des Servers. AllowedIPs 0.0.0./0 wird den gesamten IPv4 Verkehr über den Tunnel routen. Dient dazu , die Verbindung aufrecht zu erhalten?

    Mit

    wg-quick up wg0-client

    baut er nun die Verbindung auf.

    root@thinkpad:/etc/wireguard# wg-quick up wg0-client [#] ip link add wg0-client type wireguard [#] wg setconf wg0-client /dev/fd/63 [#] ip -4 address add 10.10.0.4/32 dev wg0-client [#] ip link set mtu 1420 up dev wg0-client [#] resolvconf -a tun.wg0-client -m 0 -x [#] wg set wg0-client fwmark 51xxx [#] ip -4 route add 0.0.0.0/0 dev wg0-client table 51xxx [#] ip -4 rule add not fwmark 51xxx table 51xxx [#] ip -4 rule add table main suppress_prefixlength 0 root@thinkpad:/etc/wireguard#

    Damit steht der Tunnel

    9: wg0-client: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 10.10.0.4/32 scope global wg0-client valid_lft forever preferred_lft forever

    Ausschalten

    root@thinkpad:/etc/wireguard# wg-quick down wg0-client [#] ip -4 rule delete table 51xxx [#] ip -4 rule delete table main suppress_prefixlength 0 [#] ip link delete dev wg0-client [#] resolvconf -d tun.wg0-client

    Auf meinem Debian 10 Buster ging das erst so nicht, weil ein Paket fehlt.

    root@thinkpad:/etc/wireguard# wg-quick up wg0-client [#] ip link add wg0-client type wireguard [#] wg setconf wg0-client /dev/fd/63 [#] ip -4 address add 10.10.0.4/32 dev wg0-client [#] ip link set mtu 1420 up dev wg0-client [#] resolvconf -a wg0-client -m 0 -x /usr/bin/wg-quick: line 31: resolvconf: command not found [#] ip link delete dev wg0-client

    Wireguard ist so nett und schreibt alles rein 😉 Eine Installation von resolcconf löst das Problem.

    root@thinkpad:/etc/wireguard# apt install resolvconf Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden NEUEN Pakete werden installiert: resolvconf 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 74,2 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 196 kB Plattenplatz zusätzlich benutzt. [gekürzt]

    Nun kann man den Tunnel mit zwei einfachen Befehlen auf- und wieder abbauen. Als nächstes kommt dann noch die IPv6 Erweiterung, weil im Moment IPv6 Traffic am Tunnel vorbei fliessen würde, wenn man eine öffentliche IPv6 Adresse zugewiesen bekommen hätte. Aber, das muss ich mir noch ein wenig erklären lassen 🙂