So richten Sie einen VPN-Server zu Hause kostenlos ein

In diesem Artikel werde ich Sie Schritt für Schritt durch den Prozess des Einrichtens eines WireGuard VPN auf einem Linux-Server führen. Damit können Sie von unsicheren Orten wie Cafés aus auf sichere Internetressourcen zugreifen.

Aber warum ein VPN? Und warum WireGuard?

Wenn Sie beispielsweise von einem entfernten Standort aus eine Verbindung zur Website Ihrer Bank herstellen, besteht die Gefahr, dass Personen, die im Netzwerk zuhören, Kennwörter und andere vertrauliche Informationen preisgeben.

Hoffentlich wird die Bank-Website selbst verschlüsselt, was bedeutet, dass die zwischen der Bank und Ihrem PC oder Smartphone fließenden Schlüsseldaten für jeden, der unterwegs zuhört, nicht lesbar sind.

Und was ist, wenn Sie von zu Hause oder vom Büro aus eine Verbindung herstellen? Mit einem VPN können Sie ziemlich sicher sein, dass diese Datenelemente, die nicht durch regelmäßige Verschlüsselung verdeckt werden, nicht von den falschen Personen gesehen werden.

Aber was ist, wenn Sie über einen öffentlichen WLAN-Router an einem Flughafen oder in einem Café eine Verbindung herstellen? Sind Sie sicher, dass das Netzwerk nicht kompromittiert wurde oder dass keine Hacker unbemerkt zuschauen?

Um dieser sehr realen Bedrohung entgegenzuwirken, können Sie auf Ihrem Laptop oder Telefon eine Verbindung zu einem VPN-Server herstellen. Auf diese Weise finden alle Ihre Datenübertragungen über einen virtuellen Tunnel statt. Jeder Teil Ihrer vertraulichen Verbindungen ist für jeden im lokalen Netzwerk, von dem aus Sie eine Verbindung herstellen, unsichtbar.

WireGuard ist der neueste der drei großen Player in der Open-Source-VPN-Welt. Die beiden anderen sind IPsec und OpenVPN.

WireGuard ist einfacher, schneller und flexibler als die anderen. Es ist das neue Kind auf dem Block, aber es hat schnell einige wichtige Freunde gefunden. Auf Drängen des Linux-Entwicklers Linus Torvalds selbst wurde WireGuard kürzlich in den Linux-Kernel integriert.

Wo kann man seinen VPN-Server bauen?

Natürlich können Sie zu Hause jederzeit einen VPN-Server zusammenstellen und die Portweiterleitung über den Router Ihres Internetdienstanbieters konfigurieren. Aber es ist oft praktischer, es in der Cloud auszuführen.

Mach dir keine Sorgen. Ich versichere Ihnen, dass dieser Weg einer schnellen und schmerzlosen Konfiguration zum Einstellen und Vergessen viel näher kommt. Und es ist höchst unwahrscheinlich, dass alles, was Sie zu Hause bauen, so zuverlässig oder sicher ist wie die Infrastruktur, die von großen Cloud-Anbietern wie AWS bereitgestellt wird.

Wenn Sie jedoch zufällig einen professionell gesicherten Internet-Server im Haus haben (oder bereit sind, ein Risiko mit einem Ersatz-Himbeer-Pi einzugehen, den Sie herumliegen), funktioniert dies ungefähr genauso.

Dank WireGuard war es in der Cloud oder auf einem physischen Server nie einfacher, ein eigenes Heim-VPN zu erstellen. Das gesamte Setup kann in einer halben Stunde durchgeführt werden.

Fertig werden

Starten Sie Ihre Cloud-Instanz, möglicherweise mithilfe eines Tutorials von hier.

Stellen Sie sicher, dass Port 51820 für Ihren Server geöffnet ist. Dies erfolgt mit Sicherheitsgruppen in AWS und einer VPC-Netzwerkfirewall in Google Cloud.

Mit modernen Debian / Ubuntu-Versionen kann Wireguard von den Paketmanagern wie folgt installiert werden:

sudo apt install wireguard 

Oder mit yum aus dem EPEL-Repository:

sudo yum install kmod-wireguard wireguard-tools 

Schritt eins: Erstellen Sie die Verschlüsselungsschlüssel

