IPsec OPNsene -> Sophos UTM

Started by Hunduster, April 10, 2023, 11:28:53 AM

Previous topic - Next topic
Hallo zusammen,

ich versuche seit zwei Tagen vergeblich einen IPsec Tunnel zwischen der OPNsense und einer Sophos UTM ans Laufen zu bekommen.

Der Tunnel an sich war kein Problem.

Beide Seiten zeigen an, dass der Tunnel up ist. Jedoch kann ich keine Verbindungen zu der jeweiligen anderen Seite aufbauen. Auch Pings funktionieren nicht.

Ich habe schon alles mögliche probiert. Auch ein Gateway und eine statische Route anglegt. Leider alles ohne Erfolg. Auch finde ich nicht wirklich etwas hilfreiches zum Thema OPNsense und Sophos UTM.

Ich hoffe daher, dass jemand von Euch noch einen Tipp für mich hat.
So long....

The Hunduster

Wenn der Tunnel up ist und kein Traffic funktioniert würde ich mit tcpdump auf der Opnsense schauen ob die ICMP Pakete von der Sophos UTM ankommen. Und ich würde ich im Firewall Live Log der Opnsense schauen ob die Pakete gedroppt werden.
Hardware:
DEC740

Danke für deine Antwort.

Ich konnte in der Zwischenzeit feststellen, dass die OPNsense keine Routen angelegt hat. Ein manuelles Anstoßen, die Routen zu setzen, via CLI hat zwar funktioniert (die Routen waren sichtbar), doch leider ging immer noch kein Traffic über den Tunnel. Auf der UTM kam auch nichts an.

Ich konnte das Ganze nun so lösen, dass nicht die OPNsense den Tunnel aufbaut sondern die UTM. Das klappte auf Anhieb und nun funktioniert alles.

Sicherlich nicht ganz elegant, dem Thema nicht weiter auf den Grund zu gehen aber besagte UTM wird bald auch gegen eine OPNsense ersetzt. Von daher passt das erst mal für mich.
So long....

The Hunduster

Hallo,

hat hier jemand eine Anleitung oder ein paar Datails bezüglich VPN Tunnel zwischen OPNsense und Sophos UTM bzw. SG?

Würde auch gerne meine Sophos gegen OPNsense tauschen.

Danke für eure Hilfe 🙂.

Hier sind meine Einstellungen für Opnsense zu Sophos UTM (SG Firewall) und Opnsense zu Sophos SFOS (XG Firewall). Läuft stabil. Die Sophos UTM mag IKEv1 und normale Lifetimes, und die Sophos XG Firewall mag IKEv2 und kurze Lifetimes.

Opnsense:
/usr/local/etc/swanctl/swanctl.conf

VPN SFOS {
        proposals = aes256-sha256-modp2048
        unique = replace
        aggressive = no
        version = 2
        mobike = yes
        local_addrs = 203.0.113.1
        remote_addrs = 198.51.100.1
        encap = no
        rekey_time = 240
        dpd_delay = 10
        dpd_timeout = 30
        send_certreq = no
        keyingtries = 0
        local-dd62446b-fb62-4e58-b433-XXXXXXXXX {
            round = 0
            auth = psk
            id = test-net-3.example.com
        }
        remote-a463a827-21a9-41b5-8896-XXXXXXXXXX {
            round = 0
            auth = psk
            id = test-net-2.example.com
        }
        children {
            857d780a-f686-482f-81b8-XXXXXXXXXXX {
                reqid = 100
                esp_proposals = aes256-sha256-modp2048
                sha256_96 = no
                start_action = start
                close_action = none
                dpd_action = clear
                mode = tunnel
                policies = yes
                local_ts = 192.168.0.0/24
                remote_ts = 172.16.0.0/24
                rekey_time = 120
                updown = /usr/local/opnsense/scripts/ipsec/updown_event.py
            }
        }
    }
