KKeine Bearbeitungszusammenfassung |
(Weiterleitung nach UTM/VPN/WireGuard-S2E v12.5.1 erstellt) Markierung: Neue Weiterleitung |
||
Zeile 1: | Zeile 1: | ||
#WEITERLEITUNG [[UTM/VPN/WireGuard-S2E_v12.5.1]]Preview1260 | |||
{{Set_lang}} | {{Set_lang}} | ||
Zeile 15: | Zeile 16: | ||
|- | |- | ||
| colspan="3"| {{#var:Client-Konfig--desc}}<li class="list--element__alert list--element__hint">{{#var:Client-Konfig--Hinweis}}</li> | | colspan="3"| {{#var:Client-Konfig--desc}}<li class="list--element__alert list--element__hint">{{#var:Client-Konfig--Hinweis}}</li> | ||
| class="Bild" rowspan=" | | class="Bild" rowspan="16" | {{Bild | {{#var:Client-Konfig--Bild}}|{{#var:Client-Konfig--cap}} {{Einblenden|{{#var:Vorlage einer Konfigurationsdatei zum kopieren}}|{{#var:hide}}|true|bigdezent}} | ||
{{Einblenden|{{#var:Vorlage einer Konfigurationsdatei zum kopieren}}|{{#var:hide}}|true|bigdezent}} | {{code|1=[Interface] | ||
{{code|1=[Interface] | PrivateKey = # ''PrivatKey für RW'' | ||
PrivateKey = # ''PrivatKey für RW'' | Address = # ''Netz-IP für den Roadwarrior'' | ||
Address = # ''Netz-IP für den Roadwarrior'' | DNS = # ''IP_DES_DNServers (optional)'', # ''Search Domain (optional)'' | ||
DNS = # ''IP_DES_DNServers (optional)'', # ''Search Domain (optional)'' | MTU = 1420 # ''(optional)''<br> | ||
MTU = 1420 # ''(optional)'' | [Peer] | ||
[Peer] | PublicKey = # ''PublicKey derUTM'' | ||
PublicKey = # ''PublicKey derUTM'' | PresharedKey = # ''PresharedKey'' | ||
PresharedKey = # ''PresharedKey'' | AllowedIPs = # ''{{#var:Client-AllowedIPs--desc}}'' | ||
AllowedIPs = # ''{{#var:Client-AllowedIPs--desc}}'' | Endpoint = # ''{{#var:Endpoint--desc}}'' | ||
Endpoint = # ''{{#var:Endpoint--desc}}'' | |||
persistentkeepalive = # ''(optional)'' | persistentkeepalive = # ''(optional)'' | ||
|class=inline-block}} | |class=inline-block}} | ||
</div></span> | </div></span> }}<br> | ||
|- | |- | ||
| {{b|{{#var:Name}} }} || {{ic| {{#var:Name--val}} }} || {{#var:Name--desc}} | | {{b|{{#var:Name}} }} || {{ic| {{#var:Name--val}} }} || {{#var:Name--desc}} | ||
|- | |- | ||
| {{b|{{#var:Öffentlicher Schlüssel}} }} || {{ic| | | {{b|{{#var:Öffentlicher Schlüssel}} }} || {{ic|sFWO… …LmDM<nowiki>=</nowiki>|class=available}} || {{#var:Client--Öffentlicher Schlüssel--desc}} | ||
|- class=" | |- class="noborder" | ||
| colspan="3" | '''{{#var:Konfigurationsfenster}}'''<br>{{c|[Interface]|#24799a;|fw=bold}} | | colspan="3" | '''{{#var:Konfigurationsfenster}}'''<br>{{c|[Interface]|#24799a;|fw=bold}} | ||
|- | |- | ||
| {{c|PrivateKey =| | | {{c|PrivateKey =|pink|fw=bold}} || {{ic|uIp… …9E3XA<nowiki>=</nowiki>|class=available}} || {{#var:Client-PrivateKey--desc}}<li class="list--element__alert list--element__hint">{{#var:Client-PrivateKey--Hinweis}}</li> | ||
|- | |||
| {{c|Address =|pink|fw=bold}} || {{ic|{{c|10.0.1.201|blau}}/32|class=available}} || {{#var:Client-Address--desc}} | |||
|- | |||
| {{c|DNS =|pink|fw=bold}} || {{ic|{{c|10.0.1.1, beispiel.local|blau}}|class=available}} || {{#var:Client-DNS--desc}} | |||
|- | |||
| {{c|MTU =|pink|fw=bold}} || {{ic|{{c|1420|blau}}|class=available}} || {{#var:Client-MTU--desc}} | |||
|- | |- | ||
| {{c| | | {{c|ListenPort =|pink|fw=bold}} || {{ic|{{c|51820|blau}}|class=available}} || {{#var:Client-ListenPort--desc}} | ||
|- class=" | |- class="noborder" | ||
| colspan="3" | {{c|[Peer]|#24799a;|fw=bold}} || | | colspan="3" | {{c|[Peer]|#24799a;|fw=bold}} || | ||
|- | |- | ||
| {{c|PublicKey =| | | {{c|PublicKey =|pink|fw=bold}} || {{ic|beN9ikz… …Do<nowiki>=</nowiki>|class=available}} || {{#var:Client-PublicKey--desc}} | ||
|- | |- | ||
| {{c|PresharedKey =| | | {{c|PresharedKey =|pink|fw=bold}} || {{ic|29… …/Wipaxs<nowiki>=</nowiki>|class=available}} || {{#var:Client-PresharedKey--desc}} | ||
|- | |- | ||
| {{c|AllowedIPs =| | | {{c|AllowedIPs =|pink|fw=bold}} || {{ic|{{c|10.1.0.0|blau}}/16|class=available}} || {{#var:Client-AllowedIPs--desc}} | ||
|- | |- | ||
| {{c|Endpoint =| | | {{c|Endpoint =|pink|fw=bold}} || {{ic|{{c|a.vpn.anyideas.de|blau}}:51820|class=available}} || {{#var:Endpoint--desc}} | ||
|- | |- | ||
| {{c|persistentkeepalive =| | | {{c|persistentkeepalive =|pink|fw=bold}} || {{ic|{{c|25|blau}}|class=available}} || Keepalive | ||
|- class="Leerzeile" | |- class="Leerzeile" | ||
| | | | ||
|} | |} | ||
</div> | |||
---- | ---- | ||
Version vom 10. Januar 2024, 11:34 Uhr
Weiterleitung nach:
Preview1260
- Neue Option als Peer: Lokaler Benutzer
- Hinweis, daß der PSK auf beiden Seiten identisch sein muss hervorgehoben 05.2024
- Neue Funktion zum Absichern der genutzten Ports: Connection Rate Limit
- Aktualisierung zum Redesign des Webinterfaces (v12.6.0)
- Import bestehender Konfigurationen im Assistenten für Standort A wie Standort B (v12.6.0)
- Der Endpunkt Port im Einrichtungsschritt 2 ist manuell für Standort A und Standort B einstellbar (v12.6.0)
- AD-Benutzer als Peer bei Standort A und Standort B auswählbar (v12.6.0)
- Hinweis hinzugefügt, dass bei einer Fritz!Box in der Konfiguration NetBIOS aktiviert werden muss (v12.6.0)
- 05.2024
notempty
Schlüsselmanagement
Beim Anlegen einer WireGuard-Verbindung existieren mehrere Möglichkeiten um die notwendigen Schlüsselwerte zu erzeugen und diese zu verwalten. Jede dieser Optionen hat ihre Vor- und Nachteile.
Bei zwei Optionen wird der benötigte private, bzw. öffentliche Schlüsselwert direkt im Einrichtungsassistenten der WireGuard-Verbindung angelegt.
Bei der dritten Option werden vorhandene Schlüssel vom Typ x25519 benötigt. Zusätzliche Informationen gibt es im Wiki-Artikel Schlüssel.
WireGuard Verbindung erstellen
- Eine WireGuard Verbindung stellt den Zugang für ggf. mehrere Peers zur Verfügung
- Jede Verbindung wird mit einem eigenen Schlüsselpaar gesichert
- Alle Peers einer Verbindung verwenden dessen öffentlichen Schlüssel
- Jeder Peer benötigt ein eigenes Schlüsselpaar, um sich zu authentifizieren
Zusätzlich sollte jeder Peer mit einem starken PSK abgesichert werden
Gegeben sei folgende Konfiguration:
UTM Netzwerk | Standort B | Transfernetz | |
---|---|---|---|
FQDN | a.vpn.anyideas.de | b.vpn.anyideas.de | – |
Lokales Netz IPv4 | 10.1.0.0/16 | 10.2.0.0/16 | 10.0.1.0/24 |
Lokale Tunnel IPv4 | 10.0.1.1/24 | 10.0.1.2/24 | – |
Lokales Netz IPv6 | fd00:a:0:0::0/64 | fd00:b:0:0::0/64 | fd00:0:0:0::0/64 |
Lokale Tunnel IPv6 | fd00:0:0:0::1/64 | fd00:0:0:0::2/64 | – |
UTM | Roadwarrior | Transfernetz | |
---|---|---|---|
FQDN | a.vpn.anyideas.de | – | – |
Lokales Netz IPv4 | 10.1.0.0/16 | – | 10.0.1.0/24 |
Lokale Tunnel IPv4 | 10.0.1.1/24 | 10.0.1.201/24 | – |
Lokales Netz IPv6 | fd00:a:0:0::0/64 | – | fd00:0:0:0::0/64 |
Lokale Tunnel IPv6 | fd00:0:0:0::1/64 | fd00:0:0:0::C9/64 | – |
Konfiguration UTM
Assistenten starten mit der Schaltfläche Schritt 1 - Konfiguration importierenUTM Netzwerk Schritt 1 - Konfiguration importieren
| |||
Beschriftung | Wert | Beschreibung | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
---|---|---|---|
Datei: notempty Neu ab v12.6.0 |
Falls eine WireGuard-Server-Konfiguration schon existiert, kann die Server-Konfiguration als Datei hochgeladen werden. Die entsprechenden Einstellungen werden in den folgenden Schritten in den jeweiligen Elementen automatisch eingetragen. | ||
Konfiguration: notempty Neu ab v12.6.0 |
Falls eine WireGuard-Server-Konfiguration schon existiert, kann die Server-Konfiguration in dieses Konfigurationsfeld kopiert werden. Die entsprechenden Einstellungen werden in den folgenden Schritten in den jeweiligen Elementen automatisch eingetragen. [Interface] Address = 10.0.0.1/24 Address = C0FF::EEEE/64 ListenPort = 51824 PrivateKey = interfacePrivateKeyaaaaaaaaaaaaaaaaaaaaaaaa= [Peer] AllowedIPs = 10.0.0.2/32, 10.0.0.3/32 AllowedIPs = 10.0.0.4/32 Endpoint = 1.2.3.4:51825 PersistentKeepalive = 30 PresharedKey = peerPresharedKeyaaaaaaaaaaaaaaaaaaaaaaaaaaa= PublicKey = peerPublicKeyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa= | ||
Schritt 2 - SchnittstelleUTM Netzwerk Schritt 2 - Schnittstelle
| |||
Schnittstelle: | wg0 | Name der Schnittstelle, die für die Verbindung angelegt wird (automatische Vorgabe, kann nicht geändert werden) | |
Name: | wg_server | Eindeutiger Name für die Verbindung | |
IPv4 Adresse: | IPv4 Adresse für die Netzwerkschnittstelle des Transfernetzes an Standort A Dadurch wird die Netz-IP des Transfernetzes bestimmt (hier: 10.0.1.1/24) | ||
IPv6 Adresse: | IPv6 Adresse für die Netzwerkschnittstelle des Transfernetzes an Standort A (optional) Dadurch wird die Netz-IP des Transfernetzes bestimmt (hier: fd00:0:0:0::1/64) | ||
Listening Port: | 51820 | Default-Port für WireGuard Verbindungen | |
Privater Schlüssel: | |||
Ein privater Schlüsselwert wird automatisch generiert. | |||
Der Schlüsselwert wird direkt eingegeben. notempty Der Schlüsselwert kann aus Sicherheitsgründen später nicht mehr ausgelesen werden. notempty Wurde in Schritt 1 - Konfiguration importieren eine Datei importiert oder die Konfiguration eingegeben, so wird diese Option automatisch ausgewählt und der private Schlüsselwert aus der Konfigurationsdatei ausgelesen und hier eingetragen.
| |||
Anzeigen Verbergen |
Zeigt / Verbirgt den Schlüsselwert | ||
Generieren | Der Schlüsselwert wird generiert | ||
Privater Schlüssel im Format x25519. Es sind nur solche Schlüssel auswählbar, die auch über einen privaten Schlüsselteil verfügen. | |||
Schlüssel hinzufügen | Liegt noch kein lokaler Schlüssel im x25519-Format vor, kann mit dieser Schaltfläche ein solcher erzeugt werden. | ||
Servernetzwerke global freigeben: | Netzwerke auf (lokaler) Serverseite, auf die die WireGuard-Tunnel der Peers prinzipiell zugreifen können.notempty Für den tatsächlichen Zugriff werden zusätzlich Netzwerkobjekte und Portfilter-Regeln benötigt!
| ||
Schritt 3 - PeerUTM Netzwerk Schritt 3 - Peer
| |||
Peer-Typ: | Der Typ des Peers S2S-Verbindungen sollten immer mit dem Typ Peer eingerichtet werden Anleitung für Schritt 3 - Peer mit AD Anbindung
Anleitung für Schritt 3 - Peer mit lokalen Benutzern |
||
Name: | peer_rw | Bezeichnung der Gegenstelle | |
Peernetzwerke freigeben: | »10.0.1.201/32 »fd00:0:0:0::C9/128 | IP aus dem Transfer Netz (»…/32 bzw. »…128) Für den tatsächlichen Zugriff werden zusätzlich Netzwerkobjekte und Portfilter-Regeln benötigt!
| |
Endpunkt: | Wird nicht benötigt, da ausschließlich die Gegenstelle (der Roadwarrior) die Verbindung initiieren soll | ||
Endpunkt Port: |
|||
Öffentlicher Schlüssel: | |||
Öffentlicher Schlüsselwert der Gegenstelle. notempty Wurde in Schritt 1 - Konfiguration importieren eine Datei importiert oder die Konfiguration eingegeben, so wird diese Option automatisch ausgewählt und der private Schlüsselwert aus der Konfigurationsdatei ausgelesen und hier eingetragen.
| |||
Berechnet den Schlüsselwert aus dem eingegebenen privaten Schlüsselwert aus Schritt 2 - Schnittstelle notempty Der Schlüsselwert kann aus Sicherheitsgründen später nicht mehr ausgelesen werden.
| |||
Anzeigen Verbergen |
Zeigt / Verbirgt den Schlüsselwert | ||
Generieren | Der Schlüsselwert wird generiert | ||
In die Zwischenablage kopieren | Kopiert den Schlüsselwert in die Zwischenablage | ||
Öffentlicher Schlüssel des Roadwarriors im Format x25519 Es sind nur solche Schlüssel auswählbar, die über keinen privaten Schlüssel verfügen. Es lassen sich nur Schlüssel auswählen, für die auf diesem Interface noch keine Verbindung besteht. Der PublicKey muss innerhalb einer Verbindung eindeutig sein, da das Routing eingehender Pakete darüber durchgeführt wird. Soll für einen Peer der gleiche PublicKey z.B. für ein Fallback verwendet werden, muss dafür eine weitere WireGuard Verbindung angelegt werden. | |||
Schlüssel hinzufügen | Liegt der öffentliche Schlüssel des Roadwarriors noch nicht vor, kann mit dieser Schaltfläche der Import der Schlüsselverwaltung geöffnet werden. Export und Import der Schlüssel ist auch über die Zwischenablage möglich Wir empfehlen, das Schlüsselpaar für den Roadwarrior auf der UTM zu erstellen und anschließend sicher zu verwahren. Vorgehen:
| ||
Pre-Shared Key (optional): | ••••••••••••••••••••••••••• | Pre-Shared Key zur weiteren Absicherung der Verbindung | |
Anzeigen Verbergen |
Zeigt / Verbirgt den Schlüsselwert | ||
Generieren | Erzeugt einen sehr starken Pre-Shared Key notempty Der Pre-Shared Key muss an beiden Enden der VPN-Verbindung identisch sein! Er darf nur auf einer Seite generiert werden und muss dann auf der Gegenstelle eingefügt werden.
| ||
In die Zwischenablage kopieren | Kopiert den PSK in die Zwischenablage | ||
Keepalive: | Aus | Sendet regelmäßig ein Signal. Dadurch werden Verbindungen auf NAT-Routern offen gehalten. Ein Die Aktivierung wird empfohlen. | |
25 Sekunden | Abstand in Sekunden, in dem ein Signal gesendet wird | ||
UTM Netzwerk Schritt 3 - Peer
Neu ab v12.7.1
|
|||
Beschriftung | Wert | Beschreibung | |
---|---|---|---|
Peer-Typ: | Lokaler Benutzer als Peer | ||
Öffne Benutzerdialog: | Aus | Öffnet die Benutzereinstellungen nach beenden des Assistenten | |
Beendet den Assistenten | |||
Anschließend kann unter bearbeiten des gewünschten Users, WireGuard für diesen konfiguriert werden. Genauere Informationen sind hier zu finden. | Schaltfläche durch|||
Schritt 4 - Erweiterte EinstellungenUTM Netzwerk Schritt 4 - Erweiterte Einstellungen
| |||
Routen zu den Netzwerken des Peers erstellen: | Ja | Aktivierung Ja wird empfohlen. Es werden Routen zu den Netzwerken / Hosts erstellt, die in Schritt 3 unter Peernetzwerke freigeben eingetragen wurden, mit der Schnittstelle als Gateway, die in Schritt 2 angezeigt wurde. |
|
Ausgangslage Es kann gewünscht sein, die Routen für VPN-Verbindungen Nur für interne Prüfzwecke erst dann zu setzen, wenn die Verbindung wirklich steht.
CLI-Befehl Verbindung per SSH oder über Menü route set id <ID> flags BLACKHOLE_IF_OFFLINE :Z.B.: route set id "2" flags BLACKHOLE_IF_OFFLINE | |||
Zonen erstellen: | Ja | Erzeugt eine neue Zone für die WireGuard Schnittstelle | |
Zonenname: | wireguard-wg0 | Name für die Zone der WireGuard-Verbindung | |
Netzwerkobjekte für den Peer erstellen: | Ja »wg-net-peer_rw»wg-net6-peer_rw |
Erzeugt bei Aktivierung Ja Netzwerkobjekte (IPv4 und ggf. IPv6) für die Gegenstelle. Der automatische Vorschlag kann auch geändert werden. | |
Netzwerkgruppe: | wg0-network | Netzwerkgruppe der Verbindung wird angezeigt | |
Regeln zwischen dem Peer und internal-networks erstellen: | Nein | Erzeugt bei Aktivierung Ja autogenerierte Regeln, die die Inbetriebnahme erleichtern. notempty Diese Regeln müssen unbedingt durch eigene Regeln, die nur notwendige Dienste mit notwendigen Netzwerkobjekten erlauben, ersetzt werden. notemptyDiese eigenen Regeln müssen immer mit dem WireGuard-Interface und dem internen Netzwerk erstellt werden, auch wenn der WireGuard-Tunnel zu einem DMZ-Netzwerk führt.
| |
Beendet den Assistenten
| |||
Konfiguration RoadwarriorClient DownloadDownload des Clients unter https://www.wireguard.com/install Konfiguration des WireGuard ClientsWireGuard Client
| |||
Client öffnen und eine leeren Tunnel hinzufügen |
|||
Name: | wg-vpn-UTM_Netzwerk | Eindeutigen Namen vergeben. notempty Der Schlüsselname darf nicht den Namen einer (zukünftigen) Schnittstelle, wie wg0 oder wg1, besitzen.
| |
Öffentlicher Schlüssel: | sFWO… …LmDM= | ||
Konfigurationsfenster [Interface] | |||
PrivateKey = | uIp… …9E3XA= | Beim Anlegen eines leeren Tunnels wird automatisch ein PrivateKey vergeben Der PrivateKey kann auf der UTM im RAW-Format exportiert und anschließend hier eingetragen werden. | |
Address = | 10.0.1.201/32 | Tunnel-IP für den Roadwarrior | |
DNS = | 10.0.1.1, beispiel.local | Optional Server, über die der Client während einer bestehenden Verbindung Namen auflösen soll. Zusätzlich kann hier eine Search Domain eingetragen werden, damit Rechner anhand ihres Hostnamens ohne Angabe der FQDN gefunden werden können. Einträge werden durch ein Komma und Leerzeichen getrennt. | |
MTU = | 1420 | Optional Definiert die Größe eines Datenpaketes. Muss zwischen 1300 und 1500 sein. 1420 ist Default. | |
ListenPort = | 51820 | Optional Der Port auf dem Daten den Client erreichen. Wird ungesetzt vom Client dynamisch vergeben. Server- und Clientseitig kann derselbe Port verwendet werden (auch bei mehreren Clients). | |
[Peer] | |||
PublicKey = | beN9ikz… …Do= | PublicKey der UTM | |
PresharedKey = | 29… …/Wipaxs= | PresharedKey aus der UTM | |
AllowedIPs = | 10.1.0.0/16 | Lokale Netz-IPs hinter der UTM | |
Endpoint = | a.vpn.anyideas.de:51820 | IP/Hostname der UTM:Port der WG Instanz | |
persistentkeepalive = | 25 | Keepalive | |
Widget
Im Admininterface existiert ein Widget für die Übersicht der WireGuard-Verbindungen. Weitere Informationen sind im Wiki-Artikel UTM Widget zu finden.