razer1
Goto Top

IPSec S2S Sophos XGS und MikroTik Chateau 5G

Guten Morgen Zusammen,

ich sitze seit dem Wochenende an einem Problem welches ich einfach nicht gelöst bekomme bzw. nur Teilweise funktioniert.
Es handelt sich um eine Site 2 Site IPSec Verbindung zwischen einer Sophos XGS und einem MikroTik Chateau 5G.
Die IPSec Verbindung steht, Ping ist beidseitig möglich.

Mit iPerf (Server PC, iPhone Client) ist es möglich ca. 20Mbit Upload von iPhone an den PC zu senden. Schalte ich auf Download bricht die Leistung ein bzw. per iPerf 0Mbit, verbindungen sehe ich beim PC. Eine RDP Verbindung über den Tunnel kommt auch zustande und funktioniert ohne Einschränkung. Sobald auch ein Drucker oder ein Dateitransfer versucht wird ist die Leistung im Keller. Eventuell hat ja noch einer einen Tipp wo ich suchen kann oder ähnliche Probleme gehabt.

Ich habe beim MikroTik schon mal an der MTU gedreht, ohne Erfolg. Firewall Regeln auf beiden Seiten explizit für den Tunnel eingerichtet. SNat beim MikroTik für den Tunnel deaktiviert.

PC <-> Sophos (HQ, Response) <---- VPN ----> MikroTik (LTE, Initiator) <-> iPhone

Gruß razer1

Content-ID: 5870471229

Url: https://administrator.de/contentid/5870471229

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

aqui
aqui 06.02.2023 um 10:56:19 Uhr
Goto Top
Sieht in der Tat nach einem Fragmentierungsproblem im Tunnel aus. Es ist aber nicht die MTU sondern das MSS Clamping was du aktivieren musst. Damit sollte die Sympromatik dann verschwinden.
Razer1
Razer1 06.02.2023 um 12:28:11 Uhr
Goto Top
Ich habe mal an der Sophos einen Capture gemacht.
Vorher die MSS in der Sophos noch angepasst.
iptables -t mangle -I POSTROUTING -s 192.168.157.0/24 -d 172.16.13.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;
iptables -t mangle -I POSTROUTING -s 172.16.13.0/24 -d 192.168.157.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;
download
screenshot_1
5175293307
5175293307 06.02.2023 aktualisiert um 12:43:33 Uhr
Goto Top
/ip firewall mangle add protocol=tcp chain=postrouting tcp-flags=syn action=change-mss new-mss=clamp-to-pmtu
Ping ist beidseitig möglich.
Aber auch die für PMTU detection nötige ICMP Type 3 Code 4 innerhalb des Tunnels in der Forward-Chain freigeschaltet?

Gruß wurstel
Razer1
Razer1 06.02.2023 um 13:36:08 Uhr
Goto Top
Forward ist auf beiden Seiten any um mögliche Probleme dort auszuschließen.
PMTU Funktioniert soweit scheinbar, meine Ubuntu VM sagt folgendes:
screenshot_2
Razer1
Razer1 06.02.2023 um 13:37:17 Uhr
Goto Top
Leider hat das Clamping keine Besserung gebracht.
5175293307
5175293307 06.02.2023 aktualisiert um 14:26:54 Uhr
Goto Top
Wurde der IPSec Traffic auch wirklich aus dem Fasttracking im Firewall Filter der Forward-Chain des Mikrotik ausgenommen? Das ist Pflicht, den sonst kommt es zu solchem Verhalten!
/ip firewall filter 
add chain=forward action=accept ipsec-policy=out,ipsec place-before=0
add chain=forward action=accept ipsec-policy=in,ipsec place-before=0
Diese müssen noch vor der Fasttrack-Rule stehen.

Leider ist das hier mal wieder Glaskugel Raterei ohne einen vernünftigen export der Config im Klartext vorliegen zu haben
... bei Mikrotik hier absolutes Minimum an Information!
Razer1
Razer1 06.02.2023 um 14:42:54 Uhr
Goto Top
Die Fasttrack-Rule ist deaktiviert.
Hier mal ein Export.

