Firewall blockt einzelnen Port trotz Freigabe
-
Hallo,
Ich habe mal wieder ein Problem, bei dem ich die Lösung nicht selber sehe und zwar blockt meine pfsense Firewall einen einzelnen Port, obwohl es eine "alles erlauben" und keine "verboten" Regel gibt.
Ich betreibe einen OpenVPN Server über den mehrere entferne Netzwerke mit meinem lokalen Netzwerk verbunden sind. Das funktioniert auch soweit einwandfrei. Nun habe ich aber festgestellt, dass ein Dienst nicht funktioniert, da keine Pakete empfangen werden, eine kurze Recherche in der Firewall zeigte dann auch, dass dieser Port blockiert wird, obwohl es nur eine allow-any Regel gibt.
Info:
Das Netzwerk 172.20.0.X ist das Tunnelnetzwerk, Die 4 ist der Router, der den Tunnel aufbaut.
Das Netzwerk 10.200.49.X ist das entfernte Netzwerk, welches hinter der 172.20.0.4 liegt
Das Netzwerk 10.200.104.X ist das lokale Netzwerk,Am entsprechenden OVPN_SERVER Interface sind folgende Regeln definiert:
Im allgemeinen OpenVPN Tab sind gar keine Regeln definiert.
Selbst die untere, deaktivierte Regel, die ich direkt über die Firewall erstellt habe, hat das Problem nicht behoben, weshalb sie jetzt erstmal wieder deaktiviert ist.
Was könnte dafür sorgen, dass speziell der Port 4100 geblockt wird? Alle anderen Programme haben keine Probleme.
Vielen Dank im Vorraus.
-
@knausepeter Hi,
der Port wird nicht geblockt. Da wird ein RESET gesendet (TCP:R!) was dann out of state ist und geblockt wird, das hat aber nichts mit dem direkten Zugriff zu tun. Zudem wird darüber der Traffic als "let out from firewall itself" als allowed getagged, was an sich schon darauf hinweist, dass irgendwas in deinem Setup eine sehr seltsame Route nimmt.
Ich vermute als entweder asymmetrisches Routing, falsches Routing oder irgendwas in der Art seltsames NAT Reflection. Aber das ist kein normaler Traffic a->b->c der da zu sehen ist und deshalb taucht auch das Reset package als geblockt auf, da es völlig wild auf dem Interface ohne vorherigen Bezug auftaucht. Da läuft also - wortwörtlich - was falsch(e Wege). :) Es könnte auch eine andere seltsame NAT Einstellung sein oder etwas wird genattet was gar nicht soll und deshalb dreht es seltsame Kreise.
Da bräuchte man mal etwas mehr in Richtig Plan oder Beschreibung wie die Netze wo wie verdrahtet oder VPN zusammengeschlossen sind und von-nach-wo was fließt. Das da oben ist aber out of state traffic der immer geblockt wird.
Cheers
-
Hey JeGr,
Vielen Dank für deine schnelle Antwort!
Was mir auf jeden Fall schonmal auffällt, ist dass sowohl der Router, der den Tunnel aufbaut Pakete an den Ziel-PC sendet als auch der Teilnehmer im entfernten Netzwerk. Ich wüsste nicht, wieso der Router zusätzlich Pakete an den PC im lokalen Netzwerk senden sollte.
Ansonsten ist es von der Topologie recht einfach:
entferntes Netzwerk -> entfernter Router baut Tunnel zu pfsense auf -> Tunnelnetzwerk -> pfsense -> lokales Netzwerk
keine NAT Regeln in der pfsense.
Was es jedoch noch gibt ist ein weiterer Router im lokalen Netzwerk, der eine statische Route zur pfsense eingerichtet hat, da die pfsense den bestehenden Router Stück für Stück ersetzen soll. Der bestehende Router hat auch einen VPN Server und die Clients werden nacheinander auf die pfsense umgezogen und dafür im Alt Router statische Routen angelegt. Das funktionierte bisher auch einwandfrei. Bis auf dieser eine Port. Ich hoffe, ich konnte es verständlich erklären.
Nachtrag: Ich kann von dem lokalen PC (10.200.104.100) den entfernten PC (10.200.49.100) anpingen und bekomme eine Antwort. Auch andere Programme, die eine Verbindung zwischen den PCs herstellen können problemlos kommunizieren, es scheint tatsächlich nur dieser eine Port zu sein
-
@knausepeter said in Firewall blockt einzelnen Port trotz Freigabe:
keine NAT Regeln in der pfsense.
Gibt es nie. Entweder hast du automatic an - oder manual und alle entfernt, was ich start bezweifeln mag. Und bei Auto gelten auch NAT Regeln bspw. auf VPN Interfaces auch wenn man das ggf. nicht möchte.
Was es jedoch noch gibt ist ein weiterer Router im lokalen Netzwerk, der eine statische Route zur pfsense eingerichtet hat, da die pfsense den bestehenden Router Stück für Stück ersetzen soll. Der bestehende Router hat auch einen VPN Server und die Clients werden nacheinander auf die pfsense umgezogen und dafür im Alt Router statische Routen angelegt. Das funktionierte bisher auch einwandfrei. Bis auf dieser eine Port. Ich hoffe, ich konnte es verständlich erklären.
Dann klingt das stark danach als wenn das Gerät was versucht wird zu erreichen entweder das falsche Gateway hat oder jemand den falschen Hin- oder Rückweg nimmt. Zwei Router die auch noch beide VPN machen schreit an der Stelle eigentlich schon nach Problemen :)
Zum Nachtrag: Die Hinweg kann durchaus ein anderer sein als der Rückweg. Ich weiß ja nicht wie die Remote Seite aussieht, vielleicht versucht hier der Rechner noch über die alte Verbindung zu gehen, der Rechner antwortet aber an die pfSense statt an den alten Router etc etc.
Das ist genau das was mit asymmetrischem Routing gemeint ist. Es ist kein linearer Weg, sondern es gibt ggf. mehrere Wege oder auch Dreieckswege die dann zu Problemen führen. Ansonsten wäre allein das auftauchen der "outgoing traffic" sowie des Reset Flags im Log zu auffällig, als dass es nicht in diese Richtung geht.
-
@jegr said in Firewall blockt einzelnen Port trotz Freigabe:
Gibt es nie. Entweder hast du automatic an - oder manual und alle entfernt, was ich start bezweifeln mag. Und bei Auto gelten auch NAT Regeln bspw. auf VPN Interfaces auch wenn man das ggf. nicht möchte.
Ja stimmt, Firewall NAT outbound ist aus hybrid gestellt.
Zum Nachtrag: Die Hinweg kann durchaus ein anderer sein als der Rückweg. Ich weiß ja nicht wie die Remote Seite aussieht, vielleicht versucht hier der Rechner noch über die alte Verbindung zu gehen, der Rechner antwortet aber an die pfSense statt an den alten Router etc etc.
Wie gesagt, was mich dabei so stutzig macht, ist dass alle anderen Programme zwischen den beiden PCs problemlos kommunizieren können.
Eventuell habe ich die Fehlerursache gefunden:
Ein anderes Netzwerk welches ebenfalls schon über den pfsense-Tunnel läuft funktioniert komplett einwandfrei, auch dieser 4100 Port.
Hierbei kommt auch nicht die TCP:R Meldung. (siehe unterster Eintrag)Daher vermute ich die Ursache am entfernten Router, der den Tunnel aufbaut. Bei dem Gerät handelt es sich um einen Insys MoRos Router, der in der Konfiguration einen Haken gesetzt hat, dass ausgehende Pakete mit der Router-Tunnel-IP maskiert werden, was auch erklärt, warum Pakete von der 172.20.0.4 versuchen mit dem PC zu kommunizieren.
Der Router des anderen, funktionierenden Netzwerks hat diese Option nicht.
Edit: Es war tatsächlich dieser Haken, die Pakete dürfen nicht mit der Tunnel-IP maskiert werden, was ja auch absolut Sinn macht.
Ich bedanke mich trotzdem für die schnelle Hilfe und vielleicht hilft das hier ja in Zukunft auch nochmal jemand anderem.
-
@knausepeter Klar, dann werden alle Pakete von der Remote Seite auf die Tunnel IP umgeschrieben. Vielleicht kommt da auch einfach der PC nicht mit klar oder blockt dieses Tunnel Netz. Oder das Netz ist doppelt in Verwendung - das kann vieles sein. :)
Ich bedanke mich trotzdem für die schnelle Hilfe und vielleicht hilft das hier ja in Zukunft auch nochmal jemand anderem.
Definitiv, daher ist es immer wichtig, sowas offen zu lassen und die Lösung/den Weg zu kennen :)