OPNsense OpenVPN Instances Site-to-Site einrichten

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Die Open Source Firewall OPNsense unterstützt mehrere Technologien zur Einrichtung von VPN (Virtual Private Network) Verbindungen. In diesem Beispiel zeigen wir, wie Sie eine Site-to-Site VPN Verbindung mit zwei OPNsense Firewalls mit der beliebten VPN Technologie OpenVPN einrichten. Die Anleitung zeigt die Konfiguration mit dem mit OPNsense 23.7 neu eingeführten Instances Menü, erstellt wurde sie unter der Version OPNsense 25.1.7_4-amd64.

Hier geht es zu unseren OPNSense Firewalls im Onlineshop von Thomas-Krenn

Topologie Erklärung

Dieser Abschnitt zeigt kompakt zusammengefasst die konfigurierte Topologie und die wichtigsten Einstellungen des OpenVPN Tunnels.

HA Cluster und OpenVPN

Wenn Sie als OpenVPN Server einen OPNsense High Availability Cluster einsetzen, dann stellen Sie die virtuelle WAN IP-Adresse als Server Adresse ein.[1]

Site A

  • OPNsense OpenVPN Server
  • Lokales Netz: 192.168.1.0/24
  • WAN-IP: 100.64.2.1

Site B

  • OPNsense OpenVPN "Client"
  • Lokales Netz: 192.168.2.0/24
  • WAN-IP: 100.64.2.2

OpenVPN Einstellungen

  • Port: 1194
  • Protokoll: UDP
  • Topology: subnet
  • Transfer-Netz: 100.64.100.0/24
  • TLS static key mit Mode crypt

OpenVPN Site-to-Site einrichten

Zum Einrichten von OpenVPN Instances-Verbindungen sind folgende Schritte erforderlich:

OpenVPN Instance Site A (Server) konfigurieren

  1. Certificate Authority erstellen
  2. Server Zertifikat für die Site A (Server) erstellen
  3. Client Zertifikat für die Site B (Client) erstellen
  4. Firewall Regeln für WAN und OpenVPN erstellen
  5. OpenVPN Server erstellen
  6. Client Specific Overrides erstellen
  7. Certificate Authority exportieren
  8. Client Zertifikat exportieren

OpenVPN Instance Site B (Client) konfigurieren

  1. Certificate Authority importieren
  2. Client Zertifikat importieren
  3. Firewall Regeln für WAN und OpenVPN erstellen
  4. OpenVPN Instances Client konfigurieren

Konfigurationsschritte OpenVPN Instance Site A (Server)

Die nachfolgenden Screenshots zeigen die auf der OpenVPN Instance Serverseite erforderlichen Schritte auf.

Menü Trust

Zu Beginn werden im Menü Trust die Certificate Authority, also eine interne Zertifikatsstelle, erstellt. Mithilfe dieser CA werden die beiden Zertifikate für den Server und Client erstellt.


Firewall Regeln

Damit der OpenVPN Dienst Verbindungsanfragen von extern annehmen kann, muss der in der OpenVPN Serverkonfiguration eingestellte Port in der Firewall geöffnet werden.

OpenVPN Instances Site A (Server) Konfiguration

Nach den vorbereitenden Tätigkeiten kann nun der OpenVPN Instance Site A (Server) mit der Instances Konfigurationsmethode erstellt werden.

OpenVPN Interface Firewall Regel

Es gibt nun ein neues Interface, das OpenVPN Interface. Hier können Sie den Datenverkehr im OpenVPN Tunnel regeln. In diesem Beispiel wird jeglicher Traffic im Tunnel erlaubt. Sie können dies natürlich noch granularer und restriktiver einstellen.

Client specific overrides

Hier wird ein OpenVPN Server mit einer Site-to-Site Verbindung angelegt. Die Client specific overrides sind dafür zuständig, dass der Server weiß an welchen Endpunkt er die Daten schicken soll. Es können ja mehrere entfernte Standorte an einen zentralen OpenVPN Server angebunden werden.

Konfigurationsschritte OpenVPN Instance Client(s)

Die nachfolgenden Screenshots zeigen die für die OpenVPN Instance Site B (Client) erforderlichen Schritte auf. Es können mittels Sternprinzip natürlich mehrere Clients mit einem OpenVPN Server verbunden werden. Die Kommunikation wird dann über individuelle Client Specific Overrides geregelt.

Menü Trust

Bei dem Client muss im Menü Trust die CA und das Client Zertifikat importiert werden, diese wurde zuvor auf dem OpenVPN Server erstellt.

Firewall Regeln

Setzen Sie die Firewallregeln für das WAN Interface analog zur OpenVPN Serverkonfiguration.

OpenVPN Instances Site B (Client) Konfiguration

Nach den vorbereitenden Tätigkeiten kann nun der OpenVPN Client mit der Instances Konfigurationsmethode erstellt werden.

OpenVPN Interface Firewall Regel

Es gibt nun auch beim Client ein neues Interface, das OpenVPN Interface. Konfigurieren Sie dieses Interface analog zur Serverseite. Nun ist die Konfiguration erledigt und ein Verbindungsaufbau sollte möglich sein.

Testen der Verbindung

Prüfen Sie ob sich der Client zum Server verbinden kann, sie finden dies bei Client und Server im Webinterface im Menü VPN → OpenVPN → Connection Status.

Troubleshooting

Diese Sektion zeigt die verschiedenen Troubleshooting Möglichkeiten, um Fehler in der Konfiguration entdecken zu können.

  • Ping
    • Setzen Sie einen Pingbefehl auf eine IP-Adresse im Zielnetzwerk ab.
    • Packet Capture auf den Firewall Schnittstellen.
  • Tcpdump
    • Serverseite: tcpdump -n -i ovpns1
    • Clientseite: tcpdump -n -i ovpnc1

Einzelnachweise

  1. High availability (docs.opnsense.org)

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

 

Das könnte Sie auch interessieren

AMD-basierte Thomas-Krenn Firewall Server
Cannot open TUN/TAP dev /dev/tun1: Device busy (errno=16)
OPNsense SATA Link Power Management aktivieren