K (Weiterleitung nach UTM/VPN/WireGuard-S2S v12.2.5 erstellt) Markierung: Neue Weiterleitung |
K (Weiterleitung auf UTM/VPN/WireGuard-S2S v12.2.5 entfernt) Markierung: Weiterleitung entfernt |
||
Zeile 1: | Zeile 1: | ||
# | {{Set_lang}} | ||
{{#vardefine:headerIcon|spicon-utm}} | |||
{{:UTM/VPN/WireGuard-Konfig.lang}} | |||
{{:UTM/VPN/WireGuard-S2S.lang}} | |||
</div>{{Select_lang}}{{:UTM/VPN/WireGuard-Konfig|S2S=true}} | |||
|- class="Leerzeile" | |||
| colspan="4" | {{h5|{{#var:Konfiguration an Standort B}}| '''{{#var:Konfiguration an Standort B}}'''}} | |||
{{#var:Assistenten starten--desc}} | |||
{{h6| 1={{#var:Schritt1}}| 2=<i class="host utm">{{#var:Standort B}}</i> {{#var:Schritt1}} }} | |||
|- | |||
| {{b|{{#var:Schnittstelle}} }} || {{ic| wg0 |bc=bc_readonly }} || {{#var:Schnittstelle--desc}} | |||
| class="Bild" rowspan="8" | {{Bild | {{#var:Schritt1 B--Bild}}|{{#var:Schritt1--cap}} }} | |||
|- | |||
| {{b|{{#var:Name}} }} || {{ic|{{#var:Name-Schritt1--val}} }} || {{#var:Name-Schritt1--desc}} | |||
|- | |||
| {{b|{{#var:IPv4 Adresse}} }} || {{ic|10.0.1.2/24}} || {{#var:IPv4 Adresse--Standort B--desc}} | |||
|- | |||
| {{b|{{#var:IPv6 Adresse}} }} || {{ic|fd00:0:0:0::2/64}} || {{#var:IPv6 Adresse--Standort B--desc}} | |||
|- | |||
| {{b|{{#var:Listening Port}} }} || {{ic|51820|c|class=mw5}} || {{#var:Listening Port--desc}} | |||
|- | |||
| rowspan="2" | {{b|{{#var:Privater Schlüssel}} }} || {{Button|x25519_a.vpn|dr|class=available}} || {{#var:Privater Schlüssel--desc}} | |||
|- | |||
| {{Button||mw}} || {{#var:Privater Schlüssel B--Hinweis}} | |||
|- class="Leerzeile" | |||
| | |||
|- class="Leerzeile" | |||
| colspan="3" | {{h6| 1={{#var:Schritt2}}| 2=<i class="host utm">{{#var:Standort B}}</i> {{#var:Schritt2}} }} | |||
|- | |||
| {{b|{{#var:AD Benutzer als Peers}} }} || {{ButtonAus|{{#var:nein}} }} || {{#var:AD Benutzer als Peers--desc}} | |||
| class="Bild" rowspan="11" | {{Bild | {{#var:Schritt2 B--Bild}}|{{#var:Schritt2--cap}} }} | |||
|- | |||
| {{b|{{#var:Name}} }} || {{ic|peer-a|class=available}} || {{#var:Schritt2 B--Name--desc}} | |||
|- | |||
| {{b|{{#var:Erlaubte IPs}} }} || {{ic| {{cb|10.1.0.0/16}}{{cb|fd00:a:0:0::/64}}|cb }} || <li class="list--element__alert list--element__hint">{{#var:Erlaubte IPs B--S2S--desc}}</li> | |||
|- | |||
| {{b|{{#var:Endpunkt}} }} || {{ic| a.vpn.anyideas.de|class=available}} || {{#var:Endpunkt B--desc}} <li class="list--element__alert list--element__hint">{{#var:Endpunkt B--Hinweis}}</li> | |||
|- | |||
| {{b|{{#var:Endpunkt Port}} }} {{Hinweis-box||gr|12.5.1|status=update}} || {{ic|51820|c}} || {{#var:Endpunkt Port B--desc}} | |||
|- | |||
| rowspan="2" | {{b|{{#var:Öffentlicher Schlüssel}} }} || {{Button|x25519_a_vpn|dr|class=available}} || {{#var:Öffentlicher Schlüssel B--desc}} | |||
|- | |||
| {{Button||mw}} || {{#var:Öffentlicher Schlüssel--Hinweis-Import}} | |||
|- | |||
| rowspan="3" |{{b|{{#var:Pre-Shared Key}} }} || {{ic|…R0Z0DWUs+iCDFYzpP4<nowiki>=</nowiki> }} || {{#var:Pre-Shared Key--desc}} | |||
|- | |||
| {{Button||r}} || {{#var:Pre-Shared Key--renew}}<li class="list--element__alert list--element__hint">{{#var:Pre-Shared Key--Hinweis}}</li> | |||
|- | |||
| {{Button||class=fas fa-copy icon}} || {{#var:Schlüssel kopieren--desc}} | |||
|- | |||
| rowspan="2" | {{b|{{#var:Keepalive}} }} || {{ButtonAus|{{#var:aus}} }}|| {{#var:Keepalive--desc}} | |||
|- | |||
| {{ic|25|c|class=mw5}} || {{#var:Keepalive-Sekunden--desc}} | |||
|- class="Leerzeile" | |||
| | |||
|- class="Leerzeile" | |||
| colspan="3" | {{h6| 1={{#var:Schritt3}}| 2=<i class="host utm">{{#var:Standort B}}</i> {{#var:Schritt3}} }} | |||
|- | |||
| {{b|{{#var:Routen zu Peers erstellen}} }} || {{ButtonAus|{{#var:nein}} }} || {{#var:Routen zu Peers erstellen--desc}} | |||
| class="Bild" rowspan="5" | {{Bild | {{#var:Schritt3 B--Bild}}|{{#var:Schritt3--cap}} }} | |||
|- | |||
| {{b|{{#var:Neue Zone hinzufügen}} }} || {{ButtonAus|{{#var:nein}} }} || {{#var:Neue Zone hinzufügen--desc}} | |||
|- | |||
| {{b|{{#var:Netzwerkobjekte generieren}} }} || {{ButtonAus|{{#var:nein}} }} <br>{{ic|{{cb|net-wg-peer-a}}|cb}} || {{#var:Netzwerkobjekte generieren--desc}} | |||
|- | |||
| {{b|{{#var:Regeln generieren}} }} || {{ButtonAus|{{#var:nein}} }} || {{#var:Regeln generieren--desc}} {{Hinweis-box|{{#var:Regeln generieren--Hinweis}}|fs__icon=em2}} | |||
|- class="Leerzeile" | |||
| | |||
|- class="Leerzeile" | |||
| colspan="3" | | |||
==== {{#var:Fritzbox als Gegenstelle}} ==== | |||
|- | |||
| colspan="3" | {{#var:Fritzbox als Gegenstelle--desc}} | |||
<div class="copyblock Einrücken2">{{code|1= | |||
[Interface]<br> | |||
PrivateKey = $PRIVATE_KEY_FRITZBOX<br> | |||
ListenPort = $LISTENPORT_WIREGUARD_FRITZBOX<br> | |||
Address = $LOCAL_IP_FRITZBOX/$NETMASK<br> | |||
<br> | |||
[Peer]<br> | |||
PublicKey = $PUBLIC_KEY_UTM<br> | |||
PresharedKey = $PRESHAREDKEY<br> | |||
AllowedIPs = $NETWORK_UTM/$NETMASK<br> | |||
Endpoint = $HOSTNAME_UTM:$LISTENPORT_WIREGUARD_UTM<br> | |||
PersistentKeepalive = 1|class=inline-block}} | |||
</div> | |||
| class=Bild | {{#ev:vimeo|686044444|||{{#var:Fritzbox als Gegenstelle--cap}}|cover={{#var:Cover WG mit Fritzbox}} }} | |||
|} | |||
---- | |||
=== {{#var:Widget}} === | |||
<div class="einrücken"> | |||
{{#var:Widget--desc}} | |||
</div> |
Version vom 7. September 2023, 09:55 Uhr
- 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:
Standort A | 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 an Standort A
Assistenten starten mit der Schaltfläche Schritt 1 - Konfiguration importierenStandort A 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 - SchnittstelleStandort A 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 - PeerStandort A 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-b | Bezeichnung der Gegenstelle | |
Peernetzwerke freigeben: | »10.2.0.0/16 »fd00:b:0:0::/64 | Lokale Netz-IPs der Gegenstelle, die auf den WireGuard-Tunnel zugreifen können. notempty Für den tatsächlichen Zugriff werden zusätzlich Netzwerkobjekte und Portfilter-Regeln benötigt!
| |
Endpunkt: | b.vpn.anyideas.de | Öffentliche IP oder im öffentlichen DNS auflösbarer FQDN der Gegenstelle | |
Endpunkt Port: |
51820 | Listening-Port der Gegenstelle | |
Ö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 der Gegenstelle 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 der Gegenstelle 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 | ||
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 | ||
Standort A 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|||
Widget
Im Admininterface existiert ein Widget für die Übersicht der WireGuard-Verbindungen. Weitere Informationen sind im Wiki-Artikel UTM Widget zu finden.