Linux

So richten Sie WireGuard VPN unter Debian 10 ein

So richten Sie WireGuard VPN unter Debian 10 ein

WireGuard ist ein Allzweck-VPN (Virtual Private Network), das modernste Kryptographie verwendet. Im Vergleich zu anderen gängigen VPN-Lösungen wie IPsec und OpenVPN ist WireGuard im Allgemeinen schneller, einfacher zu konfigurieren und hat einen geringeren Platzbedarf. Es ist plattformübergreifend und kann fast überall ausgeführt werden, einschließlich Linux, Windows, Android und macOS.

Wireguard ist ein Peer-to-Peer-VPN; es verwendet nicht das Client-Server-Modell. Je nach Konfiguration kann ein Peer als traditioneller Server oder Client fungieren. Es funktioniert, indem es auf jedem Peer-Gerät eine Netzwerkschnittstelle erstellt, die als Tunnel fungiert. Peers authentifizieren sich gegenseitig, indem sie öffentliche Schlüssel austauschen und validieren und das SSH-Modell nachahmen. Öffentliche Schlüssel werden einer Liste von IP-Adressen zugeordnet, die im Tunnel zulässig sind. Der VPN-Datenverkehr ist in UDP gekapselt.

Dieser Artikel erklärt, wie Sie WireGuard unter Debian 10 installieren und konfigurieren, das als VPN-Server agiert. Außerdem zeigen wir Ihnen, wie Sie WireGuard als Client unter Linux, Windows und macOS konfigurieren. Der Datenverkehr des Clients wird über den Debian 10-Server geleitet.

Dieses Setup kann als Schutz vor Man-in-the-Middle-Angriffen verwendet werden, zum anonymen Surfen im Internet, zum Umgehen von geografisch eingeschränkten Inhalten oder zum Ermöglichen einer sicheren Verbindung Ihrer Kollegen, die von zu Hause aus arbeiten, mit dem Unternehmensnetzwerk.

Voraussetzungen #

