VPN in jedem Haus oder wie man den Drachen zähmt

Im Folgenden werde ich erläutern, wie Sie Ihren VPN-Anbieter durch Ihren eigenen Server ersetzen können, der mit WireGuard auf DigitalOcean bereitgestellt wird.


Was ist das Hauptproblem von VPN-Anbietern? Sie wissen nicht, was sie mit Ihren Daten machen.
Nur sehr wenige VPN-Anbieter haben Audits von Drittanbietern bestanden, und fast keiner von ihnen öffnet seinen Code.
Selbst im Fall von Open Source Code und bestandenem Audit bleibt für paranoide Menschen die Frage offen, was auf der Seite des Anbieters passiert.


Die Lösung ist ganz einfach: Stellen Sie Ihren VPN-Knoten bereit.


Ich möchte es einfach machen


Im Netzwerk gibt es viele Artikel zum Konfigurieren von WireGuard. Hier einige davon:



Aber was ist, wenn ich nur WireGuard installieren möchte, ohne die Dokumentation gründlich zu studieren?
Ich möchte nur den einfachsten und schnellsten Weg, um einen VPN-Server bereitzustellen und ihn zu verwenden.


Alles was ich von der Infrastruktur brauche:


  • 1 Server
  • 5-10 Kunden für mich und meine Lieben

Im Folgenden finden Sie eine Anleitung, wie Sie dies schnell und einfach tun können.


Erstellen Sie ein Tröpfchen


Zuerst müssen Sie ein neues Droplet auf DigitalOcean erstellen: https://www.digitalocean.com/docs/droplets/how-to/create/


Das einfachste c Ubuntu 18.04 passt zu mir und kostet 5 US-Dollar pro Monat.


Denken Sie daran, Ihren SSH-Schlüssel hinzuzufügen, um Zugriff auf das Droplet zu erhalten: https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/


Bemerkung. DigitalOcean ist nicht die einzige Option. Sie können jeden Cloud-Service nach Ihrem Geschmack auswählen.


Installieren Sie WireGuard Server und erstellen Sie alle erforderlichen Konfigurationen


Um alle erforderlichen Konfigurationen automatisch zu erstellen, können Sie das folgende Skript verwenden: wg-ububtu-server-up.sh , das:


  • Installieren Sie die gesamte erforderliche Software
  • Konfigurieren Sie iptables-Regeln und aktivieren Sie die IPv4-Weiterleitung
  • ungebunden als DNS-Resolver installieren
  • erstellt eine Serverkonfiguration und die erforderliche Anzahl von Clientkonfigurationen
  • startet WireGuard

Stellen Sie über SSH eine Verbindung mit dem Droplet her und führen Sie die folgenden Befehle aus, um das Skript herunterzuladen und auszuführen (verwenden Sie die IP-Adresse Ihres Droplets anstelle von xxx.xxx.x.xx):


ssh root@xxx.xxx.x.xx wget https://raw.githubusercontent.com/drew2a/wireguard/master/wg-ububtu-server-up.sh chmod +x ./wg-ububtu-server-up.sh ./wg-ububtu-server-up.sh 10 #  10  " 10  " 

Nach dem Ausführen des Skripts wird der WireGuard-Server installiert, ausgeführt und kann mit Clients arbeiten.


Ein Zeichen dafür, dass WireGuard korrekt gestartet wurde, ist, dass nach dem Ausführen des Skripts etwas Ähnliches wie bei der Konsole angezeigt werden sollte:


 interface: wg0 public key: +xxxEjj1qmxxxotq4OxxxfHPaxxxtre5xxxxOfxxw= private key: (hidden) listening port: 51820 peer: d1exxxLdCZcYxxxIQ0xxxxK/Wpx8G1N8xxvnUrxxxx= allowed ips: 10.0.0.2/32 peer: fWExxxazRxxxUOxxxx4JKgUTxxo9LaxxxxOGWtxxK0w= allowed ips: 10.0.0.3/32 ... peer: RbmxxxDxOoXMxxxcyate6xxxinIClxxDgRDxxxx0j0= allowed ips: 10.0.0.10/32 

Das Skript erstellt außerdem 10 Client-Konfigurationen [ client1.conf ... client10.conf ], mit denen Sie eine Konfiguration für ein Gerät (gleichzeitig) verwenden können.


Die Konfigurationen befinden sich im Droplet im Ordner: $ HOME / wireguard /


Bemerkung. Sie können WireGuard manuell konfigurieren, ohne ein Skript zu verwenden, aber dann entspricht es nicht der Definition von "schnell" und "ohne gründliches Studium der Dokumentation". Wenn im nächsten Artikel Interesse daran besteht, werde ich darüber sprechen, was in den Skripten der Magie passiert.


Bemerkung 2. Sie können vernünftigerweise feststellen, dass es noch einfacher ist, ein bereits vorbereitetes Image in derselben DO zu verwenden und keine Skripte auszuführen. Ich stimme zu, aber ich werde Ihre Aufmerksamkeit auf die Tatsache lenken, dass die vorgeschlagenen Skripte nur 100 Codezeilen enthalten und es leicht zu überprüfen ist, ob sie keine Straftaten enthalten. Im fertigen Bild ist dies schwieriger.


Bemerkung 3. Der Befehl zum Herstellen einer Verbindung zum Droplet ( ssh ) funktioniert unter * nix-ähnlichen Betriebssystemen. Wenn Sie Windows haben, verwenden Sie Winscp , PuTTY oder eine andere ähnliche Anwendung.


Installieren Sie den Desktop-Client


Laden Sie die WireGuard-Desktopanwendung von https://www.wireguard.com/install/ herunter und installieren Sie sie.


Laden Sie die Client-Konfiguration (sagen wir, Sie möchten die client1.conf- Konfiguration verwenden) von Ihrem Droplet herunter (verwenden Sie die IP-Adresse Ihres Droplets anstelle von xxx.xxx.x.xx):


 scp root@xxx.xxx.x.xx:"~/wireguard/client1.conf" ~/Desktop/ 

Starten Sie die Desktop-Version von WireGuard und importieren Sie den Tunnel aus der heruntergeladenen Client-Konfiguration ( client1.conf ).


Bemerkung. Der Download-Befehl ( scp ) funktioniert unter * nix-ähnlichen Betriebssystemen. Wenn Sie Windows haben, verwenden Sie Winscp oder eine ähnliche Anwendung.


Bemerkung 2. Sie können die WireGuard-Version auch ohne GUI verwenden und dieselben Client-Konfigurationen verwenden.


Installieren Sie den Client für das Mobiltelefon


Installieren Sie die WireGuard-App über den AppStore oder PlayMarket.


Führen Sie es aus und importieren Sie den VPN-Tunnel über den QR-Code.


So erhalten Sie einen QR-Code


Sie können einen QR-Code generieren, indem Sie eine Verbindung zum Droplet herstellen (verwenden Sie die IP-Adresse Ihres Droplets anstelle von xxx.xxx.x.xx) und den Befehl ausführen (falls Sie die Client-Konfiguration client2.conf verwenden ):


 ssh root@xxx.xxx.x.xx qrencode -t ansiutf8 < ~/wireguard/client2.conf 

Vielen Dank.

Source: https://habr.com/ru/post/de474250/


All Articles