Skip to content

Wireguard - VPN Server

Wireguard
  • Ich nutze ja gerne Wireguard um z.B. zwei Server zu verbinden, wenn man eine Verbindung braucht, die verschlüsselt sein muss. Da ja nun Wireguard sowieso schon auf dem Server läuft, kommt man schnell auf die Idee, der kann ja noch mehr 😉

    Für Wireguard gibt es eine Android App. Das muss man ja dann einfach mal probieren.

    Ich möchte hier nicht auf jedes Detail eingehen, ich habe mich an die sehr tolle Anleitung (siehe unten) gehalten. Das bekommt ihr dann auch hin. Hier trotzdem ein paar Infos, die es evt. mehr veranschaulichen.

    Server

    In meiner /etc(wireguard/wg0.conf steht für mein Handy folgendes.

    [Peer]
    PublicKey = bDTE7Kr7Uw/XyxxxxxxxxxxxxxxxzH46uHFZErWz8SGgI=
    AllowedIPs = 10.10.0.3/32
    

    Also, der Public Key und die IP-Adresse, die das Handy nutzt. Änderungen an der Config kann man mit

    wg setconf wg0 /etc/wireguard/wg0.conf
    

    neuladen. Danach sieht man mit dem Befehl wg folgendes

    peer: bDTE7Kr7UwxxxxxxxxxxxxxxxxxuHFZErWz8SGgI=
      allowed ips: 10.10.0.3/32
    

    Die Einrichtung hat funktioniert. Wenn man jetzt die Verbindung am Handy aktiviert ändert sich das.

    peer: bDTE7Kr7UxxxxxxxxxxxxxxxxxH46uHFZErWz8SGgI=
      endpoint: 37.201.194.117:58618
      allowed ips: 10.10.0.3/32
      latest handshake: 5 seconds ago
      transfer: 1.39 KiB received, 92 B sent
    

    Verbindung steht!

    Ein wenig rätsel ich noch herum, wie das mit dem DNS richtig funktioniert!? Dafür brauche ich aber wohl erst mal einen Kaffee 😉 Aber, im Moment läuft es ja 🙂

    Vorsicht

    Mit 8.8.8.8 leakt ihr Eure echte IP. Ich suche noch warum mein unbound nicht richtig funktioniert.

    Client

    Screenshot_20190727-125759.png

    Von oben

    Interface

    • Interface Namen
    • Private Key des Clienten
    • Public Key des Clienten
    • Die Adresse, die man nutzen möchte.
    • Der DNS-Server

    Peer

    • Public Key des Servers
    • Pre-shared Key (erhöht die Sicherheit) hier nicht benutzt
    • Allowed IPs
    • Endpoint - Serveradresse mit Port

    Das war es, danach sollte die Verbindung stehen. Der private Key und der public Key kann man mit dem Button Generate erzeugen!

    Mehr muss man auf dem Handy nicht machen.

    Danke für die sehr gute Erklärung!!
    Quelle: https://www.ckn.io/blog/2017/11/14/wireguard-vpn-typical-setup/

  • Das DNS-Problem ist gelöst. Da die Erklärung was umfangreicher ist, wird das heute nichts mehr. Genug getippt für heute 😁

  • Wireguard - Tunnel zur Fritz!Box 6591 Cable Part 3

    Angeheftet Wireguard
    1
    0 Stimmen
    1 Beiträge
    347 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Projekt Wireguard Server

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

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

  • Wireguard - wg-quick

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Wireguard - QRCode

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    355 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 🙂

  • Wireguard - DNS für VPN-Server

    Wireguard
    2
    0 Stimmen
    2 Beiträge
    581 Aufrufe
    FrankMF

    Und mit wg auf dem Server kann man schön nachsehen, wie viel Daten da so durchlaufen.

    root@amadeus ~ # wg interface: wg0 public key: fGg7MkjzD6fVqxxxxxxxxxxxxxxxxxGa0NIBaTPRqqzU= private key: (hidden) listening port: 60563 peer: bDTE7Kr7Uw/Xxxxxxxxxxxxxxxxxxxxx46uHFZErWz8SGgI= endpoint: xx.xxx.194.117:58702 allowed ips: 10.10.0.3/32 latest handshake: 14 seconds ago transfer: 56.55 MiB received, 287.67 MiB sent
  • Wireguard - Failed to parse netdev kind, ignoring: wireguard

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    367 Aufrufe
    Niemand hat geantwortet
  • Wireguard - Links

    Angeheftet Wireguard
    1
    0 Stimmen
    1 Beiträge
    280 Aufrufe
    Niemand hat geantwortet