So konfigurieren Sie WireGuard VPN Server in pfSense

WireGuard VPN-Server in pfSense

WireGuard VPN ist ein neues robustes und sehr schnelles Protokoll zum Erstellen virtueller privater Netzwerke. In diesem Artikel haben wir gesehen, wie es die Geschwindigkeit von OpenVPN oder IPsec verdoppeln und sogar verdreifachen kann. Dieses neue VPN-Protokoll ist ideal für RAS-Konfigurationen mit mobilen Clients, sei es Smartphones, Tablets oder Laptops, da es nur sehr wenige Ressourcen verbraucht und die Verbindung sehr schnell ist. Das pfSense-Betriebssystem in Version 2.5.0 hat dieses neue VPN zusammen mit IPsec, L2TP und auch OpenVPN offiziell integriert. Heute zeigen wir Ihnen, wie Sie das WireGuard VPN in pfSense 2.5.0 von Grund auf neu konfigurieren, um eine Remoteverbindung herzustellen.

WireGuard VPN-Funktionen

WireGuard-VPN ist eine sehr leichte Software, mit der wir schnell und einfach einen VPN-Tunnel konfigurieren können. Standardmäßig verwendet sie die modernste Kryptografie, ohne dass verschiedene asymmetrische, asymmetrische oder Hash-Verschlüsselungsalgorithmen ausgewählt werden müssen. Standardmäßig haben wir einen sicheren Suite standardmäßig, im Gegensatz zu anderen VPN-Protokollen. Das Ziel von WireGuard ist es, zu werden das beste VPN sowohl für Privatanwender als auch für Geschäftsanwender, und es ist erfolgreich, weil es bereits in die integriert wurde Linux Kernel, um uns die bestmögliche Leistung zu bieten.

In Bezug auf die verwendete Kryptographie haben wir ChaCha20 für symmetrische Verschlüsselung, authentifiziert mit Poly1305 Also haben wir AEAD. Es macht auch Gebrauch von Curve25519 für ECDH, BLAKE2 für haschen, SIPHash24 für Hashtable-Schlüssel und HKDF zur Schlüsselableitung. Wie Sie gesehen haben, verfügen wir über die modernsten kryptografischen Algorithmen, die standardmäßig verwendet werden, und wir können sie derzeit nicht für andere ändern. Dies müssen diese Ja oder Ja sein.

Mit diesem neuen VPN müssen wir weder die Verbindungen verwalten noch schwierige Konfigurationen vornehmen. Es funktioniert nur im Tunnelmodus, da es sich um ein L3-VPN handelt, das UDP-Protokoll als Transportschicht verwendet und die Auswahl von TCP nicht zulässt Ändern Sie den Listen-Port für jeden, den wir wollen. Natürlich kann sich der WireGuard-Server problemlos hinter dem NAT befinden, es müsste lediglich eine Portweiterleitung durchgeführt werden. Weitere interessante Funktionen sind, dass das Roaming zwischen Netzwerken schnell und einfach möglich ist und immer von jedem verbunden werden kann W-Lan oder 4G / LTE-Netzwerk ohne Unterbrechung der Verbindung. Darüber hinaus können wir den Kill-Switch aktivieren, um Datenlecks zu verhindern, wenn das VPN ausfällt.

Schließlich ist dieses neue VPN mit mehreren Betriebssystemen wie kompatibel Windows, Linux, MacOS, FreeBSD, Android, und auch iOS . Jetzt hat das pfSense 2.5.0-Entwicklungsteam WireGuard standardmäßig in sein System integriert, obwohl wir es zuvor auch installieren konnten, aber keinen offiziellen Support hatten.

WireGuard VPN Server Konfiguration

Vor der Veröffentlichung von pfSense 2.5.0, wenn wir WireGuard auf diesem vollständig haben wollten FirewallWir mussten es manuell auf dem System installieren, indem wir einige FreeBSD-kompatible Pakete heruntergeladen haben. Dank des pfSense-Entwicklungsteams ist es ab Version 2.5.0 bereits standardmäßig in die grafische Benutzeroberfläche integriert.

Das erste, was wir tun müssen, ist zum “ VPN/WireGuard Abschnitt, um die Konfiguration dieses neuen VPN-Protokolls einzugeben. Sobald wir das Menü betreten, klicken wir auf «Tunnel hinzufügen».

In der Tunnelkonfiguration müssen wir den Tunnel aktivieren, ihm eine Beschreibung geben und Folgendes eingeben:

  • Adresse: IPv4- oder IPv6-Adresse des VPN-Servers für die Tunnelschnittstelle.
  • Port: Standardmäßig ist es 51820 UDP, aber wir können zu jedem UDP-Port wechseln.