Um dieser Anleitung zu folgen, benötigen Sie einen Computer mit installiertem Debian 10. Sie benötigen außerdem root oder [sudo access](https://linuxize.com/post/how-to-create-a-sudo-user-on-debian/ um Pakete zu installieren und Änderungen am System vorzunehmen.

Einrichten des WireGuard-Servers #

Wir beginnen mit der Installation des WireGuard-Pakets auf dem Debian-Rechner und richten es als Server ein. Wir werden das System auch so konfigurieren, dass der Datenverkehr der Clients durch das System geleitet wird.

WireGuard auf Debian 10 installieren #

WireGuard ist in den Debian-Backports-Repositorys verfügbar. Um das Repository zu Ihrem System hinzuzufügen, führen Sie Folgendes aus:

echo 'deb http://ftp.debian.org/debian buster-backports main' | sudo tee /etc/apt/sources.aufführen.d/buster-backports.aufführen

Sobald das Repository aktiviert ist, aktualisieren Sie den apt-Cache und installieren Sie das WireGuard-Modul und die Tools:

sudo apt-Updatesudo apt installieren Wireguard
WireGuard läuft als Kernel-Modul.

WireGuard konfigurieren #

Sie können die WireGuard-Schnittstellen mit den wg und wg-schnell Befehlszeilentools.

Jedes Gerät im WireGuard VPN-Netzwerk benötigt einen privaten und einen öffentlichen Schlüssel. Führen Sie den folgenden Befehl aus, um das Schlüsselpaar zu generieren:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Die Dateien werden im /etc/wireguard Verzeichnis. Verwenden Sie die Katze oder Weniger Befehle zum Anzeigen des Inhalts der Dateien. Der private Schlüssel sollte niemals mit jemandem geteilt werden und sollte immer sicher aufbewahrt werden.

Wireguard unterstützt auch einen Pre-Shared Key, der eine zusätzliche Schicht der Kryptografie mit symmetrischen Schlüsseln hinzufügt. Dieser Schlüssel ist optional und muss für jedes Peer-Paar eindeutig sein.

Der nächste Schritt besteht darin, das Tunnelgerät zu konfigurieren, das den VPN-Verkehr weiterleitet.

Das Gerät kann entweder über die Befehlszeile mit dem ip und wg Befehle oder durch manuelles Erstellen der Konfigurationsdatei. Wir erstellen die Konfiguration mit einem Texteditor.

Öffnen Sie Ihren Editor und erstellen Sie eine neue Datei namens wg0.conf mit folgendem Inhalt:

sudo nano /etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf
[Schnittstelle] Adresse = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE 

Sie können der Schnittstelle einen beliebigen Namen geben. Es wird jedoch empfohlen, etwas zu verwenden wie wg0 oder wgvpn0.

Die Einstellungen im Schnittstellenbereich haben folgende Bedeutung:

Das wg0.conf und Privat Schlüssel Dateien sollten für normale Benutzer nicht lesbar sein. Benutzen chmod um die Dateiberechtigungen zu setzen auf 600:

sudo chmod 600 /etc/wireguard/privatekey,wg0.conf

Wenn Sie fertig sind, bringen Sie die wg0 Schnittstelle mit den in der Konfigurationsdatei angegebenen Attributen:

sudo wg-schnell auf wg0

Die Ausgabe sieht in etwa so aus:

[#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip -4 address add 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

Um den Schnittstellenstatus und die Konfiguration zu überprüfen, führen Sie Folgendes aus:

sudo wg show wg0
Schnittstelle: wg0 öffentlicher Schlüssel: +Vpyku+gjVJuXGR/OXXt6cmBKPdc06Qnm3hpRhMBtxs= privater Schlüssel: (versteckt) Listening Port: 51820 

Sie können den Schnittstellenstatus auch mit überprüfen ip a show wg0:

ip a show wg0
4: wg0:  mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 10.0.0.1/24 Geltungsbereich global wg0 gültig_lft für immer Preferred_lft für immer 

WireGuard kann mit Systemd . verwaltet werden. Führen Sie den folgenden Befehl aus, um die WireGuard-Schnittstelle beim Booten zu aktivieren:

sudo systemctl enable wg-quick@wg0

Servernetzwerk- und Firewallkonfiguration #

Die IP-Weiterleitung muss aktiviert sein, damit NAT funktioniert. Öffne das /etc/sysctl.conf Datei und fügen Sie die folgende Zeile hinzu oder kommentieren Sie sie aus:

sudo nano /etc/sysctl.conf
/etc/sysctl.conf
Netz.IPv4.ip_forward=1

Speichern Sie die Datei und übernehmen Sie die Änderung:

sudo sysctl -p
Netz.IPv4.ip_forward = 1 

Wenn Sie UFW verwenden, um Ihre Firewall zu verwalten, müssen Sie UDP-Datenverkehr auf Port öffnen 51820:

sudo ufw erlauben 51820/udp

Das ist es. Der Debian-Peer, der als Server fungieren wird, wurde eingerichtet.

Linux- und macOS-Clients einrichten #

Die Installationsanweisungen für alle unterstützten Plattformen finden Sie unter https://wireguard.com/installieren/ . Auf Linux-Systemen können Sie das Paket mit dem Verteilungspaket-Manager und auf macOS mit . installieren brauen.

Führen Sie nach der Installation die folgenden Schritte aus, um das Clientgerät zu konfigurieren.

Der Vorgang zum Einrichten eines Linux- und macOS-Clients ist ungefähr der gleiche wie für den Server. Generieren Sie zunächst den öffentlichen und den privaten Schlüssel:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Datei erstellen wg0.conf und fügen Sie die folgenden Inhalte hinzu:

sudo nano /etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf
[Schnittstelle] PrivateKey = CLIENT_PRIVATE_KEY Adresse = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpunkt = SERVER_IP_ADDRESS:51820 AllowedIPs = 0.0.0.0/0 

Die Einstellungen im Schnittstellenbereich haben die gleiche Bedeutung wie beim Einrichten des Servers:

Der Peer-Bereich enthält die folgenden Felder:

Wenn Sie zusätzliche Clients konfigurieren müssen, wiederholen Sie einfach die gleichen Schritte mit einer anderen privaten IP-Adresse.

Einrichtung von Windows-Clients #

Laden Sie das Windows-msi-Paket von der WireGuard-Website herunter und installieren Sie es .

Öffnen Sie nach der Installation die WireGuard-Anwendung und klicken Sie auf „Tunnel hinzufügen“ -> „Leeren Tunnel hinzufügen…“, wie in der Abbildung unten gezeigt:

Ein PublicKey-Paar wird automatisch erstellt und auf dem Bildschirm angezeigt.

Geben Sie einen Namen für den Tunnel ein und bearbeiten Sie die Konfiguration wie folgt:

[Schnittstelle] PrivateKey = CLIENT_PRIVATE_KEY Adresse = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpunkt = SERVER_IP_ADDRESS:51820 AllowedIPs = 0.0.0.0/0 

Fügen Sie im Schnittstellenabschnitt eine neue Zeile hinzu, um die Client-Tunnel-Adresse zu definieren.

Fügen Sie im Abschnitt Peer die folgenden Felder hinzu:

Wenn Sie fertig sind, klicken Sie auf die Schaltfläche „Speichern“.

Fügen Sie den Client-Peer zum Server hinzu #

Der letzte Schritt besteht darin, den öffentlichen Schlüssel und die IP-Adresse des Clients zum Server hinzuzufügen. Führen Sie dazu den folgenden Befehl auf dem Debian-Server aus:

sudo wg set wg0 peer CLIENT_PUBLIC_KEY erlaubt-ips 10.0.0.2

Stellen Sie sicher, dass Sie die ändern CLIENT_PUBLIC_KEY mit dem öffentlichen Schlüssel, den Sie auf dem Client-Rechner generiert haben (sudo cat /etc/wireguard/publickey) und passen Sie die Client-IP-Adresse an, wenn sie unterschiedlich ist. Windows-Benutzer können den öffentlichen Schlüssel aus der WireGuard-Anwendung kopieren.

Wenn Sie fertig sind, gehen Sie zurück zum Client-Rechner und rufen Sie die Tunneling-Schnittstelle auf.

Linux- und macOS-Clients #

Führen Sie den folgenden Befehl aus, um die Schnittstelle aufzurufen:

sudo wg-schnell auf wg0

Jetzt sollten Sie mit dem Debian-Server verbunden sein und der Verkehr von Ihrem Client-Rechner sollte darüber geleitet werden. Sie können die Verbindung überprüfen mit:

sudo wg
Schnittstelle: wg0 öffentlicher Schlüssel: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo= privater Schlüssel: (versteckter) Listening-Port: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx+CxlD6uAmICI+qpe=end.XXX.XXX.XXX:51820 erlaubte ips: 0.0.0.0/0 letzter Handshake: vor 53 Sekunden transfer: 3.23 KiB erhalten, 3.50 KiB gesendet 

Sie können auch Ihren Browser öffnen, "What is my IP" eingeben und Sie sollten Ihre Debian-Server-IP-Adresse sehen.

Um das Tunneln zu stoppen, bringen Sie die wg0 Schnittstelle:

sudo wg-schnell runter wg0

Windows-Clients #

Wenn Sie WireGuard unter Windows installiert haben, klicken Sie auf die Schaltfläche „Aktivieren“. Sobald die Peers verbunden sind, ändert sich der Tunnelstatus in Aktiv:

Fazit #

Wir haben Ihnen gezeigt, wie Sie WireGuard auf Debian 10 installieren und als VPN-Server konfigurieren. Dieses Setup ermöglicht es Ihnen, anonym im Internet zu surfen, indem Sie Ihre Verkehrsdaten privat halten.

Bei Problemen können Sie gerne einen Kommentar hinterlassen.

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...