Verwenden Sie in jedem Verzeichnis auf dem Server, in dem Sie Dateien mit öffentlichen und privaten Schlüsseln erstellen möchten, diesen Befehl:

umask 077; wg genkey | tee privatekey | wg pubkey > publickey 

Machen Sie dasselbe für den Client in einem anderen Verzeichnis oder auf Ihrem lokalen Computer. Stellen Sie einfach sicher, dass Sie später zwischen den verschiedenen Schlüsselsätzen unterscheiden können.

Für eine schnelle Einrichtung können Sie einen Online-Schlüsselgenerator verwenden. Ich empfehle jedoch, es beim ersten Mal manuell zu tun. Stellen Sie sicher, dass Dateien mit Schlüssel-Hashes erstellt wurden, da Sie sie im nächsten Schritt verwenden werden.

Schritt zwei: Erstellen Sie die Serverkonfiguration

Sie müssen eine .conf- Datei im Verzeichnis / etc / wireguard erstellen. Sie können sogar mehrere VPNs gleichzeitig über verschiedene Ports ausführen.

Fügen Sie den folgenden Code in die neue Datei ein:

sudo nano /etc/wireguard/wg0.conf 
[Interface] Address = 10.0.0.1/24 ListenPort = 51820 # use the server PrivateKey PrivateKey = GPAtRSECRETLONGPRIVATEKEYB0J/GDbNQg6V0s= # you can have as many peers as you wish # remember to replace the values below with the PublicKey of the peer [Peer] PublicKey = NwsVexamples4sBURwFl6HVchellou6o63r2B0s= AllowedIPs = 10.0.0.2/32 [Peer] PublicKey = NwsexampleNbw+s4sBnotFl6HrealxExu6o63r2B0s= AllowedIPs = 10.0.0.3/32 

Starten Sie das VPN

sudo systemctl start [email protected] 

Wenn Sie nicht über systemd verfügen (was möglicherweise zutrifft, wenn auf Ihrer Instanz Amazon Linux ausgeführt wird), können Sie es verwenden sudo wg-quick up wg0.

Schritt drei: Erstellen Sie die Client-Konfiguration

Installieren Sie Wireguard zuerst auf Ihrem Client-Computer, entweder auf dieselbe Weise unter Linux oder über einen App Store, wenn Sie Windows, MacOS, Android oder iPhone verwenden.

Wenn Sie in Schritt 1 einen Online-Schlüsselgenerator oder ein QR-Skript verwendet haben, können Sie Ihr Telefon verbinden, indem Sie ein Bild des QR-Codes aufnehmen.

Wenn WireGuard auf dem Client installiert ist, konfigurieren Sie es mit den folgenden Werten:

# Replace the PrivateKey value with the one from your client interface [Interface] Address = 10.0.0.2/24 ListenPort = 51820 PrivateKey = CNNjIexAmple4A6NMkrDt4iyKeYD1BxSstzer49b8EI= #use the VPN server's PublicKey and the Endpoint IP of the cloud instance [Peer] PublicKey = WbdIAnOTher1208Uwu9P17ckEYxI1OFAPZ8Ftu9kRQw= AllowedIPs = 0.0.0.0/0 Endpoint = 34.69.57.99:51820 

Es gibt viele optionale Add-Ons, die Sie je nach Anwendungsfall möglicherweise benötigen, z. B. die Angabe von DNS oder vorinstallierten Schlüsseln für eine zusätzliche Sicherheitsebene.

Starten Sie den Client auf die gleiche Weise wie den Server, wenn Sie unter Linux oder über die Anwendung selbst auf anderen Systemen arbeiten.

Testen Sie Ihr VPN

Type "my ip" in your browser to discover your public IP address. If the IP you get is different from the address your computer had before starting the VPN, then you were successful!

(And if you forgot what it was before, try sudo systemctl stop [email protected], checking and starting it again.)

Troubleshooting Guide

Make sure your server is configured for IP forwarding. Check the /etc/sysctl.conf file, or run:

echo 1 > /proc/sys/net/ipv4/ip_forward 

Your connection dies often? Add this to the peer section of the client configuration:

PersistentKeepalive = 25 

Not sure why it's not working? Try sudo tcpdump -i eth on the server while trying to use the client.

Thanks for reading this guide.

If you want to dive deeper, consider taking my paid Manning course on WireGuard VPN.