pfSense enthält mit WireGuard einen öffentlichen / privaten Schlüsselgenerator für den VPN-Server. Wir empfehlen, dass Sie einige Schlüssel für den VPN-Client generieren und dass wir erneut auf "Generieren" klicken, damit die zweiten, die generiert werden, die des VPN sind Server. Die folgenden Schlüssel werden beispielsweise später im VPN-Client verwendet. Sie können sich mit einem Editor oder Notepad ++ helfen, die Konfiguration aufzuzeichnen.

Um die Konfiguration von WireGuard mit öffentlichen und privaten Schlüsseln zu vereinfachen, können Sie auch die verwenden Wireguardconfig-Tool Dadurch können wir automatisch sowohl den Server als auch die Clients generieren und später an pfSense anpassen.

Und die zweiten, die generiert werden, sind die des VPN-Servers selbst mit WireGuard.

Sobald wir die Schlüssel haben, müssen wir auf "Speichern" klicken und wir haben den VPN-Server mit der vorherigen Konfiguration erstellt:

Sobald wir es haben, müssen wir jetzt die "Peers", dh die VPN-Clients, registrieren. Wir kehren zur WireGuard-Serverkonfiguration zurück und klicken auf „Peer hinzufügen“ (grün). Hier müssen wir einige Einstellungen vornehmen, aber es ist nicht notwendig, alle zu füllen.

Jetzt werden wir erklären, wofür jede der Optionen ist:

  • Beschreibung: Wir geben diesem Kunden eine Beschreibung, zum Beispiel unseren Namen.
  • Endpunkt: Wir geben die öffentliche IP-Adresse des VPN-Clients an.
  • Endpunkt-Port: Wir setzen den Port des VPN-Clients.

Wenn Sie einen VPN-Client konfigurieren möchten, bei dem sich die öffentliche IP-Adresse und der Port des Clients ändern, dann Wir müssen die Optionen "Endpoint" und "Endpoint Port" leer lassen . Diese Optionen müssen ausgefüllt werden, wenn ein Site-to-Site-VPN konfiguriert werden soll. Beim Remotezugriff (Roadwarrior) müssen sie jedoch nicht ausgefüllt werden.

  • Am Leben bleiben: Ein Wert in Sekunden, der von Zeit zu Zeit überprüft, ob der Tunnel noch aktiv ist. Standardmäßig ist er deaktiviert.

Nun kommen die wichtigsten Einstellungen:

  • Öffentlicher Schlüssel: Wir müssen den öffentlichen Schlüssel des VPN-Clients eingeben. Zuvor haben Sie gesehen, wie er für den Client generiert wird, da hier der öffentliche Schlüssel abgelegt wird.
  • Zulässige IPs: Wenn Internetumleitung und Zugriff auf alle Netzwerke erfolgen sollen, setzen wir 0.0.0.0/0. Das Normalste ist, dass RAS-VPN-Clients über das VPN selbst ins Internet gehen. Hier können wir jedoch den spezifischen Zugriff auf verschiedene Netzwerke konfigurieren.
  • Peer WireGuard Address: Die IP-Adresse des registrierten Peers.
  • Pre-Shared Key: Optional können Sie einen Pre-Shared Key hinzufügen, um die Sicherheit weiter zu verbessern.

In unserem Fall haben wir keinen vorinstallierten Schlüssel eingegeben, aber wenn Sie ihn sowohl im pfSense- als auch im VPN-Client eingeben, muss er genau gleich sein, und wir müssen diesen Schlüssel mit der blauen Schaltfläche generieren, die im pfSense. Wir können den vorinstallierten Schlüssel nicht "12345678" setzen, wir müssen zum Beispiel den pfSense-Generator verwenden.

Sobald wir den WireGuard VPN-Server in pfSense 2.5.0 korrekt konfiguriert haben, werden wir den Firewall-Teil konfigurieren, da er sich standardmäßig immer im Block-Alles-Modus befindet.

Firewall-Konfiguration unter WAN und WireGuard

Bevor wir den ersten VPN-Client verbinden, müssen wir zu „Firewall / Regeln“ gehen und eine neue Regel auf der Internet-WAN-Schnittstelle hinzufügen. Wir fügen eine neue Regel mit folgenden Informationen hinzu:

  • Aktion: Bestehen
  • Schnittstelle: WAN
  • Adressfamilie: IPv4, IPv6 oder beides
  • Protokoll: UDP
  • Quelle: any (Wenn Sie mit WireGuard eine Site-to-Site einrichten möchten, können Sie die öffentliche Quell-IP hier einfügen, um die Sicherheit zu verbessern.)
  • Ziel: WAN-Adresse an Port 51820

Nach der Konfiguration klicken wir auf «Speichern», um diese Regel zu speichern und Änderungen zu übernehmen, wie immer, wenn wir der Firewall eine neue Regel hinzufügen.

