Site2Site VPN with Sophos UTM and FritzBox

Last week I had a customer demand to connect a FritzBox Router via VPN to the headquarter Sophos UTM. Here are the details:

Headquarter:

  • Device: Sophos UTM
  • WAN-IP: 11.22.33.44
  • LAN-Subnet: 192.168.4.0 /24

Branch Office:

  • Device: FritzBox
  • WAN-IP: 55.66.77.88
  • LAN-Subnet: 192.168.2.0 /24

Sophos UTM Config:

fritzboxvpn1

fritzboxvpn2

 

fritzboxvpn3

 

Create the cfg file with the following content:

FritzBox Config:

vpncfg {
 connections {
enabled = yes;
conn_type = conntype_lan;
name = "VPN to Sophos UTM";
always_renew = yes;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 11.22.33.44;
remote_virtualip = 0.0.0.0;
remotehostname = "utm.company.com";
localid {
ipaddr = "44.33.22.11";
}
remoteid {
ipaddr = "11.22.33.44";
}
mode = phase1_mode_idp;
phase1ss = "alt/aes/sha";
keytype = connkeytype_pre_shared;
key = "Th!sisMyPr3Sh@r3dK3y";
cert_do_server_auth = no;
use_nat_t = no;
use_xauth = no;
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 192.168.2.0;
mask = 255.255.255.0;
}
}
phase2remoteid {
ipnet {
ipaddr = 192.168.4.0;
mask = 255.255.255.0;
}
}
phase2ss = "esp-3des-sha/ah-no/comp-no/pfs";
accesslist = "permit ip any 192.168.4.0 255.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";
}

 

save the file and upload it to the FritzBox device. Go to “Internet”, “Freigaben”, “VPN” and click on “VPN-Verbindung hinzufügen”, “Eine VPN-Konfiguration aus einer vorhandenen VPN-Einstellungsdatei importieren” and “Datei auswählen”. Import the recent saved Config-file.

Open the VPN live log in the UTM to watch the connect of the FritzBox:

fritzboxvpn4

if you have problem with the VPN tunnel, try out other IPsec/IKE Parameters in the UTM and FritzBox cfg file.

 

 

 

