GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Richten Sie Ihren eigenen WireGuard VPN-Server auf Debian 11 &Debian 10 ein

Dieses Tutorial zeigt Ihnen, wie Sie Ihren eigenen WireGuard VPN-Server auf Debian 11 Bullseye und Debian 10 Buster einrichten. WireGuard wurde speziell für den Linux-Kernel entwickelt. Es läuft innerhalb des Linux-Kernels und ermöglicht es Ihnen, einen schnellen, modernen und sicheren VPN-Tunnel zu erstellen.

Funktionen von WireGuard VPN

  • Leicht und superschnell, bläst OpenVPN aus dem Wasser.
  • Plattformübergreifend. WireGuard kann unter Linux, BSD, macOS, Windows, Android, iOS und OpenWRT ausgeführt werden.
  • Die Benutzerauthentifizierung erfolgt durch den Austausch öffentlicher Schlüssel, ähnlich wie bei SSH-Schlüsseln.
  • Es weist VPN-Clients statische Tunnel-IP-Adressen zu. Einige Leute mögen es vielleicht nicht, aber es kann in manchen Fällen nützlich sein.
  • Mobilgeräte können nahtlos zwischen Wi-Fi und Mobilfunknetz wechseln, ohne dass die Verbindung unterbrochen wird.
  • Ziel ist es, OpenVPN und IPSec in den meisten Anwendungsfällen zu ersetzen.

Anforderungen

Um diesem Tutorial zu folgen, benötigen Sie einen VPS (Virtual Private Server), der frei auf gesperrte Websites zugreifen kann (außerhalb Ihres Landes oder Internetfiltersystems). Ich empfehle Kamatera VPS, das Folgendes bietet:

  • Kostenlose 30-Tage-Testversion.
  • Beginnt bei 4 $/Monat (1 GB RAM)
  • Hochleistungs-KVM-basiertes VPS
  • 9 Rechenzentren auf der ganzen Welt, darunter USA, Kanada, Großbritannien, Deutschland, Niederlande, Hongkong und Israel.

Befolgen Sie das unten verlinkte Tutorial, um Ihren Linux-VPS-Server bei Kamatera zu erstellen.

  • So erstellen Sie einen Linux-VPS-Server auf Kamatera

Sobald Sie einen VPS haben, auf dem Debian läuft, befolgen Sie die nachstehenden Anweisungen.

Dieses Tutorial geht davon aus, dass sowohl der VPN-Server als auch der VPN-Client Debian ausführen Betriebssystem.

Schritt 1:WireGuard auf Debian-Server und -Desktop installieren

Melden Sie sich bei Ihrem Debian-Server an. WireGuard ist in Debian 11 (Bullseye) enthalten Repository, sodass Sie die folgenden Befehle ausführen können, um es zu installieren.

sudo apt updatesudo apt install wireguard wireguard-tools linux-headers-$(uname -r)

Debian 10 Benutzer müssen das Backport-Repository mit dem folgenden Befehl hinzufügen.

echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list

Installieren Sie dann WireGuard.

sudo apt updatesudo apt -t buster-backports installiere wireguard wireguard-tools wireguard-dkms linux-headers-$(uname -r)

Verwenden Sie dieselben Befehle, um WireGuard auf Ihrem lokalen Debian-Computer (dem VPN-Client) zu installieren. Beachten Sie, dass Sie auch openresolv installieren müssen Paket auf dem Client, um den DNS-Server zu konfigurieren.

sudo apt install openresolv

Schritt 2:Öffentliches/Privates Schlüsselpaar generieren

Server

Führen Sie den folgenden Befehl auf dem Debian-Server aus, um ein öffentliches/privates Schlüsselpaar zu erstellen, das unter /etc/wireguard/ gespeichert wird Verzeichnis.

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Kunde

Führen Sie den folgenden Befehl aus, um ein öffentliches/privates Schlüsselpaar auf dem lokalen Debian-Computer (dem VPN-Client) zu erstellen.

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Schritt 3:WireGuard-Konfigurationsdatei erstellen

Server