Sobald dies erledigt ist, müssen wir jetzt zum gehen Schnittstelle «WireGuard» das wurde automatisch im «erstellt Firewall / Regeln «Abschnitt, hier müssen wir die gesamte Kommunikation zulassen, sobald sie verbunden wurde, oder nur das, was wir wollen, genau wie OpenVPN oder IPsec.

In der folgenden Konfiguration sehen Sie, dass wir eine Regel mit der folgenden Konfiguration haben:

  • Aktion: Bestehen
  • Schnittstelle: WireGuard
  • Adressfamilie: IPv4, IPv6 oder beides
  • Protokoll: Beliebig
  • Quelle: beliebig
  • Ziel: beliebig

Wir klicken auf "Speichern" und übernehmen die Änderungen wie gewohnt. An diesem Punkt können wir die VPN-Clients mit WireGuard konfigurieren.

Konfigurieren Sie WireGuard VPN-Clients und stellen Sie eine Verbindung zu pfSense her

Die Konfiguration der VPN-Clients mit WireGuard ist auf allen Plattformen gleich, wir benötigen genau die gleichen Informationen. In unserem Fall haben wir ein Android-Smartphone verwendet. Sie können die offizielle WireGuard-App für Android und iOS unten herunterladen:

Wir haben es aber auch für andere Betriebssysteme wie Windows direkt von der offiziellen Website dieses VPN-Protokolls. Sobald wir es installiert haben, können wir den Client einfach konfigurieren.

Wie bereits erwähnt, empfehlen wir, dass Sie beim Generieren der Schlüssel in pfSense diese Schlüssel in einen Notizblock kopieren, sowohl den öffentlichen als auch den privaten Schlüssel. Außerdem müssen Sie den öffentlichen Schlüssel des Servers kopieren. Sobald dies erledigt ist, öffnen wir WireGuard und fügen einen neuen VPN-Tunnel hinzu. Wir haben drei Möglichkeiten:

  • Importieren Sie die gesamte Konfiguration aus einer Datei. Wenn Sie mehrere Clients wie Windows, Linux usw. konfigurieren möchten, ist es normal, eine Vorlage mit den verschiedenen Konfigurationen zu haben.
  • Scannen vom QR-Code: Wenn wir das WireGuardConfig-Tool verwenden, können wir dies problemlos tun.
  • Von Grund auf neu erstellen: Dies ist die Option, die wir ausgewählt haben.

Wenn wir ein neues VPN hinzufügen, müssen wir alle oder fast alle Informationen eingeben, die uns gefragt werden. Es ist der VPN-Client:

  • Name: Wir werden dem VPN-Tunnel eine Beschreibung hinzufügen, einen beschreibenden Namen, falls wir mehrere haben.
  • Privater Schlüssel: Wir legen den privaten Schlüssel, den wir zuvor aus dem Notizblock kopiert haben, ab.
  • Öffentlicher Schlüssel: Bei Eingabe des privaten Schlüssels wird dieser automatisch generiert
  • Adressen: IPv4 oder IPv6 des Clients. In diesem Fall haben wir zuvor 10.9.0.2/32 konfiguriert.
  • Port: Wir lassen es leer
  • DNS-Server: Wir können einen bestimmten DNS-Server einrichten oder direkt den Tunnel auflösen.
  • MTU: Wir lassen es leer.

Jetzt klicken wir auf Paar hinzufügen und es werden weitere Konfigurationen angezeigt. Diese Konfigurationen sind die des VPN-Servers.

  • Peers - Der öffentliche Schlüssel des VPN-Servers.
  • Pre-Shared Key: Wenn wir nicht konfiguriert haben, lassen wir ihn leer. Wenn wir konfiguriert haben, kopieren wir ihn genau gleich.
  • Dauerhafte Wartung: Halten Sie am Leben. Es wird empfohlen, das Feld leer zu lassen.
  • Letzter Punkt: Wir müssen die Syntax "IP: port" eingeben, daher können wir Folgendes eingeben: "vpn.redeszone.net:51820".
  • Zulässige IPs: Wenn wir alle setzen wollen, setzen wir 0.0.0.0/0. Wir haben auch eine Schaltfläche zum Ausschließen privater IPs.

Sobald wir dies getan haben, klicken wir auf Speichern und wir können alle vorgenommenen Einstellungen sehen.

Sobald wir hinzugefügt und überprüft haben, dass alles korrekt ist, stellen wir die Verbindung her und stellen fest, dass ein Datenverkehr stattfindet und das VPN einwandfrei funktioniert.

Wenn wir keine Pakete empfangen haben, bedeutet dies, dass etwas nicht stimmt und der WireGuard VPN-Tunnel nicht korrekt eingerichtet wurde. In diesem Fall müssen Sie die gesamte vorgenommene Konfiguration und die pfSense-Protokolle überprüfen, um festzustellen, was passiert.

Wir hoffen, dass Sie mit diesem Tutorial den WireGuard VPN-Server in Ihrem großartigen pfSense 2.5.0 konfigurieren konnten