Könnte ja auch an der Sophos liegen. Die Funktioniert aber in Verbindung mit zwei anderen XGS und einem Teltonika.

# feb/06/2023 14:33:19 by RouterOS 7.7
#
# model = D53G-5HacD2HnD
# serial number =
/interface bridge
add name=XMOBILE
add admin-mac=18:FD:74:A8:F8:68 auto-mac=no comment=defconf name=bridge
/interface lte
set [ find default-name=lte1 ] allow-roaming=no band="" nr-band=""  
/interface wireless
set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=20/40/80mhz-XXXX country=germany disabled=no distance=indoors frequency=auto installation=indoor mode=ap-bridge ssid=XPRODU_TEST wireless-protocol=802.11 wps-mode=disabled
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=XPRODU_KEY supplicant-identity=""  
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=XMOBILE_KEY supplicant-identity=""  
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-XX country=germany disabled=no distance=indoors frequency=auto installation=indoor mode=ap-bridge security-profile=XPRODU_KEY ssid=XPRODU_TEST wireless-protocol=\
    802.11 wps-mode=disabled
add disabled=no keepalive-frames=disabled mac-address=1A:FD:74:A8:F8:6D master-interface=wlan1 multicast-buffering=disabled name=wlan3 security-profile=XMOBILE_KEY ssid=XMOBIL_TEST wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
add disabled=no keepalive-frames=disabled mac-address=1A:FD:74:A8:F8:6E master-interface=wlan2 multicast-buffering=disabled name=wlan4 security-profile=XMOBILE_KEY ssid=XMOBILE_TEST wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip ipsec profile
set [ find default=yes ] enc-algorithm=aes-256
add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=RH_Sophos_Profile
/ip ipsec peer
add address=178.XX.XX.XX/32 exchange-mode=ike2 name=RH_Sophos profile=RH_Sophos_Profile
/ip ipsec proposal
add auth-algorithms=sha256,sha1 enc-algorithms=aes-128-cbc name=RH_Sophos_Proposal pfs-group=none
/ip pool
add name=dhcp ranges=172.16.13.50-172.16.13.150
add name=POOL_MOBIL ranges=192.168.0.10-192.168.0.200
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=8h name=DHCP_PRODU
add address-pool=POOL_MOBIL interface=XMOBILE lease-time=8h name=DHCP_MOBILE
/interface bridge port
add bridge=bridge comment=defconf interface=ether1
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wlan1
add bridge=bridge comment=defconf interface=wlan2
add bridge=XMOBILE interface=wlan3
add bridge=XMOBILE interface=wlan4
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set accept-redirects=yes accept-source-route=yes
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=lte1 list=WAN
add interface=XMOBILE list=LAN
/ip address
add address=172.16.13.254/24 comment=defconf interface=bridge network=172.16.13.0
add address=192.168.0.254/24 interface=XMOBILE network=192.168.0.0
/ip dhcp-server network
add address=172.16.13.0/24 dns-server=192.168.157.11,172.16.13.254 gateway=172.16.13.254 netmask=24
add address=192.168.0.0/24 dns-server=192.168.0.254 gateway=192.168.0.254 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=172.16.13.254 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=forward ipsec-policy=out,ipsec
add action=accept chain=forward ipsec-policy=in,ipsec
add action=accept chain=forward dst-address=172.16.13.0/24 log-prefix=ipsec src-address=192.168.157.0/24
add action=accept chain=forward dst-address=192.168.157.0/24 log-prefix=ipsec src-address=172.16.13.0/24
add action=accept chain=input src-address=192.168.157.0/24
add action=accept chain=input src-address=172.16.13.0/24
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked packet-mark=!ipsec  
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid  
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp  
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1  
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN  
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec  
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec  
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related disabled=yes hw-offload=yes  
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-mark=!ipsec connection-state=established,related,untracked  
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid  
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN  
/ip firewall mangle
add action=change-mss chain=forward dst-address=172.16.13.0/24 log=yes new-mss=1300 passthrough=yes protocol=tcp src-address=192.168.157.0/24 tcp-flags=syn tcp-mss=!0-1300
add action=change-mss chain=forward dst-address=192.168.157.0/24 log=yes new-mss=1300 passthrough=yes protocol=tcp src-address=172.16.13.0/24 tcp-flags=syn tcp-mss=!0-1300
add action=change-mss chain=forward log=yes new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn
add action=change-mss chain=postrouting new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.157.0/24 src-address=172.16.13.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN  
/ip ipsec identity
add my-id=address:172.16.13.0 peer=RH_Sophos
/ip ipsec policy
set 0 disabled=yes
add dst-address=192.168.157.0/24 peer=RH_Sophos proposal=RH_Sophos_Proposal src-address=172.16.13.0/24 tunnel=yes
/ip route
add disabled=no distance=1 dst-address=192.168.157.0/24 gateway=bridge pref-src=0.0.0.0 routing-table=main scope=30 suppress-hw-offload=no target-scope=10
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6  
add address=::1/128 comment="defconf: lo" list=bad_ipv6  
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6  
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6  
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6  
add address=100::/64 comment="defconf: discard only " list=bad_ipv6  
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6  
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6  
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6  
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked  
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid  
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6  
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp  
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10  
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp  
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah  
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp  
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec  
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN  
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked  
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid  
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6  
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6  
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6  
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6  
add action=accept chain=forward comment="defconf: accept HIP" protocol=139  
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp  
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah  
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp  
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec  
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN  
/system clock
set time-zone-name=Europe/Berlin
/system identity
set name=X13
/system routerboard mode-button
set enabled=yes on-event=dark-mode
/system script
add comment=defconf dont-require-permissions=no name=dark-mode owner=*sys policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\
    "\r\  
    \n   :if ([system leds settings get all-leds-off] = \"never\") do={\r\  
    \n     /system leds settings set all-leds-off=immediate \r\
    \n   } else={\r\
    \n     /system leds settings set all-leds-off=never \r\
    \n   }\r\
    \n "  