Verwenden Sie einen Befehlszeilen-Texteditor wie Nano, um eine WireGuard-Konfigurationsdatei auf dem Debian-Server zu erstellen. wg0 wird der Name der Netzwerkschnittstelle sein.

sudo nano /etc/wireguard/wg0.conf

Kopieren Sie den folgenden Text und fügen Sie ihn in Ihre Konfigurationsdatei ein. Sie müssen Ihren eigenen privaten Serverschlüssel und öffentlichen Clientschlüssel verwenden.

[Schnittstelle]Adresse =10.10.10.1/24ListenPort =51820PrivateKey =cD+ZjXiVIX+0iSX1PNijl4a+88lCbDgw7kO78oXXLEc=[Peer]PublicKey =AYQJf6HbkQ0X0Xyt+cTMTuJe3RFwbuCMF46LKgTwzz4=AllowedIPs 

Wo:

  • Adresse :Geben Sie die private IP-Adresse des VPN-Servers an. Hier verwende ich den Netzwerkbereich 10.10.10.0/24, sodass es nicht zu Konflikten mit Ihrem Heimnetzwerkbereich kommt. (Die meisten Heimrouter verwenden 192.168.0.0/24 oder 192.168.1.0/24). 10.10.10.1 ist die private IP-Adresse für den VPN-Server.
  • PrivateKey :Der private Schlüssel des VPN-Servers, der in /etc/wireguard/server_private.key zu finden ist Datei auf dem Server.
  • ListenPort :Der WireGuard VPN-Server überwacht den UDP-Port 51820, was der Standard ist.
  • PublicKey :Der öffentliche Schlüssel des VPN-Clients, der in /etc/wireguard/client_public.key zu finden ist Datei auf dem Client-Computer.
  • ZugelasseneIPs :IP-Adressen, die der VPN-Client verwenden darf. In diesem Beispiel kann der Client nur die IP-Adresse 10.10.10.2 innerhalb des VPN-Tunnels verwenden.

Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann zur Bestätigung die Eingabetaste. Drücken Sie Ctrl+X zum Beenden.)

Ändern Sie den Dateiberechtigungsmodus so, dass nur der Root-Benutzer die Dateien lesen kann.

sudo chmod 600 /etc/wireguard/ -R

Kunde

Verwenden Sie einen Befehlszeilen-Texteditor wie Nano, um eine WireGuard-Konfigurationsdatei auf Ihrem lokalen Debian-Computer zu erstellen. wg-client0 wird der Name der Netzwerkschnittstelle sein.

sudo nano /etc/wireguard/wg-client0.conf

Kopieren Sie den folgenden Text und fügen Sie ihn in Ihre Konfigurationsdatei ein. Sie müssen Ihren eigenen privaten Client-Schlüssel und öffentlichen Server-Schlüssel verwenden.

 [Interface] Address =10.10.10.2/24DNS =10.10.10.1PrivateKey =Cofa + x5UvHF + a3xJ6enLatG + DoE3I5PhMgKrMKkUyXI =[Peer] PublicKey =kQvxOJI5Km4S1c7WXu2UZFpB8mHGuf3Gz8mmgTIF2U0 =AllowedIPs =0.0.0.0/0Endpoint =12.34.56.78:51820PersistentKeepalive =25 

Wo:

  • Adresse :Geben Sie die private IP-Adresse des VPN-Clients an.
  • DNS :Geben Sie 10.10.10.1 (den VPN-Server) als DNS-Server an. Es wird über die resolvconf konfiguriert Befehl. Sie können auch wie folgt mehrere DNS-Server für Redundanz angeben:DNS = 10.10.10.1 8.8.8.8
  • PrivateKey :Der private Schlüssel des Clients, der in /etc/wireguard/client_private.key zu finden ist Datei auf dem Client-Computer.
  • PublicKey :Der öffentliche Schlüssel des Servers, der in /etc/wireguard/server_public.key zu finden ist Datei auf dem Server.
  • ZugelasseneIPs :0.0.0.0/0 repräsentiert das gesamte Internet, was bedeutet, dass der gesamte Datenverkehr zum Internet über das VPN geleitet werden sollte.
  • Endpunkt :Die öffentliche IP-Adresse und Portnummer des VPN-Servers. Ersetzen Sie 12.34.56.78 durch die echte öffentliche IP-Adresse Ihres Servers.
  • PersistentKeepalive :Senden Sie alle 25 Sekunden ein authentifiziertes leeres Paket an den Peer, um die Verbindung aufrechtzuerhalten. Wenn PersistentKeepalive nicht aktiviert ist, kann der VPN-Server den VPN-Client möglicherweise nicht anpingen.

