Wireguard unter Linux (Ubuntu)

WireGuard ist ein Open-Source-VPN-Protokoll, das auf der Linux-Kernel-Ebene implementiert wird. Es wurde entwickelt, um eine einfache, schnelle und sichere VPN-Lösung zu sein.

Im Gegensatz zu anderen VPN-Protokollen, die oft komplex und ressourcenintensiv sind, ist WireGuard sehr einfach und leicht zu konfigurieren. Es hat auch einen geringen Ressourcenbedarf und bietet daher eine gute Leistung.

WireGuard nutzt moderne Kryptographie, wie Curve25519, ChaCha20 und Poly1305 für Verschlüsselung und Authentifizierung, was es sehr sicher macht.

Ein weiterer Vorteil von WireGuard ist die Möglichkeit, es auf mobilen Geräten zu verwenden, da es auf der Kernel-Ebene läuft und nicht auf einer Anwendungsebene.

Wireguard ist also eine moderne, schnelle und sichere alternative zu anderen VPN-Protokollen und sehr gut geeignet für mobile und Embedded-Geräte.

Kurzanleitung für Ubuntu

1. Füge das WireGuard-PPA (Personal Package Archive) hinzu:

sudo add-apt-repository ppa:wireguard/wireguard

2.Aktualisiere die Paketliste:

sudo apt update

3.Installiere WireGuard und das dazugehörige Werkzeug:

sudo apt install wireguard wireguard-tools

4.Erstelle eine Konfigurationsdatei für den Server:

sudo nano /etc/wireguard/wg0.conf

5. Füge die folgenden Zeilen in die Konfigurationsdatei ein (ersetze die Platzhalter mit den tatsächlichen Werten):

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server private key>

[Peer]
PublicKey = <client public key>
AllowedIPs = 10.0.0.2/32

6. Aktiviere den Server:

sudo wg-quick up wg0

7. Erstelle eine Konfigurationsdatei für den Client:

sudo nano /etc/wireguard/client.conf

8.Füge die folgenden Zeilen in die Konfigurationsdatei ein (ersetze die Platzhalter mit den tatsächlichen Werten)

[Interface]
PrivateKey = <client private key>
Address = 10.0.0.2/24

[Peer]
PublicKey = <server public key>
Endpoint = <server IP address>:51820
AllowedIPs = 0.0.0.0/0

9.Aktiviere den Client:

sudo wg-quick up client

10.Überprüfe die Verbindung:

sudo wg show

Das war’s! Du solltest jetzt eine funktionierende WireGuard-VPN-Verbindung haben. Beachte, dass dies nur eine einfache Konfiguration ist und es gibt viele Möglichkeiten für fortgeschrittene Konfigurationen.

Um das Durchleiten der Internetverbindung (NAT) über WireGuard zu konfigurieren, musst Du einige zusätzliche Schritte auf dem Server ausführen. Hier ist eine Anleitung dazu:

1. Aktiviere die IP-Forwarding-Funktion im Kernel:

sudo sysctl -w net.ipv4.ip_forward=1

2. Konfiguriere iptables, um den Datenverkehr von den Clients an den Server weiterzuleiten:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3. Speichere die iptables-Regeln, damit sie beim Neustart des Systems erhalten bleiben:

sudo apt-get install iptables-persistent
sudo service iptables-persistent save

4.Konfiguriere das Routing auf dem Client, damit der Datenverkehr über die WireGuard-Verbindung geleitet wird:

sudo ip route add default dev wg0

5.Optional kann man auch noch DNS Server festlegen

sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf

Nachdem Du diese Schritte ausgeführt hast, sollte das Durchleiten der Internetverbindung über die WireGuard-Verbindung konfiguriert sein. Bitte beachte, dass die obige Anleitung nur eine allgemeine Richtlinie ist und je nach Deiner Netzwerkumgebung möglicherweise Anpassungen erforderlich sind.
Gerade die Netzwerkschnittstelle eth0 ist z.B bei WIFI eine andere. Viel Spass damit.