Hallo
auch wenn es evtl. nur bedingt direkt mit der OPNsense zu tun hat hoffe ich, das mir jemand helfen kann.
Ich habe hier folgende Konstellation:
Ich habe 2 Proxmox Hypervisoren. Auf jedem Hypervisor laufen 2 OPNsense VMs.
Hypervisor PMFW1:
Die FW1 ist mit der FW2 eine Hochverfügbare Firewall.
Die FWIntern mit der FWInternBackup.
Eine kleine Gemeinsamkeit haben alle OPNsense. Sie habe alle im VLAN1 eine Netzwerkverbindung. VLAN 1 ist das allgemeine VLAN in welchem Server (aber auch Clients, Drucker etc.) laufen.
Ansonsten sind sie in unterschiedlichen Netzwerkbereichen / VLANs / Broadcast Domänen unterwegs.
Ich habe auf allen OPNsense Maschinen CARP am laufen. Durch CARP werden die Netzwerkkarten in den Promiscuous Mode versetzt. (Nachher noch wichtig?)
Auf der FW1 läuft OpenVPN als Server.
Die jeweiligen CARP IDs (aktuell 1-22) vergebe ich absolut einzigartig. So kann ich mir sicher sein, dass es auch wirklich keine doppelten MAC-Adressen gibt.
Nun haben wir folgendes Problem:
Wenn man im OpenVPN Netz unterwegs ist und Telefonate via Softphone führen möchte so muss man vom VPN Netzwerk (10.20.253.0/24) zum Server Netzwerk (10.20.16.0/21) bzw. zum Server 10.20.20.52.
Die Pakete werden erstmal sauber geroutet eine Verbindung kommt zu Stande und es sieht alles gut aus.
Nach einer Bestimmten Zeit X (dies kann eine Minute oder aber auch über 40 Minuten betragen) bricht das Telefonat ab.
Wenn ich die FWInternBackup ausschalte kann ich so lange ich möchte telefonieren.
Ich habe nun mit Wireshark das ganze soweit eingegrenzt, dass es daran liegt, dass die FWInternBackup irgendwann ein ICMP "Time-to-live exceeded" sendet und daher dann das Telefon abbricht. Ist vielleicht etwas unglücklich in der Software umgesetzt aber leider nicht änderbar.
In dem ICMP Paket steht, dass es von Server zu Client gehen sollte.
Wenn ich die Details von dem Paket anschaue, dann sehe ich, dass das Paket aber auf dem Client angekommen ist.
Nun wundert es mich, dass dieses ICMP Paket überhaupt existiert.
Meine aktuelle Vermutung ist, dass die FWInternBackup das Paket dank Promiscuous Mode mitbekommt, denkt es wäre was für die FWInternBackup, es versucht zuzustellen (indem sie das Paket erst an ein anderes Gateway 10.46.23.2 und dieses dann an die FW1 weiterleitet) , es sich dann wieder im Proxmox Host "im Kreis dreht" und dann irgendwann der TTL zuschlägt und die FWInternBackup den Client via ICMP informiert.
Jemand eine Idee wie man das verhindern kann?
Alles was mir einfällt wäre mit mehr Hardware zu schießen indem ich jeder OPNsense eigene Hardware kaufe. Hier bin ich mir jedoch nicht 100% sicher ob dies dann wirklich hilft wegen Promiscuous Mode wenn die dann einfach an einem physikalischem Switch hängen statt einem virtuellen?
Danke schonmals und Viele Grüße
auch wenn es evtl. nur bedingt direkt mit der OPNsense zu tun hat hoffe ich, das mir jemand helfen kann.
Ich habe hier folgende Konstellation:
Ich habe 2 Proxmox Hypervisoren. Auf jedem Hypervisor laufen 2 OPNsense VMs.
Hypervisor PMFW1:
- FW1
- FWInternBackup
- FW2
- FWIntern
Die FW1 ist mit der FW2 eine Hochverfügbare Firewall.
Die FWIntern mit der FWInternBackup.
Eine kleine Gemeinsamkeit haben alle OPNsense. Sie habe alle im VLAN1 eine Netzwerkverbindung. VLAN 1 ist das allgemeine VLAN in welchem Server (aber auch Clients, Drucker etc.) laufen.
Ansonsten sind sie in unterschiedlichen Netzwerkbereichen / VLANs / Broadcast Domänen unterwegs.
Ich habe auf allen OPNsense Maschinen CARP am laufen. Durch CARP werden die Netzwerkkarten in den Promiscuous Mode versetzt. (Nachher noch wichtig?)
Auf der FW1 läuft OpenVPN als Server.
Die jeweiligen CARP IDs (aktuell 1-22) vergebe ich absolut einzigartig. So kann ich mir sicher sein, dass es auch wirklich keine doppelten MAC-Adressen gibt.
Nun haben wir folgendes Problem:
Wenn man im OpenVPN Netz unterwegs ist und Telefonate via Softphone führen möchte so muss man vom VPN Netzwerk (10.20.253.0/24) zum Server Netzwerk (10.20.16.0/21) bzw. zum Server 10.20.20.52.
Die Pakete werden erstmal sauber geroutet eine Verbindung kommt zu Stande und es sieht alles gut aus.
Nach einer Bestimmten Zeit X (dies kann eine Minute oder aber auch über 40 Minuten betragen) bricht das Telefonat ab.
Wenn ich die FWInternBackup ausschalte kann ich so lange ich möchte telefonieren.
Ich habe nun mit Wireshark das ganze soweit eingegrenzt, dass es daran liegt, dass die FWInternBackup irgendwann ein ICMP "Time-to-live exceeded" sendet und daher dann das Telefon abbricht. Ist vielleicht etwas unglücklich in der Software umgesetzt aber leider nicht änderbar.
In dem ICMP Paket steht, dass es von Server zu Client gehen sollte.
Wenn ich die Details von dem Paket anschaue, dann sehe ich, dass das Paket aber auf dem Client angekommen ist.
Nun wundert es mich, dass dieses ICMP Paket überhaupt existiert.
Meine aktuelle Vermutung ist, dass die FWInternBackup das Paket dank Promiscuous Mode mitbekommt, denkt es wäre was für die FWInternBackup, es versucht zuzustellen (indem sie das Paket erst an ein anderes Gateway 10.46.23.2 und dieses dann an die FW1 weiterleitet) , es sich dann wieder im Proxmox Host "im Kreis dreht" und dann irgendwann der TTL zuschlägt und die FWInternBackup den Client via ICMP informiert.
Jemand eine Idee wie man das verhindern kann?
Alles was mir einfällt wäre mit mehr Hardware zu schießen indem ich jeder OPNsense eigene Hardware kaufe. Hier bin ich mir jedoch nicht 100% sicher ob dies dann wirklich hilft wegen Promiscuous Mode wenn die dann einfach an einem physikalischem Switch hängen statt einem virtuellen?
Danke schonmals und Viele Grüße