IPsec Site2Site VPN zwischen einer FortiGate und IPfire

Ich möchte euch heute eine Möglichkeit zeigen, wie ihr IPfrire und eine FortiGate Firewall über einen IPsec Tunnel verbinden könnt.
Wir kennen das Drama, man möchte 2 Geräte von Unterschiedlichen Herstellern über ein VPN miteinander verbinden.
IPsec ist hier die wohl Beste Wahl da so gut wie jeder VPN Router / Firewall damit umgehen kann. Folgend werde ich euch zeigen wie ihr einen Site2Site IPsec VPN aufbauen könnt.

Als vorausetzung für die funktion gehe ich von Statischen IP-Adressen oder DynDNS in beiden Standorten aus.

Ich Beginne mit der Konfiguration auf der FortiGate.

FortiGate Konfiguration:

Wir melden uns auf dem FortiGate Webinterface an und Navigieren zu

Mit einem Klick auf Create New landen wir in einem Wizard, diesen wir jedoch nicht verwenden werden.
Wir vergeben unserem VPN einen Namen z.b. VPN-Standort2 klicken auf Custom VPN Tunnel (No Template)

Network:

(Remote Gateway: Hier könnt ihr unteranderem einen Dialup User für Einwählende IPsec Verbindungen von Dynamischen IP Adressen einrichten, oder einen Dynamic DNS auswählen. Im Feld IP Adresse Tragen wir die Statische öffentliche IP-Adresse von unserem Standort2 ein.)

Authentication: (Im Feld Method: kann man zwischen einem Pre-shared Key oder einem Zertifikat wählen. In meinem Fall verwende ich ein Pre-shared Key und trage diesen in das Vorgegeben Feld ein.
Die IKE Version lassen wir auf 1 und belassen IKE Mode auf Main (ID protection)

Phase 1: Es sollte bei der Encryption und Authentication eine gute Wahl getroffen werden Ich belasse meine Tunnel meist auf AES256 und SHA256.

XAUTH:
Unseren XAUTH Type belassen wir auf Disabled

Phase 2: (Im Punkt Local Address vergeben wir das Lokale Subnetz das wir Routen möchten. Technisch sind hier auch sogenannte 0.0.0.0 Netze möglich womit es recht einfach ist mehrere Subnetze über eine Phase 2 zu verbinden.
Als Encryption setze ich wieder AES256 und SHA256 für die Authentication.)

Soweit die IPsec Konfiguration, der nächste Schritt ist es in der FortiGate die benötigten Policys für Intern --> VPN-Standort2 und VPN-Standort2 --> Intern anzulegen.
Damit der Tunnel auch online gehen kann benötigen wir abschließend noch eine Statische Route die uns sagt wo wir das Remote Subnetz finden.

Ipfire Konfiguration:

Wir melden uns bei Standort-B auf dem Ipfire Web Interface an und Navigieren zu Services/IPsec.
Da wir bei unserer IPsec Verbindung mit einem Pre-shared Key arbeiten benötigen wir kein Zertifikat.
Um IPsec auf dem Red0 Interface zu aktivieren reicht es ein Hacken bei Enabled zu setzen und dies zu speichern.
Unter Connection Status and -Control fügen wir uns jetzt mit einem Klick auf Add einen neuen IPsec Tunnel hinzu.

(wir wählen Net-to-Net Virtual Private Network und klicken auf Add)

Durch einen Klick auf Save landen wir in der advanced settings Einstellung.
(Grouptype: Da wir auf der FortiGate Seite bereits hohe Sicherheits Einstellungen vorgenommen haben und sich IPsec auf der IPfire Seite selbständig an die Verschlüsselung der Gegenseite anpasst. Können wir hier ohne Bedenken alles markieren werden.
Lifetime: Wir sollten achten das die Zeit auf beiden Standorten identisch ist.)

Die VPN verbindung sollte jetzt online sein: