Assymetrisches Routing Problem?

Hi zusammen,

kurz zu meinem Aufbau:

- Home Netz 192.168.1.0/24 -> komplett TP-Link Omada

- Proxmox Server in Netz 192.168.1.0/24

 iptables Proxmox

- WAN Bridge auf Proxmox Server für VMs 192.168.100.1 um Internet vom Host

- VM Netz 192.168.200.0/24 

-- 192.168.200.254 -> Sophos XG Home

Interfaces

FW Regeln für den Verkehr von 1 zu 200 und umgekehrt

Mein Problem:

Ich möchte das 200er Netz vom 1er Netz erreichbar machen. Das klappt soweit auch semi ganz gut. Pings auf die Firewall, der Webaufruf der Firewall klappen reibungslos. Jedoch ist es mir nicht möglich, einzelne VMs im Netz zu erreichen z.B. per SSH oder HTTPS etc.. Die XG meldet immer "Invalid Packet" oder "Could not associate packet to any connection". Interessanterweise funktioniert die WAF jedoch reibungslos. Hier ist jedoch ein hardcoded routing über die Proxmox iptables notwendig gewesen, um sie von außerhalb erreichbar zu machen.

Mittlerweile weiß ich nicht mehr so recht weiter. Ich würd die Netze gern separiert lassen.

Hat jemand eine Idee, wie ich die Netze ordentlich miteinander verheiratet bekomme, ohne irgendwelche bypass-Spielchen zu betreiben?



