Benutzer-Werkzeuge

Webseiten-Werkzeuge


technische-dokumentationen:tutorials:site-to-site-vpn-pfsense

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
technische-dokumentationen:tutorials:site-to-site-vpn-pfsense [2023/04/28 09:36] f.pagottotechnische-dokumentationen:tutorials:site-to-site-vpn-pfsense [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Site-To-Site VPN mit OpenVPN auf pfSense ====== 
  
-^ Version  ^ Status          ^ Datum        ^ Author         ^ URL  ^ 
-| 0.1      | Erster Entwurf  | 27.Apr.2023  | Fabio Pagotto  |      | 
- 
- 
-===== 1. Kurzfassung ===== 
- 
-Dieses Tutorial behandelt die einrichtung einer Site-to-Site VPN Verbindung zwischen zwei pfSenses mit OpenVPN. 
- 
-Es wird Beschrieben: 
- 
-  * Die nötigen voraussetzungen für die OpenVPN verbindung 
-  * Die erstellung der OpenVPN verbindung. 
-  * Das Testen der OpenVPN verbindung 
- 
-===== 2. Tutorial ===== 
- 
-==== 2.0 Vorgaben ==== 
- 
-Für die Ausführung dieses Tutorials werden benötigt: 
- 
-  * Zwei pfSenses die mit dem Internet Verbunden sind 
-  * Zugriff auf das webInterface der pfSenses 
-  * Zugriff auf ein PC zum abspeichern von Dateien der pfSense 
-  * Grundkenntnisse zur benutzung einer pfSense 
- 
-==== 2.1 Zertifikatsstruktur auf Server erstellen ==== 
- 
-Zuerst müssen sie einige Zertifikate auf dem OpenVPN Server erstellen. Dies wird benötigt, um die Verbindung zu erstellen. 
- 
-Erstellen Sie zuerst eine **"Certificate Authority"**. Gehen Sie dafür auf **"System -> Cert. Manager -> CAs"**. Klicken sie Jetzt auf **"+ Add"** 
- 
-Sie werden jetzt in den folgenden Einstellungen landen. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-104051.png? 600}} 
- 
-Tragen Sie folgende Werte ein: 
- 
-**Descriptive name:**   (Beliebiger Name hier) 
- 
-**Method:**             Create an Internal Certificate Authority 
- 
-**Randomize Serial:**  Häkchen setzen in Box 
- 
-**Lifetime (days):**    3650 
- 
-**Common Name:**        (Beliebiger Name hier)  
- 
-Die Werte **"Country Code, State or Province etc."** können ausgefüllt werden, müssen aber nicht. 
- 
-Klicken sie, nachdem sie die Werte ausgefüllt haben, auf **"Save"**.  
- 
-\\ 
- 
-Jetzt müssen sie ein Server Zertifikat erstellen. Gehen Sie dafür auf **"Certificates"**, und klicken Sie danach auf **"+ Add/Sign"**. 
- 
-Sie werden jetzt in den folgenden Einstellungen landen. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-105929.png? 600}} 
- 
-Tragen Sie folgende Werte ein: 
- 
-**Descriptive name:**      (Beliebiger Name hier) 
- 
-**Certificate authority:** Das CA, was sie gerade eben erstellt haben. 
- 
-**Lifetime (days):**       3650 
- 
-**Common Name:**           (Beliebiger Name hier) 
- 
-Die Werte **"Country Code, State or Province etc."** können ausgefüllt werden, müssen aber nicht. 
- 
-**Certificate Type:**      Wählen Sie **"Server Certificate"** 
- 
-Klicken sie, nachdem sie die Werte ausgefüllt haben, auf **"Save"**.  
- 
-\\ 
- 
-Jetzt müssen sie ein User Zertifikat erstellen. Gehen Sie dafür auf **"Certificates"**, und klicken Sie danach auf **"+ Add/Sign"**. 
- 
-Sie werden jetzt in den folgenden Einstellungen landen. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-105929.png? 600}} 
- 
-Tragen Sie folgende Werte ein: 
- 
-**Descriptive name:**      (Beliebiger Name Hier) 
- 
-**Certificate authority:** Das CA, was sie gerade eben erstellt haben. 
- 
-**Lifetime (days):**       3650 
- 
-**Common Name:**           (Beliebiger Name Hier) 
- 
-Die Werte **"Country Code, State or Province etc."** können ausgefüllt werden, müssen aber nicht. 
- 
-**Certificate Type:**      Wählen Sie **"User Certificate"** 
- 
-Klicken sie, nachdem sie die Werte ausgefüllt haben, auf **"Save"**.  
- 
-\\ 
- 
-Jetzt sind alle nötigen Zertifikate erstellt. Jetzt müssen diese noch exportiert werden, damit sie auf der Client Firewall hochgeladen werden können. 
- 
-Gehen Sie zu **"CAs"** und klicken Sie auf {{:technische-dokumentationen:tutorials:pasted:20230424-112503.png}} neben dem vorhin erstellten CA, um das CA zu exportieren. 
- 
-Gehen Sie zurück zu **"Certificates"**. Klicken Sie auf {{:technische-dokumentationen:tutorials:pasted:20230424-112503.png}} neben dem vorhin erstellten Client Zertifikat, um das Client-Zertifikat zu exportieren. 
- 
-Klicken Sie auf {{:technische-dokumentationen:tutorials:pasted:20230424-112924.png}} neben dem vorhin erstellten Client Zertifikat, um den Key des Client-Zertifikats zu exportieren 
- 
-Nachdem alles exportiert ist, sollte es so aussehen: 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-114821.png? 600}} 
- 
-Behalten Sie diese, denn sie werden danach benötigt werden.  
- 
-\\ 
- 
-==== 2.2 OpenVPN Server Erstellen ==== 
- 
-Jetzt, wo die Zertifikate erstellt sind, kann nun der Server eingerichtet werden. 
- 
-Gehen Sie dafür auf **" VPN -> OpenVPN -> Servers".** Klicken sie danach auf **"+ Add"**.  
- 
-Sie landen nun in den folgenden Einstellungen, 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-140124.png? 600}} 
- 
-Tragen Sie folgende Werte ein: 
- 
-**Description:**            (Belibiger Name) 
- 
-**Sever mode:**              Peer to Peer ( SSL/TLS ) 
- 
-**Device mode:**             tun - Layer 3 Tunnel Mode 
- 
-**Protocol:**                UDP on IPv4 only 
- 
-**Interface:**               WAN 
- 
-**Local port:**              1195 (Wenn mehr Server erstellt werden müssen, einfach mehr Ports ab 1195 nutzen) 
- 
-**TLS Configuration:**       Häkchen setzen neben "Use a TLS Key" und "Automatically generate a TLS Key." 
- 
-**Peer Certificate 
-Authority: **                Wählen Sie das CA, dass Sie vorhin erstellt haben. 
- 
-**Server Certificate:**      Wählen Sie das Server-Zertifikat, dass Sie vorhin erstellt haben. 
- 
-**IPv4 Tunnel Network:**     Geben Sie eine IP-Adresse mit Subnetz /30 ein- 
- 
-**IPv4 Local network(s):** 
-   
-Geben Sie hier den CIDR der Netzwerke ein, von wo der Client aus, zugreifen darf. (z. B. VLAN 10 IP: 172.16.10.1 = CIDR: 172.16.10.0) Wenn es mehrere Netzwerke sind, separieren Sie den CIDR mit einem Komma. 
- 
-**Dies sieht dann etwa so aus:** \\ 
-{{:technische-dokumentationen:tutorials:pasted:20230424-144746.png? 600}} 
- 
-**IPv4 Remote network(s):**  Gleich wie bei "Local network(s)" Stattdessen sind es die Netzwerke, von dem der Server aus Zugreifen kann 
- 
-Klicken Sie danach auf **"Save"**  
- 
-\\ 
- 
-Folgend darauf, klicken Sie auf {{:technische-dokumentationen:tutorials:pasted:20230425-103129.png}}, um den OpenVPN Server zu bearbeiten. Scrollen sie runter zur Box **"TLS Key"**. Diese sieht so aus: 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230425-103408.png? 600}} 
- 
-Kopieren Sie jetzt den ganzen Inhalt der Box und fügen Sie ihn in eine Textdatei ein. Was Sie gerade kopiert haben, ist den TLS Schlüssel. Dieser wird für die Client-Instanz benötigt. Speichern Sie am besten deshalb die Textdatei bei den vorhin heruntergeladenen Zertifikaten ab. 
- 
-==== 2.3 Firewall Rules auf Server konfigurieren ==== 
- 
-Jetzt ist schon fast auf dem Server alles nötige eingerichtet. Noch müssen Sie die nötigen Firewall Rules konfigurieren. 
- 
-Als Erstes konfigurieren Sie die WAN rule. Diese wird benötigt, sodass sich die Client-Firewall mit dem Server verbinden kann. 
- 
-Gehen Sie auf **"Firewall -> Rules -> WAN"**. Klicken sie auf **"^Add"**. 
- 
-Sie gelangen nun auf das Rule kreierungs interface. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230427-094941.png? 600}} 
- 
-Tragen Sie die folgenden werte ein: 
- 
-**"Protocol:"**               Wählen Sie **"UDP"** aus. 
- 
-**"Source:"**                 Wählen Sie **"any"** aus. 
- 
-**"Destination:"**            Wählen Sie **"WAN adress"** aus. 
- 
-**"Destination Port Range:"** Geben Sie den im OpenVPN Server spezifizierten Port an. 
- 
-**"Description:"**            Geben Sie eine beliebige Beschreibung ein. 
- 
-Klicken Sie danach auf **"Save"** 
- 
-\\ 
- 
-Jetzt müssen Sie noch die OpenVPN Rule Konfigurieren. 
- 
-Gehen Sie dafür auf **"Firewall -> Rules -> OpenVPN"**. Danach klicken Sie auf **"^Add"**. 
- 
-Wieder landen Sie im Rule kreierungs interface. 
- 
-Tragen Sie hier folgende Werte ein: 
- 
-**"Protocol:"**     Wählen Sie **"any"** aus. 
- 
-**"Source:"**       Wählen Sie **"any"** aus. 
- 
-**"Destination:"**  Wählen Sie **"any** aus. 
- 
-**"Description:"**  Geben Sie eine beliebige Beschreibung ein. 
- 
-Klicken Sie auf **"Save"** \\ 
- 
-Vergessen Sie nicht nachher auf **"Apply Changes"** zu Klicken! 
- 
-Jetzt sind alle nötigen Parameter auf dem Server konfiguriert. 
- 
-\\ 
- 
-==== 2.4 Zertifikate auf Client Firewall einrichten ==== 
- 
-Jetzt haben Sie alles, was für den Server benötigt wird, konfiguriert. Nun geht es an die Client-Firewall. 
- 
-//**Wichtig:** Bedenken Sie, dass die Zertifikate, die vorhin erstellt worden sind, auf die Client-Firewall hochgeladen werden müssen. 
-Versuchen Sie deshalb sicherzustellen, dass Sie auf dem Gerät, über wo Sie auf die Client-Firewall zugreifen, die Zertifikate genutzt werden können.// 
- 
-Loggen Sie sich in die Client-Firewall ein. 
- 
-Navigieren Sie zu **"System -> Cert. Manager -> CAs"**.  
- 
-Klicken Sie auf **"+Add"** 
- 
-Sie landen wieder im CA erstellungsmodus. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-105929.png? 600}} 
- 
-Tragen Sie folgende Werte ein. 
- 
-**"Descriptive name:"**     Geben Sie einen beliebigen Namen ein. 
- 
-**"Method:"**               Wählen Sie **"Import an existing Certificate Authority"** aus. 
- 
-**"Certificate data:"**     Öffnen Sie, das CA, was Sie exportiert haben, in einem Texteditor. Es wird wie folgt aussehen. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230427-112351.png? 600}} 
- 
-Kopieren Sie den //gesamten// Inhalt in die Box **"Certificate data"**. 
- 
-Klicken Sie danach auf **"Save"**. 
- 
-\\ 
- 
-Navigieren Sie jetzt zu **"System -> Cert. Manager -> Certificates"**. Klicken Sie auf **"+Add"**.  
- 
-Sie landen auf dem folgenden Bildschirm.  
- 
-{{:technische-dokumentationen:tutorials:pasted:20230424-105929.png? 600}} 
- 
-Tragen Sie die folgenden Werte ein. 
- 
-**"Method:"**            Wählen Sie "Import an existing Certificate" aus. 
- 
-**"Descriptive Name:"**  Geben Sie hier einen beliebigen Namen ein. 
- 
-**"Certificate data:"**  Öffnen Sie hier, das Client-Zertifikat, was Sie exportiert haben, in einem Texteditor. 
- 
-Kopieren Sie den gesamten Inhalt in die Box, **"Certificate data"**. 
- 
-**"Private key data:"**  Öffnen Sie hier, den Client-Zertifikat Private Key, den Sie exportiert haben, in einem Texteditor. 
- 
-Kopieren Sie den gesamten Inhalt in die Box, **"Private key data"**. 
- 
-Klicken Sie danach auf **"Save"**. 
- 
-\\ 
- 
-==== 2.5 OpenVPN Client Instanz erstellen und Firewall rules konfigurieren ==== 
- 
-Jetzt, wo die nötigen Zertifikate importiert sind, kann die Client-VPN Instanz eröffnet werden. 
- 
-Navigieren Sie zu: **"VPN -> OpenVPN -> Clients"**. Klicken Sie auf **"+Add"** 
- 
-Sie landen in der folgenden Konfiguration. 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230427-134707.png? 600}} 
- 
-Tragen Sie folgende werte ein: 
- 
-**"Server mode:"**                 Wählen Sie **"Peer to Peer ( SSL/TLS )"** 
- 
-**"Device mode:"**                 Wählen Sie **"tun - Layer 3 Tunnel Mode"** 
- 
-**"Interface:"**                   Wählen Sie **"WAN"** aus. 
- 
-**"Server host or address:"**      Geben Sie die WAN IP-Adresse des Servers. 
- 
-**"Server port"**                  Den Port den Sie in der Server Instanz eingegeben haben. 
- 
-**"Description:"**                 Geben Sie hier eine beliebige Beschreibung ein. 
- 
-**"TLS Configuration:"**           Wählen sie **"Automatically generate a TLS Key"** ab. 
- 
-**"TLS Key:"**                     Öffnen Sie das Textdokument mit dem TLS Schlüssel, und Kopieren Sie den gesamten inhalt in die Textbox. 
- 
-**"Peer Certificate Authority:"**  Wählen Sie das vorhin importierte CA aus. 
- 
-**"Client Certificate:"**          Wählen Sie das vorhin importierte Client-Zertifikat aus. 
- 
-**"IPv4 Tunnel Network:"**         Geben sie Hier dieselbe Adresse wie im Server ein. 
- 
-**"IPv4 Remote network(s):"**      Gleich wie beim Server, geben Sie hier die CIDR Adressen der Netzwerke, auf die der Client zugreifen kann 
- 
-Klicken Sie auf **"Save"** 
- 
-\\ 
- 
-Zum Abschluss müssen Sie noch die Firewall rules auf dem Client konfigurieren. 
- 
-Gehen Sie dafür auf **"Firewall -> Rules -> OpenVPN"**. Danach klicken Sie auf **"^Add"**. 
- 
-Sie landen im Rule kreierungs interface. 
- 
-Tragen Sie hier folgende Werte ein: 
- 
-**"Protocol:"**     Wählen Sie **"any"** aus. 
- 
-**"Source:"**       Wählen Sie **"any"** aus. 
- 
-**"Destination:"**  Wählen Sie **"any** aus. 
- 
-**"Description:"**  Geben Sie eine beliebige Beschreibung ein. 
- 
-Klicken Sie auf **"Save"** \\ 
- 
-Vergessen Sie nicht nachher auf **"Apply Changes"** zu Klicken! 
- 
-Jetzt sind auch auf dem Client alle nötigen parameter Konfiguriert 
- 
-==== 2.6 OpenVPN Verbindung Testen ==== 
- 
-Jetzt ist alles eingerichtet. Testen Sie nun ob die Verbindung auch Funktioniert. 
- 
-Gehen Sie dafür auf einem der beiden pfSenses auf **"Stauts -> OpenVPN"**. 
- 
-Wenn die Verbindung läuft, sollte die folgende Meldung erscheinen: 
- 
-{{:technische-dokumentationen:tutorials:pasted:20230427-141653.png? 600}} 
- 
-Sollte dies der Fall sein, testen Sie die Verbindung in einem weiteren schritt. 
- 
-Versuchen Sie zwischen einem Netzwerk auf den beiden pfSenses zu Pingen . z. B. VLAN 1 (pfSense1) -> VLAN 1 (pfSense2). 
- 
-Wenn der ping erfolgreich war, funktioniert der OpenVPN Tunnel einwandfrei und Sie haben erfolgreich dieses Tutorial beendet! 
- 
-===== 3. Quellenverzeichnis ===== 
- 
-Hier zu finden sind die nötigen Quellen, die zur Erstellung dieser Doku genutzt worden sind. 
- 
-Offizielle Dokumentation von Netgate: https://docs.netgate.com/pfsense/en/latest/recipes/openvpn-s2s-tls.html 
- 
-Flurin Pudill 
technische-dokumentationen/tutorials/site-to-site-vpn-pfsense.1682667418.txt.gz · Zuletzt geändert: 2023/04/28 09:36 von f.pagotto