19 thoughts on “Site2Site VPN with Sophos UTM and FritzBox

  1. Hi, super Anleitung diese habe ich auch so in der Konstellation von einer anderen Seite nur mit dyn dns am Fritzbox Anschluss genutzt. Hat jemand eine Ahnung wie man mehrere Netze aus der Sophos Site der auf der Fritzbox konfiguriert?
    Wenn ich in der konfig der Fritzbox ein weiteres Netz unter accesslist = “permit ip any 192.168.4.0 255.255.255.0″; aufnehme kommt der Tunnel nicht mehr hoch.
    Mache ich etwas falsch?

    Gruß Sebastian

    • Hi Sebastian,

      vielleicht ist hier die Grenze das man in einem Tunnel nur ein remote Netz angeben kann. Mach doch mal zwei Tunnel auf der UTM und der Fritzbox. Pack in die cfg der Fritzbox noch mal { } mit der zweiten config, als remote Netz dein zweites Netz, so als wenn du einzelne User nacheinander hättest: http://www.nwlab.net/tutorials/VPN-FritzBox/

      sollte eigentlich gehen

  2. Hallo,

    super Anleitung.

    Auf einem Foto ist zu sehen, dass UM benutzt wird.

    Gibt es mittlerweile die Möglichkeit diese site-2-site Verbindung zwischen Fritzbox und UTM aufzubauen wenn mindestens eine Seite IPv6 von UM mit DS Lite hat (In meinem Fall die FritzBox)?

    Ich habe vor langer Zeit auch genau diese Konstellation einrichten wollen, was allerdings an der IPv6 auf einer Seite scheiterte.
    Seitdem ist die Notlösung eine SSL VPN Verbindung die durch ein NAS-Gerät im Netz der IPv6-Seite aufgebaut wird. (Also immer einseitiger Verbindungsaufbau und händisches Routing.).

    • Hi Benedikt,

      hmm dann wirst du nur einseitig von dir zur UTM einen Tunnel aufbauen können. In der UTM steht dann nur “Auf Verbindung warten” weil diese ja nicht weiß von wo der Aufbau kommt.

  3. Hallo Michel,

    Danke für die Antwort.

    Heißt das, dass man diese KOnfiguration für einen Site-2-Site Tunnel auch für eine IPv4 zu IPv6 KOnstellation verwenden könnte?
    Würde also heißen, der S2S Tunnel wird dann einfach immer von der IPv6 in Richtung v4 aufgebaut und bei der anderen Richtung bekäme man einfach einen “Fehler” bis die Gegenseite wiederum eine Verbindung aufbaut?

    Hatte bis jetzt die v6 (Fritz) als Client und die v4 (UTM) als VPN-Endpunkt eingerichtet.
    Leider bricht so die Verbindung alle 30 Minuten ab bei Nichtbenutzung und ich hoffe, dies bei S2S loszuwerden.

    • Nein IPsec kann nicht von IPv4 auf IPv6, beide müssen entweder gleich IPv4 oder IPv6 haben. Wunderlich dass es bei dir geht. Die Verbindung bricht auch mit Dauerping alle 30 min weg?

      • Ich hab Mist geschrieben.

        DIe Fritz(v6) als Client hat eben nicht funktioniert, deswegen baut hinter der Fritz eine Synology NAS den VPN zur UTM auf.
        Als VPN Protokoll habe ich in der UTM “L2TP über IPSec” eingestellt.
        Das ist natürlich alles ziemliches gebastel und der Artikel hatte mir schon Hoffnung gegeben das endlich zu entwirren…

        Die Verbindung bricht bei Benutzung nicht alle 30 Min weg, nur bei Nichtbenutzung.
        Einen Dauerping habe ich jedoch nicht getestet, da es ja auch eigentlich eine keepalive Funktion geben sollte.
        Ich habe z.B. auf der UTM per SSH Konfigurationsdateien gefunden, wo man diesen Verbindungsabbruch unterdrücken kann.(/var/sec/chroot-ipsec/etc/ppp/options)
        Leider werden die Dateien aber anscheinend bei jedem Verbindungsaufbau zurückgesetzt.
        Im Moment fange ich auf der NAS den Verbindungsabbruch per Skript ab und baue die Verbindung sofort neu auf. (soviel zum entwirren)

        Kennst Du evtl. eine Möglichkeit einen Dauerping von der Sophos aus einzurichten oder sogar die VPN Konfigdateien dauerhaft händisch zu ändern?

        Vielen Dank!

  4. Hallo Michel, ich bin ein ein echter Anfänger. Und deswegen scheitere ich schon an dem Datum: 44.33.22.11
    Was ist damit gemeint? Ganz doof gefragt: Ist das die öffentliche IP-Adresse rückwärts??? Öhh sorry für die doofe Frage. Aber das verstehe ich nicht.

    Folgendes
    Im Rechenzentrum eine UTM mit fester IP

    Im Homeoffice
    Fritzbox 7490 mit DynDns

    Und wie bekommt man dann nun das Textfile in FB?

    Danke für die Hilfe
    Bin auch gerne bereit etwas zu spenden.

    Gruß Reiner

  5. Hallo Reiner,

    Ich verstehe nicht was du mit “Datum:44.33.22.11” meinst. (Datum? Vertippt?)

    44.33.22.11 ist eine beispielhafte IP-Adresse.
    DIese müsstest Du in diesem Fall mit der öffentichen IP deiner Fritzbox tauschen.

    Da diese aber vermutlich keine feste IP-Adresse ist (da Du DynDNS angesprochen hast) müsste der Block meines Wissens etwas anders aussehen:

    Mit fester IP:

    localid {
    ipaddr = “44.33.22.11“;
    }
    remoteid {
    ipaddr = “11.22.33.44“; (Feste IP deiner UTM im RZ)
    }

    Mit DynDNS:

    localid {
    fqdn = “dynds.deiner.fritzbox.de”;
    }
    remoteid {
    ipaddr = “11.22.33.44″; (Feste IP deiner UTM im RZ)
    }

    WIe man die CFG letztendlich auf die Fritzbox bekommt steht eigentlich in Michels originaler Anleitung.
    Lies am besten noch einmal den letzten Abschnitt unterhalb des Codeblocks mit der CFG.

    VG
    Benedikt

  6. Guten Morgen Benedikt und Michel, vielen Dank für die Antwort. Vielleicht habe ich mich hier einfach zu bescheuert ausgedrückt. Mit “Datum” (= Einzelangabe von Daten) hatte ich einfach den Wert gemeint. Aber jetzt erklärt sich einiges. Sorry dass ich mich jetzt so angestellt habe, Aber das hat mich doch sehr verwirrt. Ich versuche mal mein Glück. Wäre aber dann doch so frei mich wieder zu melden, falls es doch noch Fragen gibt. Aber nochmals herzlichen Dank für die schnelle Hilfe.

    Gruß Reiner

  7. Guten Tag, ich versuche den Artikel nachzuvollziehen,
    in den Abbildungen ist das Remote gateway teilweise abgedeckt, verständlich. Wie wird das Gateway definiert. ist das ein Host oder was anderes, kann ich eine bespielhafte netwerkdefinition erhalten
    danke

  8. Meinem Verständnis nach, sollte unter ip4 die feste öffentliche Addresse der Fritzbox eingetragen werden?
    Alle anderen DNS und DHCP-Einträge sollte leerbleiben?

  9. sorry erstmal danke, danke, danke für die schnelle hilfe.
    habe quer recherchiert und einige offenen punkte.
    anstatt remoteip = 11.22.33.44 >> remoteip = 0.0.0.0
    der paramter remotehostname = “utm.company.com”; wirft fragen auf.
    wenn die utm mehrere externe schnittstellen hat (z.B. telekom, und kabel-deutschland), und nur eine auf die utm.company.com weist, die aber nicht in der vpn verwendet werden soll, muss dann die schnittstelle für das vpn im dns des providers registriert sein um die dns aufzulösen oder reicht, dass die utm über die utm.company.com lediglich erreichbar ist?
    oft findet sich ab v9.3 ein hinweis auf keepalive_ip auf eine 192.168.1.1 bei der die verbindung bei unterbrechung neu aufgebaut werden soll. ist das hier notwendig und wenn ja an welcher stelle mit welcher ip sollte das bei dir eingefügt werden?

    • Also wenn eine dedizierte Leitung angesprochen werden soll, dann würde ich direkt die öffentliche WAN-IP eingeben. Man braucht dann keinen Hostnamen. Ein Keepalive brauchen Sie nicht konfigurieren, der Tunnel sollte eigentlich 24/7 live sein.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.