Added TAGs
[edited by: Erick Jan at 12:22 AM (GMT -7) on 7 Apr 2025]
  • Leider kann ich den initialen Post nicht mehr bearbeiten. Hier die Bridges von Proxmox 

    • Du kannst auf der Firewall ein Packet Capture durchführen: Wenn die Firewall nur ein Paket sieht. 

      Dein Paket oben deutet darauf hin, dass nur das Rück Paket an die Firewall gesendet wird, jedoch nicht das initiale Paket. 

      Ich kann leider Proxmox hier nicht beurteilen, aber es wirkt so, als würde nur das Rückpaket weitergeleitet werden. 

      __________________________________________________________________________________________________________________

      • Danke dir für deine Antwort.

        Guter Punkt, bin ich noch gar nicht drüber gefallen. In den iptables ist es manuell nicht geforwarded... muss ich mir mal näher ansehen.

      • Ich verstehe leider nicht viel von Proxmox, aber warum hat der in jedem Netz ein IP-Interface?
        Meine VM-Hosts (XenServer) verbinden die VMs mit einem VLAN, welches auf der Firewall das Gateway hat.
        Meine VM-Hosts haben je nur 1-2 IPs, eine fürs Management und eine fürs Cluster-Netz. 

        Was ist das Gateway auf den virtuellen Maschinen?


        Dirk

        Systema Gesellschaft für angewandte Datentechnik mbH  // Sophos Platinum Partner
        Sophos Solution Partner since 2003
        If a post solves your question, click the 'Verify Answer' link at this post.

        • Danke dir für deine Antwort. 

          Ich habe es 2020 nach best practices aufgebaut. Ich kann dir leider nicht sagen, warum Proxmox so arbeitet. Es ist auf jeden Fall nicht anders lösbar gewesen.

          Das Gateway für die VMs ist 192.168.200.254 - also die XG.

          • Hhhm, das sieht wirklich etwas komisch aus, hat den die PVE nur eine Netzwerkkarte? Wenn ja, wie sollen denn die anderen beiden Netze ohne Vlan denn bedient werden? Nur jeweils eine Bridge für die jeweiligen VMs anzulegen reicht wohl nicht, denn diese muss ja dann auch an eine Netzwerkkarte gebunden sein, an sonst gibts nichts zum verteilen.

            • Hallo Kewinter,

              mal eine ganz verwegene Frage. Was passiert wenn du zum testen eine Any Regel erstellst?

              LG

              Patrick

              --------------------------------------------------------------------------------------------------------------------------------------

              Wenn du dir sicher bist alles kontrolliert zu haben und es immer noch nicht klappt, prüfe alles nochmal!

              • Ist was dran. Der PVE hat nur eine Netzwerkkarte, der Rest ist komplett virtuell.

                • Hi, mit einer Any<>Any hab ichs schon getestet gehabt mit demselben Ergebnis.

                  • Der PVE hat nur eine Netzwerkkarte, der Rest ist komplett virtuell.

                    Und weder vmbr1, noch vmbr2 haben ein Bein im physikalischen Netz. Ob sich dann bei diesen Bridges die Netzwerkekarte noch einbinden lässt oder lassen muss  , vielleicht ist dann auch mit Bonds, Vlans oder Vnets zu arbeiten. Was verstehts Du eigentlich unter "komplett virtuell"? Aber ich glaube, diesbzüglich bist Du ohnehin in einem Proxmox-Forum besser aufgehoben.

                • Also ich habe das Thema jetzt mal ganzheitlich betrachtet und versucht, eine lösungsorientierte Netzwerktopologie zu evaluieren, die den segmentierten Datenfluss innerhalb der Virtualisierungsumgebung konsolidiert. Gerade bei hybriden Architekturen, die auf einer Container-basierten Bridge-Layering-Infrastruktur aufsetzen, ist es natürlich essenziell, dass der L3-Routing-Stack auf allen Subnet-Knoten redundant performt. Die Sophos XG spielt hier in einer Edge-Gateway-Rolle natürlich eine zentrale Rolle bei der Session-Persistence in Verbindung mit intelligentem Traffic-Shaping. Man darf auch nicht vergessen, dass DNAT und SNAT in einem synchronisierten Firewall-Kontext bidirektional betrachtet werden müssen, um Endpoint-Transparency zu gewährleisten. Und wenn dann noch asymmetrisches Path-Handling dazukommt – ja, dann knallt’s halt manchmal richtig schön. Sweat smile

                  Aber Spaß beiseite – hier kommt die echte Ursache und Lösung:

                  Dein DNAT auf dem Proxmox-Host sorgt dafür, dass eingehender Traffic zwar korrekt weitergeleitet wird, aber die Rückpakete nicht denselben Weg zurücknehmen. Dadurch erkennt die Sophos XG (zurecht) keine Session und droppt das Ganze → "Invalid Packet".

                  • DNAT auf Proxmox rausnehmen, zumindest für den internen Traffic.

                  • Auf der Sophos XG eine statische Route anlegen:

                    • Zielnetz: 192.168.1.0/24

                    • Gateway: 192.168.200.1 (bzw. die IP deines Proxmox-VMNICs)

                  • Noch sauberer: Sophos XG eine weitere NIC im 192.168.1.0/24 Netz geben, sodass beide Netze direkt über die XG geroutet werden können.

                  • Alle relevanten VMs im 200er Netz sollten die Sophos XG als Default-Gateway haben – so ist der Rückweg garantiert konsistent.

                  • Das sieht schonmal ganz gut aus. Vielen Dank. Die XG ist jetzt aus .200 und .1 erreichbar. Die WAF konnte ich rekonfigurieren, sodass die Server auch wieder erreichbar sind. DNAT ist aus den PVE iptables raus.

                    Nun habe ich aber das Problem, dass ich nicht verstehen möchte, warum der interne Traffic zwischen .200 und .1 nicht klappt. Die VMs haben alle die XG im 200er Netz als Gateway.

                      • Hi, 

                        Klasse, dass du den Knoten lösen konntest. Sieht deutlich besser aus, auch wenn es dich ins Debbing zwingt. 

                        Was du checken kannst: 

                        1. Fehlende oder zu enge Firewall-Regeln auf der XG:

                        In deinem Screenshot sieht man zwar, dass du Regeln wie "LinkFromYMLAN und LinkFromAMLan" hast, aber prüf genau ob:

                        - Source Zone =LAN200

                        - Destination Zone = LAN

                        Service = Any (zum Testen erstmal offen)

                        - Action = Allow

                        - Logging aktiviert (zum nachzollziehen)

                        Fehlt die Regel -> Drop

                        2. Device Access erlaubt? 

                        Falls du z.B. von einer VM im .200 Netz auf die Sophos WebGUI im .1er Netz willst: 

                        Erlaube dass z.B. HTTPS, Ping, SSH für beide ZTonen (LAN & LAN200) aktiv ist

                        Ohne das -> Kommt nix durch, selbst wenn Regel passt. 

                        3. Sophos antwortet über "falsches Interface" 

                        Wenn du z.B. eine VM in .200 hast und etwas im .1er Netz anpingst, kann es sein, dass die Antwort nicht über die XG zurückläuft, sondern direkt über Proxmox (wenn der eine IP im.1er Netz hat und Routing erlaubt ist)

                        Fix: 

                        - Prüfen ob die XG wirklich für beide Netze der Default Gateway ist

                        - Alternativ: auf der XG Policy Routing erzwingen, damit Pakete aus dem .200er Netz auch bei Antwort über denselben Pfad zurückgehen. 

                        4. Sophos blockt wegen Invalid Traffic 

                        Wie auf dem Screenshot zu sehen: die Sessions tauchen mit Invalid Traffic auf. Das bedeutet, die Antwortpakete nicht mehr zur ursprünglichen Verbindung zugeordnet werden können. Ursachen: 

                        - Kein passender Rückweg

                        - Assym. Routing

                        - Verbindung wird von der Instanz unterbrochen

                        tcpdump auf der Sophos auf Port1 und Port3 laufen lassen, parallel ein Paket senden -> sehen wo´s hängenbleibt. 

                        Die Richtung stimmt schonmal. Jetzt musst du in der Sophos sicherstellen:

                        • Der komplette Verkehr zwischen den Zonen erlaubt ist (Firewall-Regel!)

                        • Device Access für beide Zonen erlaubt ist

                        • Es keine alternativen Routen über Proxmox oder andere Gateways gibt

                        • Die XG den gesamten Hin- und Rückverkehr sieht (ansonsten Invalid Traffic)

                        LG

                        Peter

                        • Hi,

                          XG als Gateway + korrekte Regeln und es läuft. Nun muss ich noch mein "WAN-Interface" umbauen. Das läuft historisch bedingt noch auf dem 100er Netz (Port2), weil ich zu damaliger Zeit ein schnelles, anderes Netz benötigte als WAN. Siehst du da Probleme, Interface Port2 abzulösen? 

                          • Hi, 

                            spitze, das freut mich! 

                            Grundsätzlich spricht nichts dagegen das Interface auf ein anderes Netz zu legen. Beachte aber bitte unbedingt

                            - Neue WAN-IP Konfigurieren

                            Port2 kannst du einfach mit einer neuen IP im gewünschten Netz ausstatten (z.B. 192.168.1.2 o.ä.)

                            - Default Gateway anpassen

                            Wenn du das WAN-Netz wechselst, denk dran, unter Static Routing das neue Gateway einzutragen (wichtig für den ausgehenden Traffic)

                            - Masquerading prüfen

                            Wenn du NAT brauchst (z.B. Internetzugang für interne VMs), sicherstellen, dass Masquerading für das neue Interface korrekt aktiviert ist

                            - WAN-Zone neu zuweisen

                            Das neue Interface muss wieder der Zone "WAN" zugewiesen werden. -> damit greift deine bestehende NATZ- und Filter-Logik weiterhin sauber.

                            - Regeln und Dienste kontrollieren

                            Falls du Dienste oder Regeln hattest die explizit auf Port2 oder 192.168.100.x referenzieren musst du sie ggf. anpassen

                            Solange du das neue Netz sauber einträgst, das Gateway neu setzt und die Zone korrekt zuweist gibt es keinerlei Probleme aus meiner Sicht. Ist eher administrativer Aufwand als technisches Risiko.

                            LG

                            Peter