
WS4W ist eine Desktop -Anwendung, mit der ein Drahtguard -Server -Endpunkt unter Windows ausgeführt und verwaltet wird.
Inspiriert von Henry Changs Post, wie man den VPN -Server auf Windows eingerichtet hat, war mein Ziel, eine Anwendung zu erstellen, die viele der komplexen Schritte automatisiert und vereinfacht hat. Obwohl es sich noch nicht um eine Plug-and-Play-Lösung handelt, besteht die Idee darin, jede der Voraussetzungen einzeln ausführen zu können, ohne Skripte auszuführen, die Registrierung zu ändern oder das Bedienfeld einzugeben.
Die neueste Veröffentlichung ist hier verfügbar. Laden Sie den Installateur herunter und führen Sie aus.
HINWEIS : Die Anwendung beantragt, als Administrator auszuführen. Aufgrund der gesamten Finagling der Registrierung, Windows Services, WG.exe -Anrufe usw. ist es einfacher, die gesamte Anwendung erhöht zu machen.
Vor der Einführung eines Installationsprogramms wurde WS4W als tragbare Anwendung verteilt. Die tragbaren Versionen (1.5.2 und früher) haben keinen automatischen Upgrade -Pfad zur Installationsprogramm. Löschen Sie zum Upgrade einfach die heruntergeladene tragbare Version und laden Sie das Installationsprogramm herunter. Es gehen keine Konfigurationseinstellungen verloren.
Im Folgenden finden Sie die Aufgaben, die automatisch mit dieser Anwendung ausgeführt werden können.

In diesem Schritt wird die neueste Version von WireGuard für Windows von https://download.wireguard.com/windows-client/wireguard-installer.exe heruntergeladen. Nach der Installation kann es auch direkt von WS4W deinstalliert werden.

Hier können Sie den Serverendpunkt konfigurieren. In der Drahtguard -Dokumentation für die Bedeutung jedes dieser Felder. Der private Schlüssel und der öffentliche Schlüssel werden durch den Aufruf wg genkey bzw. wg pubkey [private key] generiert. (Sie können optional Ihren eigenen privaten Schlüssel liefern.)
Hinweis : Es ist wichtig, dass der Netzwerkbereich des Servers nicht mit der IP -Adresse des Hostsystems oder der LAN -Netzwerkbereiche in Konflikt steht.
Zusätzlich zum Erstellen/Udpating der Konfigurationsdatei für den Serverendpunkt wird auch die ScopeAddress -Registrierungswert (unter HKLMSYSTEMCurrentControlSetServicesSharedAccessParameters ) aktualisiert. Dies ist die IP -Adresse, die für den Drahtguard -Adapter bei der Verwendung der Internet -Sharing -Funktion (hier erläutert) verwendet wird. Daher dient die Adresseigenschaft der Serverkonfiguration dazu, die zulässigen Adressen für Clients sowie die IP zu bestimmen, die Windows dem Drahtguard -Adapter bei der Durchführung der Internetfreigabe zuordnet. Beachten Sie, dass die IP -Adresse zum Zeitpunkt der ersten Ausführung von der ScopeAddress von der Scopeaddress abgeholt wird. Dies bedeutet, dass die IP -Adresse des Servers in der Konfiguration (und somit der Wert von ScopeAddress -Registrierung aktualisiert wird), die Drahtguard -Schnittstelle nicht mehr genau die gewünschte Server -IP widerspiegelt. Daher wird WS4W dazu veranlassen, das Internet neu zu stützen. Bei der Absage wird die Internetfreigabe deaktiviert und muss manuell neu aktiviert werden.
Wichtig : Sie müssen die Portweiterleitung in Ihrem Router konfigurieren. Leiten Sie den gesamten UDP -Datenverkehr weiter, der für Ihren Server -Endpoint -Port (Standard
51820) an die LAN -IP Ihres Servers bestimmt ist. Jeder Router ist anders, daher ist es schwierig, hier spezifische Anleitung zu geben. Hier ist, wie die Portweiterleiterregel auf einem Verizon Quantum Gateway -Router aussehen würde.
Sie sollten die Endpoint -Eigenschaft auf Ihre öffentliche IPv4-, IPv6- oder Domänenadresse einstellen, gefolgt von jedem Port, den Sie weitergeleitet haben. Die Schaltfläche Detect Public IP Address Sie, um Ihre öffentliche Adresse automatisch mit der ipify.org -API zu erkennen. Wenn möglich, wird empfohlen, einen Domänennamen mit DDNs zu verwenden. Wenn sich Ihre öffentliche IP -Adresse ändert, können Ihre Kunden Ihren Serverendpunkt ohne Neukonfiguration finden.