/tool e-mail
set address=smtp.X-gmbh.de from=X13@X-gmbh.de
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool sms
set port=lte1 receive-enabled=yes
/tool sniffer
set streaming-enabled=yes streaming-server=172.16.13.147PRODU_KEY supplicant-identity=""  
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=XMOBILE_KEY supplicant-identity=""  
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-XX country=germany disabled=no distance=indoors frequency=auto installation=indoor mode=ap-bridge security-profile=XPRODU_KEY ssid=XPRODU_TEST wireless-protocol=\
    802.11 wps-mode=disabled
add disabled=no keepalive-frames=disabled mac-address=1A:FD:74:A8:F8:6D master-interface=wlan1 multicast-buffering=disabled name=wlan3 security-profile=XMOBILE_KEY ssid=XMOBIL_TEST wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
add disabled=no keepalive-frames=disabled mac-address=1A:FD:74:A8:F8:6E master-interface=wlan2 multicast-buffering=disabled name=wlan4 security-profile=XMOBILE_KEY ssid=XMOBILE_TEST wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip ipsec profile
set [ find default=yes ] enc-algorithm=aes-256
add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=RH_Sophos_Profile
/ip ipsec peer
add address=178.XX.XX.XX/32 exchange-mode=ike2 name=RH_Sophos profile=RH_Sophos_Profile
/ip ipsec proposal
add auth-algorithms=sha256,sha1 enc-algorithms=aes-128-cbc name=RH_Sophos_Proposal pfs-group=none
/ip pool
add name=dhcp ranges=172.16.13.50-172.16.13.150
add name=POOL_MOBIL ranges=192.168.0.10-192.168.0.200
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=8h name=DHCP_PRODU
add address-pool=POOL_MOBIL interface=XMOBILE lease-time=8h name=DHCP_MOBILE
5175293307
5175293307 06.02.2023 aktualisiert um 15:46:05 Uhr
Goto Top
/ip route
add disabled=no distance=1 dst-address=192.168.157.0/24 gateway=bridge pref-src=0.0.0.0 routing-table=main scope=30 suppress-hw-offload=no target-scope=10
Die Route ist bei IPSec Blösdinn denn die IPSec-Policies bestimmen was über den Tunnel läuft! Die muss also weg.
Könnte ja auch an der Sophos liegen.
Ja klar, auch hier Hokus Pokus, die Einstellungen könnten ja von den anderen IPSec-Tunneln abweichen wir sehen es nicht.
aqui
aqui 06.02.2023 um 15:47:21 Uhr
Goto Top
IPsec auf dem MT rennt in der aktuellen 7.7 auch völlig unauffällig mit pfSense/OPNsense, FritzBox und Cisco. Und das in Wirespeed und egal ob IKEv1 oder v2. Am MT kann es also auch nicht liegen. Zumindestens dann nicht wenn man ihn richtig konfiguriert. 😉
Razer1
Razer1 07.02.2023 um 07:59:29 Uhr
Goto Top
Route ist aus, war tatsächlich fälschlicher weise drin.
Erklärt aber leider nicht warum die Perfomance so mies ist.
Habe auch nochmal die Sophos VPN Config und MikroTik GUI angehangen.
screenshot_6
screenshot_5
screenshot_4
5175293307
5175293307 07.02.2023 aktualisiert um 08:27:06 Uhr
Goto Top
  • Wie sieht denn die LTE Verbindung überhaupt aus Speedtest/Latenz sagt was aus?
  • Remote-ID ne private IP??
  • Max TCP Window auf Sophos Seite groß genug eingestellt für die Latenz der LTE Verbindung.
