Network Guys

Share your knowledge!

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.

 

 

 

24 Responses

  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

    1. 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.).

    1. 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.

    1. 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?

      1. 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

    1. Guten Tag! Das Gateway ist ein Host Eintrag, man kann natürlich auch einen DNS-Host eingeben bei DynDNS Einsatz.

      Bis dann
      Michel

  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?

    1. 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.

  10. HI, hab ne Frage. Hab eine Fritzbox 6340, hab es nach der Anleitung eingerichtet und die conf datei hochgeladen, der Log in der UTM sag bei der Verbindung
    “öffentlicheIPderFritzbox:500 failed in main_outI1. Errno 1: Operation not permitted ”

    was ist der Fehler, hab schonmehrmals alles kontroliert

  11. Hy, Fritzbox ist bei UnityMedia, UTM hat FesteIP.
    Hab schon auf Antworten gestellt, trotzdem keine VPN
    Fritze hat im Log VPN-Fehler: Sophos UTM, IKE-Error 0x2027

    UTM 9 – Site-to-Site-VPN – IPsec – Richtlinie:
    Name: AVM Fritz!BOX policy
    IKE: AES 256 – SHA1 – 3600 – Group2: MODP 1024
    IPsec: AES 256 – SHA1 – 3600 – Group2: MODP 1024

    UTM 9 – Site-to-Site-VPN – IPsec – entfernte Gateways:
    Name: AVM Fritz!BOX GW
    Gateway-Typ: nur antworten
    Auth.-Methode: Verteilter Schlüssel
    Schlüssel: xxxx
    Wiederholen: xxxx
    Entfernte Netzwerke:

    Name: AVM Fritz!BOX Netzwerk
    Typ: Netzwerk
    IPv4-Adresse: 192.168.178.0
    Netzmaske: /24 255.255.255.0
    Kommentar: AVM Standard 192.168.178.0/24

    UTM 9 – Site-to-Site-VPN – IPsec – Verbindungen:
    Name: AVM Fritz!BOX Incoming
    Entferntes Gateway: AVM Fritz!BOX GW
    Lokale Schnittstelle: Internal
    Richtlinie: AVM Fritz!BOX policy
    Lokale Netzwerke:

    Internal (Network)

    Automatische Firewallregeln: ja
    Striktes Routing : nein
    Tunnel an lokale Schnittstelle binden: nein

    vpncfg {
    connections {
    enabled = yes;
    conn_type = conntype_lan;
    name = “Sophos UTM”;
    always_renew = yes;
    keepalive_ip = 192.168.2.252; //UTM im Internen Netz
    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 = “IP UTM”;
    localid {
    fqdn = “IP AVM”;
    }
    remoteid {
    fqdn = “IP UTM”;
    }
    mode = phase1_mode_idp;
    phase1ss = “all/all/all”;
    keytype = connkeytype_pre_shared;
    key = “xxxxxx”;
    cert_do_server_auth = no;
    use_nat_t = no;
    use_xauth = no;
    use_cfgmode = no;

    phase2localid {
    ipnet {
    ipaddr = 192.168.178.0; //internes Netz AVM
    mask = 255.255.255.0;
    }
    }
    phase2remoteid {
    ipnet {
    ipaddr = 192.168.2.0; //internes Netz UTM
    mask = 255.255.255.0;
    }
    }
    phase2ss = “esp-aes256-3des-sha/ah-no/comp-lzs-no/pfs”;
    accesslist = “permit ip any 192.168.2.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”;
    }

  12. Hallo,

    Danke für die super Anleitung.

    Ist es mit der Config möglich einen VPN aufzubauen ohne statische IP auf beiden Seiten wenn ich DynDNS nehme?
    Und wo bestimmt ich nochmal mein Netzwerk, das getunnelt werden soll. Habe 4 IP Netze daheim, wovon nur 1 Netz über den Tunnel erreichbar sein soll.

    Danke.
    LG
    Sebastian

  13. Hallo Sebastian, das sollte gehen. In der cfg Datei aus dem Beispiel schreibst du statt remoteip = 11.22.33.44; -> remoteip = 0.0.0.0; (Unsere Ziel IP ist ja unbekannt).
    localid {
    fqdn = “myhome.dyndns.org”; }
    remoteid {
    fqdn = “Gegenstelle.dyndns.org”; }
    Dein Netz welches über den Tunnel erreichbar sein soll stellst du unter Site-to-Site/IPSec/Verbindungen ein. Dann gehst du bei der VPN Verbindung zur Fritzbox auf Bearbeiten und trägst das Netz unter lokale Netzwerke ein. Wenn man will kann man noch die Automatische Firewall Regel einschalten oder eine eigene erstellen. Aber nicht vergessen eins von beiden zu tun sonst wird der Traffic durch die UTM verworfen.

    Gute Quelle für Fritzbox cfg Datei: https://www.bluestonedesign.de/faq/16-server-administration/183-fritzbox-cfg-datei

    LG

    Phillip

Leave a Reply

Click on the button to load the content from jetpack.wordpress.com.

Load content

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

Certificates

ekahau Certified Survey Engineer
ATP_wsrgb
ACMP2
suca
Post Categories
Post Archives