Vorbemerkung
Dieser Artikel soll einen möglichst einfachen, kurzen und praxisnahen Weg zur Erstellung einer WireGuard-Verbindung beschreiben, wobei es unerheblich ist, ob es sich bei den Gegenstellen um S2S (Site-to-Site)- oder E2S (End-to-Site / Roadwarrior) Peers handelt.
In diesem Beispiel soll zwischen zwei UTMs (im weiteren Standort A und Standort B genannt) eine S2S-Verbindung erstellt werden. Zusätzlich soll sich auf Standort A noch ein Gerät aus dem Homeoffice verbinden (im weiteren Roadwarrior genannt)
Außerdem wird im folgenden mit dieser Beispielkonfiguration gearbeitet:
Standort A | Standort B | Roadwarrior | 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 | 10.0.1.201/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 | fa00:0:0:0::C9/64 | – |
Schlüsselerstellung
Standort A WireGuard Verbindungen erstellen
Konfiguration importieren | |||
|
UTMbenutzer@firewall.name.fqdnVPNWireGuard | ||
Schnittstelle | |||
Beschriftung | Wert | Beschreibung | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
---|---|---|---|
Name: | wg-StandortA | Name der 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.0/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::0/64) | ||
Listening Port: | 51820 | Default-Port für WireGuard Verbindungen Jede weitere Verbindung benötigt einen jeweils anderen freien Port | |
Privater Schlüssel: | Option: | ||
Den zuvor angelegten Schlüssel auswählen Es werden nur solche Schlüssel zur Auswahl angeboten, die auch über einen privaten Schlüsselanteil verfügen | |||
Servernetzwerke global freigeben: | »10.1.0.0/16»fd00:a:0:0::/64 | Netzwerke auf (lokaler) Serverseite, auf die die WireGuard-Tunnel der Peers prinzipiell zugreifen können. | |
Peer | |||
Name: | wg-PeerB | Name des Peers/der Gegenstelle | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
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. | |
Endpunkt: | b.vpn.anyideas.de | Öffentliche IP oder im öffentlichen DNS auflösbarer FQDN der Gegenstelle (Hier: Standort B) | |
Endpunkt Port: | 51820 | Listening-Port der Gegenstelle (Hier: Standort B) | |
Öffentlicher Schlüssel: | Den öffentlichen Schlüssel der Gegenverbindung (hier Standort B) auswählen | ||
Pre-Shared Key: | ●●●●●●●●●●●●●●●●● | Pre-Shared Key zur weiteren Absicherung der Verbindung | |
Keepalive: | Ein 25 Sekunden | Sendet regelmäßig ein Signal (hier alle 25 Sekunden). Dadurch werden Verbindungen auf NAT-Routern offen gehalten. | |
Erweiterte Einstellungen | |||
Routen zu den Netzwerken des Peers erstellen: | Ja | 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. | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
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 | Erzeugt Netzwerkobjekte (IPv4 und ggf. IPv6) für die Gegenstelle. Der automatische Vorschlag kann auch geändert werden. | |
Netzwerkobjekte für den Peer: | »wg-net-wg-PeerB»wg-net6-wg-PeerB | ||
Netzwerkgruppe: | wg0-network | Netzwerkgruppe der Verbindung wird angezeigt | |
Regeln zwischen dem Peer und internal-Networks erstellen: | Ja | Erzeugt autogenerierte Regeln, die die Inbetriebnahme erleichtern. | |
Standort B WireGuard Verbindungen erstellen
Konfiguration importieren | |||
|
UTMbenutzer@firewall.name.fqdnVPNWireGuard | ||
Schnittstelle | |||
Beschriftung | Wert | Beschreibung | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
---|---|---|---|
Name: | wg-StandortB | Name der 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.0/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::0/64) | ||
Listening Port: | 51820 | Default-Port für WireGuard Verbindungen Jede weitere Verbindung benötigt einen jeweils anderen freien Port | |
Privater Schlüssel: | Option: | ||
Servernetzwerke global freigeben: | »10.2.0.0/16»fd00:b:0:0::0/64 | Netzwerke auf (lokaler) Serverseite, auf die die WireGuard-Tunnel der Peers prinzipiell zugreifen können. | |
Peer | |||
Name: | wg-PeerA | Name des Peers/der Gegenstelle | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
Peernetzwerke freigeben: | »10.1.0.0/16»fd00:a:0:0::/64 | Lokale Netz-IPs der Gegenstelle, die auf den WireGuard-Tunnel zugreifen können. | |
Endpunkt: | a.vpn.anyideas.de | Öffentliche IP oder im öffentlichen DNS auflösbarer FQDN der Gegenstelle (Hier: Standort A) | |
Endpunkt Port: | 51820 | Listening-Port der Gegenstelle (Hier: Standort A) | |
Öffentlicher Schlüssel: | Den öffentlichen Schlüssel der Gegenverbindung (hier Standort A) auswählen | ||
Pre-Shared Key: | ●●●●●●●●●●●●●●●●● | Pre-Shared Key zur weiteren Absicherung der Verbindung | |
Keepalive: | Ein 25 Sekunden | Sendet regelmäßig ein Signal (hier alle 25 Sekunden). Dadurch werden Verbindungen auf NAT-Routern offen gehalten. | |
Erweiterte Einstellungen | |||
Routen zu den Netzwerken des Peers erstellen: | Ja | 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. | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
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 | Erzeugt Netzwerkobjekte (IPv4 und ggf. IPv6) für die Gegenstelle. Der automatische Vorschlag kann auch geändert werden. | |
Netzwerkobjekte für den Peer: | »wg-net-wg-PeerA»wg-net6-wg-PeerA | ||
Netzwerkgruppe: | wg0-network | Netzwerkgruppe der Verbindung wird angezeigt | |
Regeln zwischen dem Peer und internal-Networks erstellen: | Ja | Erzeugt autogenerierte Regeln, die die Inbetriebnahme erleichtern. | |
notempty Die autogenerierten Regeln erlauben alle Dienste (Any-Regeln).
Diese Regeln dienen dazu, die Inbetriebnahme der WireGuard-Tunnel zu erleichtern. Zur besseren Absicherung sollten diese individuell angepasst werden und nur Dienste zulassen, die auch wirklich benötigt werden. |
E2S-Peer einrichten
Peer auf UTM hinzufügen
Unter | kann mithilfe der Schaltfläche bei der jeweiligen Verbindung ein Peer hinzugefügt werden.|||
Beschriftung | Wert | Beschreibung | UTMbenutzer@firewall.name.fqdnVPNWireGuard |
---|---|---|---|
Name: | wg-Roadwarrior | Name des Peers | |
Peernetzwerke freigeben: | »10.0.1.201/32»fd00:0:0:0::C9/128 | IP aus dem Transfernetz | |
Endpunkt: | Öffentliche IP oder im öffentlichen DNS auflösbarer FQDN des Peers (Hier der Roadwarrior). Kann aber auch frei bleiben, wenn von der UTM aus keine Verbindung initiiert werden soll | ||
Endpunkt Port: | 51820 | Listening Port des Peers (hier der Roadwarrior) | |
Öffentlicher Schlüssel: | Den öffentlichen Schlüssel des Peers (Hier der Roadwarrior) auswählen | ||
Pre-Shared Key: | ●●●●●●●●●●●●●●●●● | Pre-Shared Key zur weiteren Absicherung der Verbindung | |
Keepalive: | Ein 25 Sekunden | Sendet regelmäßig ein Signal (hier alle 25 Sekunden). Dadurch werden Verbindungen auf NAT-Routern offen gehalten. | |
Routen zu den Netzwerken des Peers erstellen/entfernen: | Nein | Erstellt bei Aktivierung Routen zu den Netzwerken des Peers | |
Netzwerkobjekte für den Peer erstellen: | Ja | Erzeugt Netzwerkobjekte (IPv4 und ggf. IPv6) für den Peer. Der automatische Vorschlag kann auch geändert werden. | |
Netzwerkobjekte für den Peer: | »wg-net-wg-Roadwarrior»wg-net6-wg-Roadwarrior | ||
Netzwerkgruppe: | wg0-networks | Netzwerkgruppe der Verbindung wird angezeigt | |
Erstellen einer WireGuard Konfigurationsdatei WireGuard Client Erstellen einer WireGuard Konfigurationsdatei
Manuelles erstellen eine Konfigurationsdatei In jedem Fall müssen die Werte PrivateKey, PublicKey und PresharedKey angepasst werden. | |||
[Interface] | |||
PrivateKey = | qOPTkQMco1TPd....hsFI= | PrivateKey der WireGuard-Verbindung auf der UTM. Zu finden unter WireGuard-Key-Roadwarrior mit der Schaltfläche in die Zwischenablage kopieren. Zeile |
[Interface]
PrivateKey = # PrivatKey des RW
Address = # Tunnel-IP für den Roadwarrior
DNS = # IP_des_DNServers (optional), # Search Domain (optional)
MTU = 1420 # (optional)
ListenPort = 51820 # (optional) |
Address = | 10.0.1.201/32 | Tunnel-IP für den Roadwarrior | |
DNS = | 10.1.0.33 | 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. Soll die UTM selbst DNS übernehmen, wir eine zusätzliche Regel dafür benötigt! | |
MTU = | 1420 | :Optional Definiert die Größe eines Datenpaketes. Muss zwischen 1300 und 1500 sein. 1420 ist der Default-Wert. | |
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 WireGuard-Verbindung auf der UTM. Zu finden unter WireGuard-Key-StandortA mit der Schaltfläche in die Zwischenablage kopieren. Zeile (für das Beispiel oben) | |
PresharedKey = | 29… …/Wipaxs= | PresharedKey der WireGuard-Verbindung auf der UTM Zu finden unter wg-Roadwarrior Option Pre-Shared Key (optional): Zeile (für das Beispiel oben) Mit der Schaltfläche In die Zwischenablage kopieren. | |
AllowedIPs = | 10.1.0.0/16 | Lokale Netz-IPs hinter der UTM | |
Endpoint = | a.vpn.anyideas.de:51820 | IP-Adresse bzw. Hostname der UTM:Port der WG Instanz | |
persistentkeepalive = | 25 | Keepalive | |
Als Datei mir der Endung .conf speichern und auf dem Peer in einen Client importieren (z.B. Securepoint VPN Client) |