Speichern und schließen Sie die Datei.

Ändern Sie den Dateimodus so, dass nur der Root-Benutzer die Dateien lesen kann.

sudo chmod 600 /etc/wireguard/ -R

Schritt 4:IP-Weiterleitung auf dem Server aktivieren

Damit der VPN-Server Pakete zwischen VPN-Clients und dem Internet weiterleiten kann, müssen wir die IP-Weiterleitung aktivieren. Bearbeiten Sie sysctl.conf Datei.

sudo nano /etc/sysctl.conf

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu.

net.ipv4.ip_forward =1

Speichern und schließen Sie die Datei. Wenden Sie dann die Änderungen mit dem folgenden Befehl an. Das -p Option lädt Sysctl-Einstellungen aus /etc/sysctl.conf Datei. Dieser Befehl behält unsere Änderungen über Systemneustarts hinweg bei.

sudo sysctl -p

Schritt 5:IP-Masquerading auf dem Server konfigurieren

Wir müssen IP-Masquerading in der Server-Firewall einrichten, damit der Server zu einem virtuellen Router für VPN-Clients wird. Ich werde UFW verwenden, das ein Frontend für die iptables-Firewall ist. Installieren Sie UFW unter Debian mit:

sudo apt install ufw

Zuerst müssen Sie den SSH-Verkehr zulassen.

sudo ufw allow 22/tcp

Suchen Sie als Nächstes den Namen der Hauptnetzwerkschnittstelle Ihres Servers.

IP-Adresse

Wie Sie sehen können, heißt es ens3 auf meinem Debian-Server.

Um IP-Masquerading zu konfigurieren, müssen wir den iptables-Befehl in eine UFW-Konfigurationsdatei einfügen.

sudo nano /etc/ufw/before.rules

Standardmäßig gibt es einige Regeln für den filter Tisch. Fügen Sie am Ende dieser Datei die folgenden Zeilen hinzu. Ersetzen Sie ens3 mit Ihrem eigenen Netzwerkschnittstellennamen.

# NAT-Tabellenregeln*nat:POSTROUTING ACCEPT [0:0]-A POSTROUTING -o ens3 -j MASQUERADE# Beenden Sie jede Tabelle mit der 'COMMIT'-Zeile oder diese Regeln werden nicht verarbeitetCOMMIT

Im Nano-Texteditor können Sie zum Ende der Datei gehen, indem Sie Ctrl+W drücken , und drücken Sie dann Ctrl+V .

Die obigen Zeilen werden angehängt (-A ) eine Regel am Ende von POSTROUTING Kette von nat Tisch. Es verbindet Ihr virtuelles privates Netzwerk mit dem Internet. Und verstecken Sie auch Ihr Netzwerk vor der Außenwelt. Das Internet kann also nur die IP Ihres VPN-Servers sehen, aber nicht die IP Ihres VPN-Clients, genau wie Ihr Heimrouter Ihr privates Heimnetzwerk verbirgt.

Standardmäßig verbietet UFW die Paketweiterleitung. Wir können die Weiterleitung für unser privates Netzwerk zulassen. Suchen Sie den ufw-before-forward Kette in dieser Datei und fügen Sie die folgenden 3 Zeilen hinzu, die die Paketweiterleitung akzeptieren, wenn die Quell-IP oder Ziel-IP in 10.10.10.0/24 ist Reichweite.

# Weiterleitung für vertrauenswürdiges Netzwerk zulassen-A ufw-before-forward -s 10.10.10.0/24 -j ACCEPT-A ufw-before-forward -d 10.10.10.0/24 -j ACCEPT

