In diesem Beitra möchte ich euch zeigen wie Ihr schnell eine Site-to-Site Verbindung zwischen einer PFSense Firewall und einer FritzBox ab FritzOS Version 6.5x aufbaut.

Da alle Beiträge so im Internet schon teilweise stark veraltet sind oder kompliziert gehalten sind hier mein Ansatz das Thema etwas einfacher umzusetzen.

Das sind die Vorraussetzungen für die Einrichtung:

-> Zugriff auf PFSense Firewall

-> Zugriff auf FritzBox

-> Ports eingehend für IPSec muss im PFSense eingestellt werden (500UDP, 4500 UDP, 10000 TCP und ESP)

-> Wenn keine Statischen IPs vorhanden sind dann DynDNS Adressen bereit halten

  1. Einrichtung der PFSense Firewall:
    1. Unter VPN -> IPSec -> ein „Phase 1“ Eintrag erstellen:

  1. 2. „Phase 2“ Eintrag in der PFSense erstellen:

Nun gehts weiter zum FritzBox teil. Ich habe für die Erstellung der Konfiguration das AVM eigene Programm „Fritz Fernzugang einrichten“ verwendet -> Download unter: https://avm.de/fileadmin/user_upload/DE/Service/VPN/FRITZ_Box-Fernzugang_einrichten.exe

Alternativ: https://avm.de/service/vpn/uebersicht/ -> FRITZ_Box-Fernzugang_einrichten.exe -> Downloaden!

2. Fritz Fernzugang einrichten -> Programm wird nur für Erstellung der Konfiguration genutzt:

Hier das Netz der FritzBox eintragen (Default Netz: 192.168.178.0/24)

Hier das Zielnetz der PFSense eintragen -> Also das Netz auf das Zugriff erfolgen soll bzw. das erlaubt wird mit der Fritzbox zu kommunizieren:

Lasst euch die Dateien „Exportieren“:

Die erste Datei ist die von der FritzBox -> Export Pfad angeben und Datei erstellen lassen:

Dann noch die PFSense Datei -> Diese könnt Ihr aber entsorgen!

Sollte dann ungefähr so aussehen im Verzeichnis:

Aus dem Verzeichnis braucht ihr nur die Fritzbox Datei -> Diese muss editiert werden mit eurem bevorzugtem Editor.

/*
* C:\AVM\FRITZ!Fernzugang\hier_die_dyn_dns_bzw_IP_der_FritzBox_eingebene\fritzbox_hier_die_dyn_dns_bzw_IP_der_FritzBox_eingebene.cfg
* Fri Jun 22 08:13:46 2018
*/

vpncfg {
connections {
enabled = yes;
conn_type = conntype_lan;
name = „Hier_IP_oder_DynDNS_der_PFSense_Firewall_eingeben„;
always_renew = no; #Auf „yes“ stellen
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 0.0.0.0;
remotehostname = „Hier_IP_oder_DynDNS_der_PFSense_Firewall_eingeben„;
localid {
fqdn = „hier_die_dyn_dns_bzw_IP_der_FritzBox_eingebene„;
}
remoteid {
fqdn = „Hier_IP_oder_DynDNS_der_PFSense_Firewall_eingeben„;
}
mode = phase1_mode_aggressive;
phase1ss = „all/all/all„;
keytype = connkeytype_pre_shared;
key = „DER_KEY_MUSS_HIER_EINGEFÜGT_WERDEN„;
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = no;
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 20.0.0.0;
mask = 255.255.255.0;
}
}
phase2remoteid {
ipnet {
ipaddr = 30.0.0.0;
mask = 255.255.255.0;
}
}
phase2ss = „esp-all-all/ah-none/comp-all/pfs„;
accesslist = „permit ip any 30.0.0.0255.255.255.0„;
}
ike_forward_rules = „udp 0.0.0.0:500 0.0.0.0:500“,
„udp 0.0.0.0:4500 0.0.0.0:4500“;
}

// EOF

In der Konfigurationsdatei müsst Ihr das was Fett und Kursiv von mir markiert wurde prüfen und ggf. korrigieren!

Wichtig ist das Ihr die Zeile:

phase1ss = „all/all/all„; -> ersetzt durch phase1ss = „dh14/aes/sha„;

always_renew = no; -> auf always_renew = yes; setzt!

phase2ss = „esp-all-all/ah-none/comp-all/pfs„; -> auf phase2ss = „esp-aes256-3des-sha/ah-no/comp-lzs-no/pfs„; ändert!

Die Konfigurationsdatei muss dann gespeichert und in die Fritzbox Importiert werden!

3. Import in die Fritzbox:

Einloggen in der FritzBox -> Internet -> Freigaben -> VPN -> VPN-Verbindung hinzufügen

VPN Konfiguration importieren auswählen -> Weiter:

Datei auswählen und Hochladen:

Nachdem der Import Vollständig abgeschlossen ist werdet Ihr zur VPN Verbindungs-Übersicht weitergeleitet und dort sollte im Optimal Fall die VPN Verbindung auf „Grün“ gehen und alles verbunden sein.

Die Einstellungen habe ich bei mir bei Diversen Fritzbox die alle mindestens 6.5x drauf haben getestet und es funktioniert Einwandfrei.

Der Mode „Aggressive“ in der VPN Konfiguration kann auch auf „mode = phase1_mode_idp;“ umgestellt werden wenn die Gegenstellen Feste IPs haben. Durch den „Aggressive“ Mode wird die Fritzbox zum Initiator und mit Dynamischer IP doch sehr sinnvoll die Fritzbox die Verbindung aufbauen zu lassen.

Ansonsten habe ich auf der VPN Verbindung eine Livetime von 8 Stunden und danach baut sich die Verbindung neu auf. Wenn Ihr die Proposals wie angegeben einträgt dann dauert der Verbindungsaufbau nicht sehr lange, da nicht alle Proposals erstmal ausgehandelt werden müssen.

Sollte was nicht funktionieren meldet euch und stellt nach möglichkeit auch das AVM Support File zur Verfügung -> Kann erstellt werden unter „Inhalt -> FritzBox Support:

Die Datei enthält keine Passwörter oder Sensible Daten sondern nur die reinen Log Files für die Auswertung der VPN Verbindung!

Ansonsten freue ich mich auf Feedback und natürlich wenn der Beitrag dem einen oder anderen helfen kann.

Written by rafaelseeck