secrets {
    ike-a7c16b5c-9bd5-4cb5-abaa-XXXXXXXXXXXXX {
        id-0 = test-net-3.example.com
        id-1 = test-net-2.example.com
        secret = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}


VPN UTM {
        proposals = aes256-sha256-modp2048
        unique = replace
        aggressive = no
        version = 1
        mobike = no
        local_addrs = 203.0.113.1
        remote_addrs = 198.51.100.1
        encap = no
        rekey_time = 28800
        send_certreq = no
        keyingtries = 0
        local-c9ae352d-7fef-4f9c-9651-XXXXXXXXXXXXXXXX {
            round = 0
            auth = psk
            id = 203.0.113.1
        }
        remote-db730ddd-c161-4628-8dad-XXXXXXXXXXXXXXXX {
            round = 0
            auth = psk
            id = 198.51.100.1
        }
        children {
            5c4d2b57-89d7-4910-ba92-XXXXXXXXXXXXXXXX {
                reqid = 130
                esp_proposals = aes256-sha256-modp2048
                sha256_96 = no
                start_action = start
                close_action = none
                dpd_action = clear
                mode = tunnel
                policies = yes
                local_ts = 172.16.100.0/24
                remote_ts = 192.168.60.0/24
                rekey_time = 3600
                updown = /usr/local/opnsense/scripts/ipsec/updown_event.py
            }
        }
    }
secrets {
  ike-3c14fb5c-e22a-4c69-86b6-32339a6b643a {
        id-0 = 203.0.113.1
        id-1 = 198.51.100.1
        secret = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}
Hardware:
DEC740

Danke dir für deine schnelle Antwort, werde ich mir hoffentlich heute Abend mal anschauen können - die Settings der Sophos kann ich mir ja aus der Konfig übernehmen.

Eine Frage habe ich dennoch, muss ich nicht über die Webgui die Verbindung einrichten? Ich blicke ehrlich gesagt nicht was in welcher Reihenfolge eingerichtet werden muss. Erst hatte ich bei connections eine neue Verbindung erstellt - aber damit konnte ich gar keine Verbindung aufbauen. Erst als ich Phase1 und Phase2 direkt eingerichtet hatte - bekam ich zumindest eine Reaktion in den Logs, kam aber nicht weiter. Hatte einen Keyexchange Fehler mit einer IP die mir nicht bekannt war (ich habe zwar einen DSL Anschluss der Telekom, jedoch ist das ein Regio über Netcologne - nicht das die da noch was irgendwo NATen).

Ich habe schon einige VPNs zwischen Sophos SG / XG, LanCom, Watchguard, Fortigate usw. eingerichtet - aber mit der OPNsense werde ich noch nicht so richtig warm. Muss ich mir halt ein wenig genauer ansehen - das schwierige ist, das ich nur sehr wenige Infos dazu finde.

Danke schonmal für deine Hilfe.

Ja die Verbindung wird über die Weboberfläche eingerichtet. Ich habe nur die Configuration Files gepostet, weil Screenshots hier sehr limitiert sind.

Ich verwende für IPsec Einstellung "VPN - IPsec - Connections [new] und dort lege ich neue Connectons an. Dort sind dann alle Einstellungen zu finden (wenn man oben den advanced mode anmacht) die auch in den stronswan.conf Dateien zu finden sind.

Bei "General settings" wird die Phase 1 definiert, bei "Local Authentication" und "Remote Authentication" werden die Identifier hinterlegt und die Authentifizierung festgelegt (z.B. Zertifikat oder PSK). Bei "Children" werden die Traffic Selectoren (ts) für Phase 2 hinterlegt.

Danach muss bei "VPN - IPsec - Pre-Shared-Keys" noch eine PSK angelegt werden, die auf die Local und Remote Authentication IDs in Phase 1 verweist.

Jetzt darf man nicht vergessen, in der Firewall auf dem WAN Interface Regeln zu erstellen, die ISAKMP, IPsec NAT-T, Protokoll ESP und bei Bedarf Protokoll AH von der Source der IP der Gegenstelle freigeben. Dazu ist es am einfachsten sich eine Alias Gruppe anzulegen, in der alle IKE Gateways eingetragen sind.

Hardware:
DEC740

December 17, 2023, 02:20:05 PM #7 Last Edit: December 17, 2023, 04:34:03 PM by modi
Hallo ,

bin erst seit Kurzem dabei meine UTM durch eine OPNsense zu ersetzen
und arbeite an zwei  Tunneln zu einer anderen UTM.

Die Verbindung und die Tunnel scheinen zu funktionieren.

Habe jetzt zwei Fragen dazu und hoffe jemand kann mir helfen.

Unter VPN -> IPsec -> Tunnel Settings [legacy] habe ich wohl alle notwendigen Einstellungen
vorgenommen.
Unter VPN -> IPsec -> Status Overview sind die Tunnel zu sehen

Ein Ping,ssh etc. in die Remote Netze geht.

Unter VPN -> IPsec -> Connections
habe ich überhaupt keinen Eintrag und der Tunnel ist trotzdem aufgebaut.
Ist dies normal oder was muss ich dort eintragen?

Was noch nicht funktioniert ist DNS für die Remote Netze.

nslookup server.remote.dom

kommt mit Fehler zurück:
** server can't find server.remote.dom: SERVFAIL

nslookup server.remote.dom -s IP-Adr-Remote-DNS
kommt mit richtiger Antwort sofort zurück

Unter Services -> Unbound DNS -> Overrides  und
         Services -> Unbound DNS -> Query Forwarding

habe ich jeweils einen Eintrag gemacht  (remote.dom /  IP-Adr-Remote-DNS).

Wo kann ich bei den Definitionen den DNS Server für diese eintragen?

viele Grüße