aqui
aqui 07.02.2023 um 08:53:58 Uhr
Goto Top
Ist zwar nicht der Grund aber dennoch solltest du deinen Lifetime Mismatch korrigieren.
Razer1
Razer1 07.02.2023 um 09:02:54 Uhr
Goto Top
Speed 200/20 und Ping 30ms also gut.

Ja, kann ich aber auch auf Mail etc. umstellen, gleiches Problem. Dient nur zu Identifizierung für die Sophos da ANY durch die LTE Verbindung.

Sophos Firmware Version SFOS 19.0.1 MR-1-Build365

console> show advanced-firewall
        Strict Policy                           : on
        FtpBounce Prevention                    : control
        Tcp Conn. Establishment Idle Timeout    : 10800
        UDP Timeout                             : 30
        UDP Timeout Stream                      : 150
        Fragmented Traffic Policy               : allow
        Midstream Connection Pickup             : off
        TCP Seq Checking                        : on
        TCP Window Scaling                      : on
        TCP Appropriate Byte Count              : off
        TCP Selective Acknowledgements          : on
        TCP Forward RTO-Recovery[F-RTO]         : off
        TCP TIMESTAMPS                          : off
        Strict ICMP Tracking                    : off
        ICMP Error Message                      : allow
        Caching for route lookups               : on
        IPv6 Unknown Extension Header           : deny
Razer1
Razer1 07.02.2023 um 09:07:36 Uhr
Goto Top
Zitat von @aqui:

Ist zwar nicht der Grund aber dennoch solltest du deinen Lifetime Mismatch korrigieren.

Stimmt, hatte ich wohl übersehen. Ein komisches verhalten, noch nie so Probleme mit einem Tunnel gehabt.
Razer1
Razer1 07.02.2023 um 14:02:45 Uhr
Goto Top
Ich kann das Problem mittlerweile auf die Sophos beschränken. Gleiches Phänomen tritt mit einer S2S Verbindung und zweiter Sophos auf.
5175293307
5175293307 07.02.2023 aktualisiert um 16:15:02 Uhr
Goto Top
Ist die Sophos zufällig virtualisiert?
Razer1
Lösung Razer1 08.02.2023 um 09:04:49 Uhr
Goto Top
Nein beides Hardware.
Eine XGS 2300 und eine XGS 87-W

Problem habe ich durch eine Firmware Update auf 19.5 gelöst.