Speichern und schließen Sie die Datei. Aktivieren Sie dann UFW.

sudo ufw aktivieren

Wenn Sie UFW zuvor aktiviert haben, können Sie systemctl verwenden, um UFW neu zu starten.

sudo systemctl restart ufw

Wenn Sie nun die Regeln in der POSTROUTING-Kette der NAT-Tabelle auflisten, indem Sie den folgenden Befehl verwenden:

sudo iptables -t nat -L POSTROUTING

Sie können die Maskerade-Regel sehen.

Schritt 6:Installieren Sie einen DNS-Resolver auf dem Server

Da wir den VPN-Server als DNS-Server für den Client angegeben haben, müssen wir einen DNS-Resolver auf dem VPN-Server ausführen. Wir können den bind9 DNS-Server installieren.

sudo apt install bind9

Sobald es installiert ist, wird BIND automatisch gestartet. Sie können den Status überprüfen mit:

systemctl status bind9

Beispielausgabe:

● named.service - BIND Domain Name Server Geladen:geladen (/lib/systemd/system/named.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sonntag 2020-05-17 08:11 :26 UTC; vor 37s Dokumente:man:named(8) Haupt-PID:13820 (named) Aufgaben:5 (Grenze:1074) Arbeitsspeicher:14,3 MB CGroup:/system.slice/named.service └─13820 /usr/sbin/named -f -u binden

Wenn es nicht läuft, starten Sie es mit:

sudo systemctl start bind9

Bearbeiten Sie die Konfigurationsdatei des BIND-DNS-Servers.

sudo nano /etc/bind/named.conf.options

Fügen Sie die folgende Zeile hinzu, damit VPN-Clients rekursive DNS-Abfragen senden können.

allow-recursion { 127.0.0.1; 10.10.10.0/24; };

Speichern und schließen Sie die Datei. Starten Sie BIND9 neu, damit die Änderungen wirksam werden.

sudo systemctl restart bind9

Dann müssen Sie den folgenden Befehl ausführen, damit VPN-Clients eine Verbindung zu Port 53 herstellen können.

sudo ufw insert 1 erlaubt in von 10.10.10.0/24

Schritt 7:WireGuard-Port in der Firewall öffnen

Führen Sie den folgenden Befehl aus, um den UDP-Port 51820 auf dem Server zu öffnen.

sudo ufw allow 51820/udp

Schritt 8:WireGuard starten

Server

Führen Sie den folgenden Befehl auf dem Server aus, um WireGuard zu starten.

sudo wg-quick up /etc/wireguard/wg0.conf

Um es zu stoppen, führen Sie

aus
sudo wg-quick down /etc/wireguard/wg0.conf

Sie können auch den systemd-Dienst verwenden, um WireGuard zu starten.

sudo systemctl start [email protected]

Autostart beim Systemstart aktivieren.

sudo systemctl enable [email protected]

Überprüfen Sie seinen Status mit dem folgenden Befehl. Sein Status sollte active (exited) sein .

Systemctl-Status [E-Mail-geschützt]

Jetzt ist der WireGuard-Server bereit, Client-Verbindungen zu akzeptieren.

Kunde

Starten Sie WireGuard.

sudo systemctl start [email protected]

Autostart beim Systemstart aktivieren.

sudo systemctl enable [email protected]

Überprüfen Sie den Status:

Systemctl-Status [E-Mail-geschützt]

Gehen Sie nun zu dieser Website:http://icanhazip.com/ um Ihre öffentliche IP-Adresse zu überprüfen. Wenn alles gut gelaufen ist, sollte die öffentliche IP-Adresse Ihres VPN-Servers anstelle der öffentlichen IP-Adresse Ihres Client-Computers angezeigt werden.

Sie können auch den folgenden Befehl ausführen, um die aktuelle öffentliche IP-Adresse abzurufen.

curl https://icanhazip.com

Tipps zur Fehlerbehebung

Ping-Test

Sie können vom VPN-Server zum VPN-Client pingen (ping 10.10.10.2 ), um zu sehen, ob der Tunnel funktioniert. Wenn Sie im Ping die folgende Fehlermeldung sehen,

ping:sendmsg:Erforderlicher Schlüssel nicht verfügbar

kann es sein, dass die AllowedIPs Parameter ist falsch, wie ein Tippfehler.

Wenn die Ping-Fehlermeldung lautet

ping:sendmsg:Zieladresse erforderlich

es könnte sein, dass der private/öffentliche Schlüssel in Ihren Konfigurationsdateien falsch ist.

Kann nicht im Internet surfen

Wenn der VPN-Tunnel erfolgreich eingerichtet wurde, sich die öffentliche IP-Adresse des Clients jedoch nicht ändert, liegt das daran, dass die Maskierungs- oder Weiterleitungsregel in Ihrer UFW-Konfigurationsdatei nicht funktioniert. Ich hatte einmal einen Tippfehler in /etc/ufw/before.rules Datei, die dazu führte, dass mein Computer nicht im Internet surfen konnte.

Beachten Sie, dass ich die Verwendung von SaveConfig=true nicht empfehle im [Interface] Abschnitt der WireGuard-Konfigurationsdatei. SaveConfig weist WireGuard an, die Laufzeitkonfiguration beim Herunterfahren zu speichern. Wenn Sie also zusätzlich [Peer] hinzufügen in der Konfigurationsdatei und starten Sie WireGuard neu, Ihre neu hinzugefügten Konfigurationen werden überschrieben.

Debug-Protokollierung im Linux-Kernel aktivieren

Wenn Sie Linux-Kernel 5.6 oder höher verwenden, können Sie die Debug-Protokollierung für WireGuard mit dem folgenden Befehl aktivieren.

sudo su -echo module wireguard +p>
 /sys/kernel/debug/dynamic_debug/control

Dann können Sie die Debug-Protokolle mit

anzeigen
sudo dmesg -wH

oder

sudo journalctl -kf

Neu starten

Wenn Ihr VPN immer noch nicht funktioniert, versuchen Sie, den VPN-Server neu zu starten.

sudo systemctl restart [email protected]

Stoppen Sie dann den VPN-Client.

sudo systemctl stop [email protected]

Und aktualisieren Sie Softwarepakete auf dem VPN-Client.

sudo apt-Aktualisierung; sudo apt upgrade

Als nächstes starten Sie den VPN-Client neu.

sudo shutdown -r nowsudo systemctl start [email protected]

Zusätzliche VPN-Clients hinzufügen

WireGuard wurde entwickelt, um eine IP-Adresse mit einem VPN-Client zu verknüpfen. Um weitere VPN-Clients hinzuzufügen, müssen Sie für jeden Client ein eindeutiges privates/öffentliches Schlüsselpaar erstellen und dann den öffentlichen Schlüssel jedes VPN-Clients zur Konfigurationsdatei des Servers hinzufügen (/etc/wireguard/wg0.conf ) so:

 [Schnittstelle] Adresse =10.10.10.1/24PrivateKey =UIFH+XXJJ0G0UAZJ6VPQSBB/O68SYVQDMYJPY/FLGFA =Hörport =51820 [Peer] publicKkey =10222G2GSUSCK/yQUSKKE/kRUSPY/kRUSPET/kRUSPET/kRUSPET/3QIT5OHHZKKKJWZKJWZKJWZKKJWZKKJWZK. 1Z/3rtl0i7cJorcinB7T4UOIzScifPNEIESFD8=Erlaubte IPs =10.10.10.3/32[Peer]PublicKey =EVstHZc6QamzPgefDGPLFEjGyedJk6SZbCJttpzcvC8=Erlaubte IPs =10.10.10.4/32

Jeder VPN-Client hat eine statische private IP-Adresse (10.10.10.2, 10.10.10.3, 10.10.10.4 usw.). Starten Sie den WireGuard-Server neu, damit die Änderungen wirksam werden.

sudo systemctl restart [email protected]

Fügen Sie dann wie gewohnt die WireGuard-Konfiguration auf jedem VPN-Client hinzu.

Richtlinien-Routing, Split-Tunneling und VPN-Kill-Switch

Jetzt zeige ich Ihnen, wie Sie Richtlinien-Routing verwenden , Split-Tunneling , und VPN-Kill-Switch mit WireGuard VPN. Hinweis dass es nicht empfohlen wird, sie in Verbindung miteinander zu verwenden. Wenn Sie Richtlinien-Routing verwenden, sollten Sie Split-Tunneling oder VPN-Kill-Switch nicht aktivieren und umgekehrt.

Richtlinien-Routing

Standardmäßig wird der gesamte Datenverkehr auf dem VPN-Client über den VPN-Server geleitet. Manchmal möchten Sie möglicherweise nur eine bestimmte Art von Datenverkehr basierend auf dem Transportschichtprotokoll und dem Zielport weiterleiten. Dies wird als Richtlinien-Routing bezeichnet.

Das Richtlinien-Routing ist auf dem Client-Computer konfiguriert, und wir müssen den WireGuard-Client-Prozess stoppen.

sudo systemctl stop [email protected]

Bearbeiten Sie dann die Client-Konfigurationsdatei.

sudo nano /etc/wireguard/wg-client0.conf

Zum Beispiel, wenn Sie die folgenden 3 Zeilen in [interface] hinzufügen Abschnitt, dann erstellt WireGuard eine Routing-Tabelle mit dem Namen „1234“ und fügt die IP-Regel in die Routing-Tabelle ein. In diesem Beispiel wird der Datenverkehr nur dann über den VPN-Server geleitet, wenn TCP als Transportschichtprotokoll verwendet wird und der Zielport 25 ist, d. h. wenn der Client-Computer E-Mails sendet.

Table =1234PostUp =IP-Regel ipproto tcp dport 25 Tabelle 1234PreDown =ip-Regel ipproto tcp dport 25 Tabelle 1234 löschen

Speichern und schließen Sie die Datei. Starten Sie dann den WireGuard-Client erneut.

sudo systemctl start [email protected]

Split-Tunneling

Standardmäßig wird der gesamte Datenverkehr auf dem VPN-Client über den VPN-Server geleitet. So aktivieren Sie Split-Tunneling, also nur Traffic zu 10.10.10.0/24 Der IP-Bereich wird durch WireGuard VPN getunnelt. Dies ist nützlich, wenn Sie ein privates Netzwerk für mehrere Cloud-Server aufbauen möchten, da VPN-Clients auf Cloud-Servern ausgeführt werden und wenn Sie einen vollständigen VPN-Tunnel verwenden, dann verlieren Sie wahrscheinlich die Verbindung zu den Cloud-Servern.

Bearbeiten Sie die Client-Konfigurationsdatei.

sudo nano /etc/wireguard/wg-client0.conf

Ändern

AllowedIPs =0.0.0.0/0

An

AllowedIPs =10.10.10.0/24

Der Datenverkehr wird also nur dann über VPN geleitet, wenn die Zieladresse im IP-Bereich 10.10.10.0/24 liegt. Speichern und schließen Sie die Datei. Starten Sie dann den WireGuard-Client neu.

sudo systemctl restart [email protected]

VPN-Kill-Switch

Standardmäßig kann Ihr Computer bei einer Unterbrechung der VPN-Verbindung über das normale Gateway auf das Internet zugreifen. Möglicherweise möchten Sie die Kill-Switch-Funktion aktivieren, die den Fluss unverschlüsselter Pakete durch Nicht-WireGuard-Schnittstellen verhindert.

Beenden Sie den WireGuard-Client-Prozess.

sudo systemctl stop [email protected]

Bearbeiten Sie die Client-Konfigurationsdatei.

sudo nano /etc/wireguard/wg-client0.conf

Fügen Sie die folgenden zwei Zeilen in [interface] hinzu Abschnitt.

PostUp =iptables -I AUSGABE ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECTPreDown =iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT

So:

[Interface]Address =10.10.10.2/24DNS =10.10.10.1PrivateKey =cOFA+x5UvHF+a3xJ6enLatG+DoE3I5PhMgKrMKkUyXI=PostUp =iptables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECTPreDown =iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT [Peer]PublicKey =kQvxOJI5Km4S1c7WXu2UZFpB8mHGuf3Gz8mmgTIF2U0=AllowedIPs =0.0.0.0/0Endpoint =12.34.56.78:51820PersistentKeepalive =25

Speichern und schließen Sie die Datei. Starten Sie dann den WireGuard-Client.

sudo systemctl start [email protected]

Installieren von Linux Kernel 5.x auf Debian 10

Die aktuelle Linux-Kernel-Version auf Debian 10 ist 4.19. In Schritt 1 haben wir das Backport-Repository auf Debian 10 hinzugefügt. Das Backport-Repository enthält zum Zeitpunkt der Erstellung dieses Dokuments den Linux-Kernel 5.10. Sie wissen wahrscheinlich, dass das Wireguard-Modul ab Version 5.4 im Linux-Kernel enthalten ist. Wenn wir den Linux-Kernel 5.10 auf Debian 10 installieren, müssen wir das Wireguard-Modul nicht erstellen, wenn das System den Linux-Kernel aktualisiert. Tatsächlich hatte mein Debian 10-Server einmal ein Problem beim Erstellen des Wireguard-Moduls mit wireguard-dkms.

Beachten Sie, dass zum Zeitpunkt des Lesens dieses Artikels das Debian 10-Backport-Repository möglicherweise Kernel 5.10 entfernt und Kernel 5.11 hinzugefügt hat. Ersetzen Sie in den folgenden Befehlen einfach 5.8 durch 5.9.

Um den Linux-Kernel 5.8 auf Debian 10-Cloud-Servern zu installieren, führen Sie den folgenden Befehl aus.

sudo apt install linux-image-5.10.0-0.bpo.7-cloud-amd64 linux-headers-5.10.0-0.bpo.7-cloud-amd64

Um den Linux-Kernel 5.8 auf einem Debian 10-PC zu installieren, führen Sie den folgenden Befehl aus.

 sudo apt install linux-image-5.10.0-0.bpo.7-amd64 linux-headers-5.10.0-0.bpo.7-amd64

Starten Sie dann Ihre Debian 10-Box neu.

sudo shutdown -r now

Überprüfen Sie Ihre Linux-Kernel-Version.

uname -r

Beispielausgabe

5.10.0-0.bpo.7-cloud-amd64

Obwohl wir die wireguard-dkms nicht mehr benötigen Paket, es ist eine Abhängigkeit für wireguard Paket, sodass wir es nicht aus dem System entfernen können. Sie werden wahrscheinlich den folgenden Fehler sehen, wenn Sie wireguard aktualisieren Paket.

Fehler! Die dkms.conf für dieses Modul enthält eine BUILD_EXCLUSIVE-Direktive, die nicht zu diesem Kernel/Arch passt. Dies zeigt an, dass es nicht gebaut werden sollte

Dies zeigt wireguard-dkms an versucht den wireguard zu bauen -Modul in den Linux-Kernel, aber Linux 5.10 enthält einen nativen wireguard Modul, sodass der Build-Vorgang verhindert wird und Sie diesen Fehler ignorieren können.


Debian
  1. Richten Sie einen VPN-Server auf Ihrem Linux-PC ein

  2. So richten Sie WireGuard VPN auf Ubuntu ein (eine Schritt-für-Schritt-Anleitung)

  3. So richten Sie einen SFTP-Server auf Debian 11 Server ein

  4. So richten Sie einen OpenVPN-Server unter Debian 10 ein

  5. Richten Sie einen Mailserver mit PostfixAdmin auf Debian 9 ein

Richten Sie Ihren eigenen DNS-Resolver auf Debian 10 Buster mit BIND9 ein

Richten Sie Ihren eigenen WireGuard VPN-Server auf CentOS/RHEL ein

Richten Sie Ihren eigenen WireGuard VPN-Server auf Ubuntu 20.04/18.04 ein

So erstellen Sie Ihren eigenen IPsec-VPN-Server unter Linux

Wie richte ich ein Pptp-Vpn auf dem eigenen Ubuntu-Server ein?

So richten Sie WireGuard VPN unter Debian 11 ein