Wenn Sie auf einer OPNsense-Firewall ein Site-to-Site-VPN (Tunnel zwischen zwei Netzwerken) aufbauen möchten, können Sie zwischen verschiedenen Verfahren wählen. Es gibt IPsec in verschiedenen Varianten und in OPNsense auch WireGuard. In unserem Beispiel erstellen wir eine Site-to-Site-VPN-Verbindung mit IPsec. IPsec gliedert sich in zwei Phasen. Phase 1 stellt zwischen den Standorten generell die Verbindung her und benötigt dafür die "externen" Angaben. Phase 2 steuert den Netzverkehr durch die Phase 1. Phase 2 benötigt dazu vor allem die jeweiligen lokalen Netzwerkangaben.
Alle Angaben in diesem Beispiel wurden auf der Version 24.1.6 konfiguriert und getestet.
Im ersten Bild sehen Sie die angenommene Situation.
Wir nehmen an, Ihr Netzwerk hat den IP-Range 192.168.99.0 und Ihre Public IP ist 19.19.19.19 (es geht auch dynamisch) und eventuell haben Sie dazu einen passenden Domain-Name, wir nehmen vpn.beispiel.ch.
Die Gegenseite hat den IP-Range 192.168.199.0 und dessen Public IP ist 20.20.20.20 und hat den Domain-Name vpn.extern.ch.
- Setzen Sie als erstes im Menü VPN, IPsec, Tunnel Settings [legacy] im Feld Enable IPsec ein Häkchen.
- Klicken Sie nun auf das Plus um einen neuen Tunnel zu erstellen. Der Tunnel ist die "Phase 1" der Verbindung.
- Bei Disabled darf kein Häkchen stehen, da ansonsten dieser Eintrag wohl erstellt, aber nicht aktiviert wird.
- Bei Connection method wählen Sie Start immediate. Damit wird der Tunnel permanent aktiv gehalten und hat bei wenig Traffic keine Verzögerungen.
- Bei Remote gateway können Sie die entfernte, externe IP-Adresse oder den Domain-Name der externen Verbindung eintippen. Wir haben die IP-Adresse 20.20.20.20 genommen.
- Bei Description vergeben Sie einen selbsterklärenden Namen für die Verbindung zum externen Standort (Ortschaft, Firmenname etc.).
- Alle Angaben, die Sie nun im Bereich Phase 1 proposal (Authentication) und Phase 1 proposal (Algorithms) eingeben, werden auf der Gegenseite ebenfalls benötigt, ausser dem Feld Peer identifier.
- Bei Authentication method wählen wir Mutual PSK. Das benötigt keinen Public Key. Es ist der niedrigste Level.
- Wenn die Gegenstelle eine fixe IP-Adresse hat, wählen Sie bei Peer identifier den Wert Peer IP address aus. Wird die Gegenstelle wegen wechselnder IP-Adressen mit DynDNS angesprochen, müssen Sie bei Peer identifier Distinguished name auswählen und darunter nochmals den Domain Name eintippen.
- Bei Pre-Shared Key geben Sie ein beliebiges Passwort ein.
- Bei Encryption algorithm, Hash algorithm und DH key group wählen Sie Werte aus, die auf der Gegenstelle unterstützt werden. Dies kann von der Prozessorleistung oder der Firmware des Routers abhängig sein. Wenn zwar DH 14 unterstützt wird, aber die Leistung des Tunnels dadurch in den Keller geht, verwenden Sie einen niedrigeren Wert.
Ein Tunnel zu FRITZ!Box läuft mit den Werten AES 256, SHA1 und DH 2 (1024 bits), zu einem CentroBusiness 2.0 der Swisscom funktionieren die Werte AES 128, SHA1 und DH 14 (2048 bits). Beide Endgeräte unterstützen, gemäss Angaben der jeweiligen Hersteller, auch andere Werte, aber mit den dargestellten Werten wurde die beste Stabilität erreicht. Kontrollieren Sie vor der Einrichtung auf den jeweiligen Herstellerseiten die gültigen Werte. - Bei Install policy setzen Sie das Häkchen, damit die entsprechenden Rules gleichzeitig erstellt werden.
- Dead Peer Detection sagt dem System, was es unternehmen soll, wenn die Tunnelverbindung unterbrochen ist. Setzen Sie das Häkchen, wählen Sie einen geeigneten Zeitfaktor und wählen Sie Restart the tunnel aus.
- Bei Lifetime können Sie die im Beispiel verwendeten 28800 übernehmen. Bei Centro Business von Swisscom müssen Sie hier 86400 eingeben.
- Speichern Sie den Tunnel mit einem Klick auf Save.
- In der Übersicht sehen Sie nun den neuen Eintrag. Klicken Sie auf der Zeile des neuen Eintrages auf das Plus, um zu diesem Tunnel die Phase 2 hinzuzufügen.
- Bei Local Network und Type wählen wir LAN subnet, da wir unser lokales Netzwerke mit dem fernen Netzwerk verbinden möchten.
- Bei Remote Network und Type wälhen wir Network aus und tippen darunter bei Address den IP-Range des fernen Netzwerkes ein.
- Unter Phase 2 proposal (SA/Key Exchange) wählen wir bei Protocol ESP aus. Bei Encryption Algorithms und Hash Algorithms verwenden wir wieder Werte, welche von der Gegenstelle unterstützt werden. Hier gilt leistungsmässig dasselbe wie bei Phase 1.
- Bei Lifetime setzen wir einen Wert, der auf jeden Fall kleiner ist, als derjenige in der Phase 1.
- Wenn Sie möchten, dass der Tunnel die Verbindung kontrolliert, geben Sie bei Automatically ping host eine IP-Adresse aus dem fernen Netz an. Verwenden Sie aber unbedingt eine Adresse, die immer aktiv ist.
- Speichern Sie den Eintrag mit einem Klick auf Save.
- Gehen Sie jetzt im Menü zu Firewall, Rules und IPsec.
- Kontrollieren Sie, ob hier schon ein Eintrag mit IPv4 besteht und allenfalls schon den fernen Netzwerkbereich beinhaltet.
- Fehlt ein solcher Eintrag, klicken Sie auf das Plus um einen neuen Eintrag zu erstellen.
- Bei Interface muss IPsec stehen und bei Destination wählen Sie LAN net aus. Alle anderen Werte lassen Sie auf default (any).
- Speichern Sie den Eintrag mit einem Klick auf Save.
- Konfigurieren Sie nun auf der Gegenseite dieselben Einträge, aber mit den Querverbindungen zu diesem lokalen Netz. Alle Angaben müssen über Kreuz stimmen.
In der Konfiguration des lokalen Tunnels geben Sie die ferne externe IP-Adresse (20.20.20.20) und das ferne interne Netzwerk an (192.168.199.0/24).
Bei der fernen Firewall geben Sie die externe IP-Adresse Ihres eigenen Standortes an (19.19.19.19) und das lokale Netzwerk (192.168.99.0/24) ein.
Auf beiden Seiten müssen der Pre-Shared key, die Verschlüsselungsangaben und die Lifetime-Werte identisch sein. - Achtung: Haben Sie auf der Gegenseite eine FRITZ!Box, loggen Sie sich dort ein und gehen zu Internet, Freigaben und dann auf die Lasche VPN (IPSec). Klicken Sie hier auf VPN-Verbindung hinzufügen.
- Wählen Sie Ihr Heimnetz mit einem weiteren FRITZ!Box-Netzwerk verbinden, und klicken Sie auf Weiter.
- Bei diesen Feldern kommen, wie oben erwähnt, die Gegenstücke zu unserer Firewall rein. Mehr können Sie auf einer FRITZ!Box nicht angeben.
- Beim Centro Business von Swisscom gehen Sie auf Netzwerk, Peer-to-Peer VPN und wählen VPN-Standort hinzufügen.
- Beim Profile können Sie IKEv1 oder IKEv2 auswählen. Dies muss mit Ihrem eigenen Tunneleintrag übereinstimmen. In unserem Beispiel haben wir IKEv1 genommen. Bei IKEv2 hatte ich öfters Unterbrechungen und daher bin ich wieder auf IKEv1 umgestiegen.
Die Peer-IP-Adresse und das Peer-IP-Subnetz beziehen sich wiederum auf Ihr eigenes lokale Netz und beim Passwort muss der Pre-Shared key von Ihrem eigenen Tunnel eingegeben werden. Auch hier, wie bei der FRITZ!Box, können nicht mehr Werte angepasst werden.