Hier können Sie die Clients konfigurieren. Die Adresse kann manuell oder basierend auf dem Netzwerkbereich des Servers berechnet werden. Wenn das Netzwerk des Servers beispielsweise 10.253.0.0/24 ist, kann die Client -Konfiguration feststellen, dass 10.253.0.2 eine gültige Adresse ist. Beachten Sie, dass die erste Adresse im Bereich (in diesem Beispiel 10.253.0.1 ) für den Server reserviert ist. DNS ist optional, aber empfohlen. Sie können DNS -Suchdomänen hinzufügen (auch als DNS -Suffixe bekannt, lesen Sie mehr). Zuletzt werden der private Schlüssel, der öffentliche Schlüssel und der Preshared -Schlüssel unter Verwendung von wg genkey , wg pubkey [private key] und wg genpsk generiert. (Sie können Ihren eigenen privaten Schlüssel angeben. Preshared-Tasten sind optional, einzigartig pro Klient generiert und mit der Konfiguration des Servers geteilt. Weitere Informationen finden Sie in #34.)
Wenn Sie einen Client -Preshared -Schlüssel entfernen und die Serverkonfiguration synchronisieren würden, erwarten Sie, dass der Client eine Verbindung mit einem PSK verbindet. Daher erlaubt WS4W Sie nicht, das vorgefertigte Schlüsselfeld von den Kunden zu entfernen. Löschen und neu erstellen Sie stattdessen einen Kunden, um die PSK zu entfernen.
Nach der Konfiguration ist es einfach, die Konfiguration über QR -Code oder durch Exportieren der .conf -Datei in Ihre Client -App der Wahl zu importieren.

Für die Sicherheit möchten Sie die privaten Schlüssel der Kunden möglicherweise nicht auf dem Server halten. In diesem Fall können Sie das Feld Private Schlüssel löschen, bevor Sie eine Client -Konfiguration speichern. Es gibt jedoch zwei Dinge zu beachten.
Sobald der Server und die Clients konfiguriert sind, können Sie den Tunnel -Dienst installieren, der eine neue Netzwerkschnittstelle für Drahtguard über den Befehl wireguard /installtunnelservice erstellt. Nach der Installation kann der Tunnel auch direkt innerhalb von WS4W entfernt werden. Dies verwendet den Befehl wireguard /uninstalltunnelservice .
Nach Abschluss dieses Schritts sollten Drahtguard -Clients in der Lage sein, einen erfolgreichen Handschlag mit dem Server durchzuführen.
Hinweis: Wenn die Serverkonfiguration nach der Installation des Tunneldienstes bearbeitet wird, wird der Tunneldienst automatisch über den Befehl
wg syncconfaktualisiert (falls die neu gespeicherte Serverkonfiguration gültig ist). Dies gilt auch für die Client -Konfigurationen, Aktualisierungen, zu denen häufig die Serverkonfiguration aktualisiert wird (z. B. wenn ein neuer Client hinzugefügt wird, muss die Serverkonfiguration dieses neuen Peer bekannt sein).
Auch nachdem der Tunnelservice installiert ist, können einige Protokolle blockiert werden. Es wird empfohlen, das Netzwerkprofil in Private zu ändern, was Windows -Beschränkungen im Netzwerk erleichtert.
In diesem Schritt wird auch eine Windows -Aufgabe erstellt, um das Netzwerk automatisch im BOOT privat zu erstellen. Sie können die Aufgabe über die Dropdown -Down -Art deaktivieren.
Hinweis : Auf einem System, in dem die gemeinsame Internetverbindung aus einem Domänennetzwerk stammt, ist dieser Schritt nicht erforderlich, da die Drahtguard -Schnittstellen das Profil des gemeinsam genutzten Domänennetzwerks aufnehmen.
Der letzte Schritt besteht darin, zu ermöglichen, dass Anforderungen über die Drahtguard -Schnittstelle in Ihr privates Netzwerk oder das Internet weitergeleitet werden. Dazu muss die Verbindung des "Real" -Netzwerkadapters auf dem Windows -Computer mit dem Virtual WireGuard -Adapter gemeinsam genutzt werden. Dies kann auf zwei Arten erfolgen.
Die erste Option ist nur in einigen Systemen verfügbar (siehe weiter unten). Die zweiten Optionen können bei Bedarf verwendet werden, haben jedoch einige Vorbehalte (z. B. wenn die Internetverbindung mit dem WireGuard -Adapter geteilt wird, kann sie nicht mit einem anderen Adapter geteilt werden; siehe #18). Es wurden auch mehrere Probleme mit der Internetfreigabe gemeldet, sodass das NAT -Routing verwendet werden sollte, falls verfügbar.
Diese Optionen schließen sich gegenseitig aus.
Hier können Sie eine NAT -Routing -Regel auf der Drahtguard -Schnittstelle erstellen, damit sie mit Ihrem privaten/öffentlichen Netzwerk interagieren können. Insbesondere werden die folgenden Befehle aufgerufen.
New-NetIPAddress wird auf dem Drahtguard-Adapter aufgerufen, um eine statische IP im Bereich der Adresseigenschaft der Serverkonfiguration zuzuweisen.New-NetNat ist aufgerufen, eine neue NAT-Regel für den Drahtguard-Adapter zu erstellen.New-NetIPAddress auf dem Boot aufzurufen.Das NAT -Routing erfordert mindestens Windows 10, und die Option, um es zu aktivieren, wird nicht einmal in der Anwendung in älteren Windows -Versionen angezeigt. Selbst mit Windows 10 funktioniert das NAT -Routing nicht immer. Manchmal erfordert es, dass Hyper-V aktiviert wird, für die die Anwendung fordert, aber dies erfordert auch eine Profi- oder höhere (dh keine Heim-) Version von Windows. Wenn die Anwendung das NAT -Routing nicht aktivieren kann, empfiehlt sie letztendlich, stattdessen (unten) die Freigabe von Internetverbindungen zu nutzen. Eine vollständige Diskussion über NAT Routing -Unterstützung finden Sie #30.

Wenn NAT -Routing nicht verfügbar ist, können Sie die Internetfreigabe verwenden, um die Netzwerkverbindung zur Drahtguard -Schnittstelle bereitzustellen. Bei der Konfiguration dieser Option können Sie eines Ihrer Netzwerkadapter zum Freigeben auswählen. Beachten Sie, dass es wahrscheinlich nur für Adapter funktioniert, deren Status Connected ist, und es wird nur für Adapter nützlich sein, die Internet- oder LAN -Zugriff bieten. Bewegen Sie bei der Auswahl des Adapters den Menüelement, um weitere Details zu erhalten, einschließlich der zugewiesenen IP -Adresse des Adapters, um festzustellen, ob es sich um die teilen möchten.
HINWEIS: Bei der Durchführung der Internetfreigabe erhält dem Drahtguard -Adapter ein IP aus dem
ScopeAddress-Registrierungswert (unterHKLMSYSTEMCurrentControlSetServicesSharedAccessParameters). Dieser Wert wird automatisch festgelegt, wenn die Adresseigenschaft der Serverkonfiguration aktualisiert wird. Weitere Informationen finden Sie hier.
Es gibt Probleme in Windows, die dazu führen, dass die Freigabe des Internets nach einem Neustart deaktiviert wird. Wenn der Drahtguard -Server unbeaufsichtigt bleibt, wird empfohlen, eine anhaltende Internet -Freigabe zu ermöglichen, damit nach dem Neustart keine Interaktion erforderlich ist.
Bei der Aktivierung dieser Funktion werden zwei Aktionen in Windows durchgeführt:
Internet Connection Sharing -Service wird von Manual zu Automatic geändert.EnableRebootPersistConnection -Wertes in HKLMSoftwareMicrosoftWindowsCurrentVersionSharedAccess wird auf 1 gesetzt (er wird erstellt, wenn nicht gefunden).Selbst mit diesen Problemumgehungen kann die Internetfreigabe nach einem Neustart deaktiviert werden. Daher wird eine weitere Aktion ausgeführt. Es wird eine geplante Aufgabe erstellt, die die Internetfreigabe mithilfe des WS4W CLI beim Systemstart deaktiviert und wiedergibt. Dies sollte ausreichen, um zu garantieren, dass die Freigabe aktiviert bleibt.

Sobald der Tunnel installiert ist, kann der Status der Drahtguard -Schnittstelle angezeigt werden. Dies wird über den wg show -Befehl erreicht. Es wird ständig aktualisiert, solange Update Live überprüft wird.
Startaufgabenverzögerung festlegen
Diese Einstellung ermöglicht das Konfigurieren einer Verzögerung für Startaufgaben. Dies kann für Aufgaben nützlich sein, die von Adaptern abhängen, die langsam geladen sind. Beachten Sie, dass die Aufgaben deaktiviert und nach Änderung dieses Wertes wieder aufgenommen werden müssen.

Der tragbare Download namens ws4w.exe enthält auch eine CLI, die von einem Terminal aus einem Skript aufgerufen oder aus einem Skript aufgerufen werden kann. Zusätzlich zu Nachrichten, die an Standard Out geschrieben wurden, setzt die CLI auch den Exit -Code basierend auf dem Erfolg der Ausführung des angegebenen Befehls. In PowerShell kann der Exit -Code beispielsweise mit echo $lastexitcode gedruckt werden.
Hinweis : Die CLI muss auch aus den gleichen Gründen wie oben als Administrator ausgeführt werden.
Die CLI verwendet Verben oder Befehle auf der obersten Ebene, von denen jede ihre eigenen Optionen hat. Sie können ws4w.exe --help für eine Liste aller Verben oder ws4w.exe verb --help ausführen, um die Liste der Optionen für ein bestimmtes Verb zu sehen.
ws4w.exe restartinternetsharing [--network <NETWORK_TO_SHARE>]--network kann übergeben werden, um anzugeben, welches Netzwerk WS4W teilen soll.--network wird übergeben).--network zur Angabe übergeben werden muss.--network übergeben werden, andernfalls gibt es keine Möglichkeit zu wissen, welches Netzwerk Sie teilen sollen.Dieser Befehl wird von der geplanten Aufgabe verwendet, die erstellt wird, wenn die anhaltende Internetfreigabe aktiviert ist.
ws4w.exe setpathPATH des Systems hinzugefügt wird.Dieser Befehl wird vom Installationsprogramm verwendet, wenn die Option "CLI zum Pfad hinzufügen" ausgewählt ist.
ws4w.exe setnetipaddress --serverdatapath <PATH_TO_SERVER_CONFIG>Set-NetIPAddressDieser Befehl wird von der geplanten Aufgabe verwendet, die erstellt wird, wenn das NAT -Routing aktiviert ist.
ws4w.exe privatenetworkDieser Befehl wird von der Windows -Aufgabe verwendet, die erstellt wird, wenn das private Netzwerk aktiviert ist.
Erstens wird empfohlen, NAT Routing zu verwenden, falls verfügbar.
Wenn Sie jedoch bei der Aktivierung der Internetfreigabe die folgende Fehlermeldung erleben, führen Sie bitte die folgenden manuellen Schritte aus.

wg_server .Hinweis: Dieses Problem wird häufig nach dem Erstellen eines neuen virtuellen Schalters für eine VM ausgelöst. Die manuelle Problemumgehung sollte erst einmal benötigt werden und wirkt sich nicht auf den virtuellen Schalter aus.
WS4W wurde getestet und ist dafür bekannt, auf Windows Server (2012 R2 und Neuer) und Windows Desktop (10 und neuer) zu arbeiten.
WireGuard ist eine eingetragene Marke von Jason A. Donenfeld.
Ikone von Freepik von www.flaticon.com.