Anleitung zur Konfiguration von WireGuard auf einem SoftEther VPN-Server
SoftEther ist eine anspruchsvolle, mehrprotokollfähige VPN-Lösung, die eine Vielzahl von VPN-Protokollen unterstützt, darunter WireGuard, OpenVPN, L2TP/IPsec, SSTP und mehr. In dieser Anleitung konzentrieren wir uns darauf, das WireGuard-Protokoll auf einem SoftEther VPN-Server mithilfe des vpncmd
-Tools zu konfigurieren – derzeit die einzige unterstützte Methode für die Einrichtung von WireGuard auf SoftEther.
Voraussetzungen
Bevor Sie beginnen, stellen Sie bitte Folgendes sicher:
Schritt 1: Konfiguration des UDP-Ports für WireGuard
Stellen Sie sicher, dass Sie Administratorrechte auf dem VPN-Server besitzen, bevor Sie die WireGuard-Verbindung einrichten. Starten Sie das Tool vpncmd
, wählen Sie Option #1 und melden Sie sich als Administrator an:
./vpncmd
Um zu überprüfen, ob Ihr SoftEther-Server auf einem UDP-Port lauscht, führen Sie folgenden Befehl aus:
PortsUDPGet
Falls kein UDP-Port aktiv ist, können Sie einen hinzufügen. Verwenden Sie dafür den folgenden Befehl. Sie können jede beliebige Portnummer verwenden, solange sie nicht mit vorhandenen Ports Ihres Linux-Servers in Konflikt steht:
PortsUDPSet 51820
Hinweis: Sie können mehrere Ports gleichzeitig angeben, indem Sie sie durch Kommas trennen. Stellen Sie außerdem sicher, dass diese Ports nicht durch Ihre Server-Firewall oder iptables blockiert werden.
Schritt 2: Festlegung des Standard-Gateways und Subnets für WireGuard
Da WireGuard kein DHCP unterstützt (das auf Broadcast-Nachrichten basiert, welche in einem Point-to-Point-VPN-Tunnel nicht funktionieren), muss jeder Peer eine manuell konfigurierte (statische) IP-Adresse haben, um eine korrekte Verschlüsselung und Routing zu gewährleisten. Wechseln Sie zu Ihrem virtuellen Hub und konfigurieren Sie das Standard-Gateway und die Subnetzmaske, die Ihre WireGuard-Clients mit statischen IP-Adressen verwenden werden:
Hub myhub
SetStaticNetwork /GATEWAY=192.168.1.1 /SUBNET=255.255.255.0
Ersetzen Sie 192.168.1.1 und 255.255.255.0 durch die passende Gateway-IP und Subnetzmaske – verwenden Sie dieselben Werte, die der DHCP-Server des Hubs an verbundene Clients vergibt. Überprüfen Sie die korrekte Konfiguration des Hubs, indem Sie folgenden Befehl ausführen:
OptionsGet myhub
Schritt 3: Aktivierung des WireGuard-Protokolls
Obwohl WireGuard normalerweise standardmäßig aktiviert ist, sollten Sie die Aktivierung mit folgendem Befehl überprüfen:
ProtoOptionsSet wireguard /NAME=enabled /VALUE=true
Schritt 4: Generieren und Zuweisen von Benutzer-Schlüsseln
WireGuard verwendet X25519-Schlüsselpaaren für die sichere Kommunikation. Sie können diese Schlüssel mithilfe des vpncmd
-Tools oder eines externen Tools generieren. Im folgenden Beispiel werden die Schlüssel mit vpncmd
erzeugt.
Beenden Sie vpncmd
und starten Sie es erneut. Wählen Sie Option #3, um in den Tools-Modus zu wechseln. Führen Sie dann folgenden Befehl aus, um ein Schlüsselpaar zu generieren:
GenX25519
Das Tool erzeugt ein Schlüsselpaar: einen Private Key und einen Public Key. Kopieren und speichern Sie diese sicher. Wenn Sie mehrere Hubs oder Benutzer haben, die eine WireGuard-Verbindung benötigen, erstellen Sie für jeden ein eigenes Schlüsselpaar.
Nachdem Sie die Schlüssel generiert haben, melden Sie sich erneut als Administrator in vpncmd
an und weisen Sie für jeden Benutzer den Public X25519 key dem entsprechenden Hub zu:
WgkAdd "WFPFO/s8UXD6HNH+2P2UjfbkUP8BFITa7TXKculvDUk=" /HUB=myhub /USER=myuser
Ersetzen Sie WFPFO/s…ulvDUk=, myhub und myuser durch Ihren tatsächlichen öffentlichen Schlüssel, den Hub-Namen und den Benutzernamen. Stellen Sie sicher, dass dieser Benutzer bereits im angegebenen Hub existiert.
Sie können nun mit folgendem Befehl überprüfen, ob die WireGuard-Schlüssel korrekt hinzugefügt wurden:
WgkEnum
Schritt 5: Erstellen einer Beispielkonfiguration für den WireGuard-Client
Im Folgenden finden Sie eine Beispielkonfigurationsdatei. Kopieren Sie sie in einen Texteditor und ersetzen Sie die Platzhalter durch Ihre tatsächlichen Werte, die wir anschließend erläutern:
[Interface] PrivateKey = WFPFO/s8UXD6HNH+2P2UjfbkUP8BFITa7TXKculvDUk= Address = 192.168.1.15/32 DNS = 9.9.9.9,149.112.112.112 [Peer] PublicKey = pbnWflgIl4CUqYkgZKrtQg/jMAyytyS/AufEt4OAq3Y= PresharedKey = s/8eDb4r6BUtAMZEY8a+VC4Qs4HYzUJVqD8YzSNFzuk= AllowedIPs = 0.0.0.0/0 Endpoint = 150.151.152.153:51820 PersistentKeepalive = 21
[Interface]
[Peer]
Durch das Einrichten des UDP-Ports, Konfigurieren des Standard-Gateways und Subnetzes, Aktivieren des WireGuard-Protokolls, Generieren und Zuweisen von Schlüsseln sowie Erstellen der Client-Konfigurationsdatei sollten Sie in der Lage sein, eine sichere Verbindung zu Ihrem virtuellen SoftEther-Hub über WireGuard herzustellen. Nach der Verbindung können Sie überprüfen, ob Ihr Datenverkehr über den WireGuard-Tunnel zu Ihrem SoftEther-Server geleitet wird.