This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DNAT funktioniert nicht trotz protokollierter Pakete

Hallo,

Unsere Sophos UTM9 hat Schwierigkeiten mit einer DNAT Regel...

Es soll Port 8086 eines Uplink-Interfaces weitergeleitet werden zu Port 8086 auf einem internen Server.

Das Uplink-Interface ist ein PPPoE hinter ZyXel Router/Modem von Telekom mit statischer IP.

Konfiguration:

Als Datenverkehrsziel habe ich sowohl die Adresse als auch das Netzwerk des External2-Interfaces probiert.

Automatische Firewallregel ist angehakt, zusätzlich habe ich noch eine manuelle Regel hinzugefügt:

Wenn ich von einem Host im Internet versuche mich auf Port 8086 zu verbinden:

telnet XYZ 80
telnet: Unable to connect to remote host: Connection timed out
nmap -sT -p 8060 XYZ
Nmap scan report for XYZ
Host is up (0.039s latency).
PORT     STATE    SERVICE
8086/tcp filtered d-s-n

Das "Init-Paket" wird im Firewall-Log angezeigt, danach erscheint kein Traffic von/zur externen IP mehr:

Auf dem Zielhost (10.10.10.40) wird per iptables-regel alles an TCP/8086 in den Kernel-Log geschrieben. Verbindet sich ein Host aus dem LAN wird das korrekt protokolliert, vom Internet-Host aus wird nichts protokolliert.

Zwischen Sophos und Ziel-Host liegt nur ein L2-Switch (es kann also nichts abhanden kommen):

> ping -t 1 10.10.10.40
PING 10.10.10.40 (10.10.10.40) 56(84) bytes of data.
64 bytes from 10.10.10.40: icmp_seq=1 ttl=64 time=0.268 ms
64 bytes from 10.10.10.40: icmp_seq=2 ttl=64 time=0.155 ms

Was macht die Sophos also mit dem Protokollierten "Init"-Paket? Es wird ja korrekt protokolliert im Firewall-Log, auf dem Ziel-Host kommt es nicht an.

Der ARP-Cache Eintrag auf der Sophos ist korrekt, die Systeme können sich an-pingen, und der HTTP-Server auf dem Zielhost ist auch über einen virtuellen WebServer in der Sophos von Außen erreichbar (über das selbe Interface). Ich habe den Port ebenfalls zum Testen umgestellt von 8086 auf 60606, ohne Erfolg.

Andere DNAT-Regeln auf der Sophos funktionieren einwandfrei. Wo liegt der Fehler?



This thread was automatically locked due to age.
  • Was hat denn der interne Server als Gateway? Zeigt es auf die interne Adresse der UTM? Mach mal ein traceroute auf dem internen Server! Die D-Nat-Regel scheint korrekt zu sein, es wird ja auch übersetzt.

     

    Leider hast Du die Adressen im Livelog geschwärzt. Prüf bitte auch, ob das Objekt 10.10.10.40 auch wirklich 10.10.10.40 ist.

  • Hallo Thorsten,

    Der Server (10.10.10.40) hat die Sophos (10.10.10.254) als Gateway eingetragen.

    Die geschwärzte Destination-IP ist auch definitiv 10.10.10.40.

    Telnet von Sophos zu 10.10.10.40:8086 funktioniert ohne Probleme. Tracepath gegenseitig ebenfalls.

     

    In der Ausgabe von iptables auf der Sophos sieht für mich auch alles richtig aus:

    default

    Chain AUTO_FORWARD (1 references)
     pkts bytes target     prot opt in     out     source               destination
       14   840 CONFIRMED  tcp  --  *      eth0    0.0.0.0/0            10.10.10.40          policy match dir out pol none tcp spts:1:65535 dpt:8086 ctorigdst EXTERNAL2_IP


    Chain AUTO_OUTPUT (1 references)
     pkts bytes target     prot opt in     out     source               destination
        0     0 CONFIRMED  tcp  --  *      eth0    0.0.0.0/0            10.10.10.40          policy match dir out pol none tcp spts:1:65535 dpt:443
        0     0 CONFIRMED  tcp  --  *      eth0    0.0.0.0/0            10.10.10.40          policy match dir out pol none tcp spts:1:65535 dpt:8086


    nat

    Chain USR_OUTPUT (1 references)
     pkts bytes target     prot opt in     out     source               destination
        0     0 NFLOG      tcp  --  *      *       0.0.0.0/0            EXTERNAL2_IP        tcp spts:1:65535 dpt:8086 LOGMARK match 62001
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            EXTERNAL2_IP        tcp spts:1:65535 dpt:8086 to:10.10.10.40

    Chain USR_PRE (1 references)
     pkts bytes target     prot opt in     out     source               destination
       32  1920 NFLOG      tcp  --  *      *       0.0.0.0/0            EXTERNAL2_IP        tcp spts:1:65535 dpt:8086 LOGMARK match 62001
       32  1920 DNAT       tcp  --  *      *       0.0.0.0/0            EXTERNAL2_IP        tcp spts:1:65535 dpt:8086 to:10.10.10.40


    Heute habe ich noch einen tcpdump auf aufgezeichnet, während Init-Pakete protokolliert wurden kam auf dem Server nichts an.

    Ich versuche gleich noch einen tcpdump auf der Sophos direkt aufzuzeichnen.

  • Fehler gefunden: Die Pakete kommen auf dem Server an, jedoch auf dem falschen Interface.

    Es sind mehrere Interfaces (4 normale + 4 interfaces als LACP-Bond) vorhanden die im selben Subnetz hängen.

    Auf der Sophos ist heute eine andere MAC-Adresse für die 10.10.10.40 eingetragen, ich gehe davon aus dass der Server oder Switch nicht richtig konfiguriert ist. Aktuell sind 3 IPs unter der selben MAC-Adresse im ARP-Cache der Sophos, 2 dieser Einträge sind falsch...

     

    Somit wäre das Thema erstmal erledigt, danke für die Hilfe!