Zwei interne Systeme in zwei verschiedenen VLANs sollen "extern" reden

Started by Seb, September 01, 2025, 03:54:45 PM

Previous topic - Next topic
Hallo Forum,

ich verstehe gerade etwas nicht und hoffe, dass mir jemand helfen kann :)

An meiner OPNSense habe ich ein IPv4 /28er WAN.

Intern habe ich meine Netze durch VLANs segmentiert.

In VLAN 10 steht Server 1
In VLAN 20 steht Server 2

Beides sind Mail-Server für mehrere Domains und Postfächer.

Server 1 geht Outbound raus über WAN IP 1 und hat Port Forwarding für WAN IP 1 -> Server 1 eingerichtet.
Server 2 geht Outbound raus über WAN IP 2 und hat Port Forwarding für WAN IP 2 -> Server 2 eingerichtet.

Extern funktioniert alles fein.

Wenn nun aber Server 1 eine Mail an Server 2 schicken möchte, versucht er es über die Externe IP vom anderen Server, die OPNSense macht aber eine "interne" IP draus?!

Ich habe unter Firewall -> Settings -> Advanced bereits Reflection aktiviert: (screenshot)

und auch NET Reflection in den NAT Rules auf enabled gesetzt, aber es klappt nicht, es kommt keine Kommunikation zustande und ich stehe auf dem Schlauch.

Habt ihr eine Idee?

Grüße
Seb





Hallo,

Quote from: Seb on September 01, 2025, 03:54:45 PMWenn nun aber Server 1 eine Mail an Server 2 schicken möchte, versucht er es über die Externe IP vom anderen Server, die OPNSense macht aber eine "interne" IP draus?!
Woraus? Aus der Ziel-IP?
Das macht die NAT-Regel beim Zugriff von extern auch. Lediglich die Quell-IP ist hier eine interne.

Bedenke, dass NAT Reflection alleine noch keine Verbindung erlaubt. Für die eigentliche NAT-Strecke erstellt OPNsense automatisch eine FW-Regel, wenn die Option entsprechend gesetzt ist. Für den internen Weg musst du die Regel selbst erstellen. Ziel ist die interne Server IP.

Hallo Viragomann,
danke für deine Antwort!
Genau, die Firewall Regeln habe ich.
Sie greifen auch. Log Auszug im Anhang.

Das Problem ist eher, dass die Mailserver die Mail ablehnen, weil sie den Hostname nicht finden. Der connect kommt am Mailserver von einer privaten IP an.
Im Log steht dann zB: reject: RCPT from unknown[192.168.88.220]: 450 4.7.25 Client host rejected: cannot find your hostname, [192.168.88.220]Ich frage mich nun, ob man es irgendwie hinbekommt, dass der Connect dann von der Public IP kommt, also so, als wären beide Systeme nicht hinter der gleichen Firewall.
Hast du dazu eine Idee?
Grüße
Seb

Hallo,

ich kenne diese Fehlermeldung nicht. Lässt sich dazu aber wahrscheinlich was im Netz finden.
Ich vermute aber, der Mailserver macht einen DNS Reverse-Lookup (PTR) zur Quell-IP und bekommt keinen zum SMTP-Servernamen (im EHLO) passenden Hostnamen zurück.
Der Reverse-Lookup lässt sich normalerweise deaktivieren, ist aber auch ein Sicherheits-Feature.

Quote from: Seb on September 09, 2025, 02:55:08 PMIch frage mich nun, ob man es irgendwie hinbekommt, dass der Connect dann von der Public IP kommt, also so, als wären beide Systeme nicht hinter der gleichen Firewall.
Mit einer Outbound NAT Regel.

Wenn es am PTR liegt, wäre aber die elegantere Lösung, einen entsprechenden Eintrag im lokalen DNS zu setzen.
Wenn du Unbound DNS auf der OPNsense verwendest, müsstest du dafür einen Host Override für den Quellserver setzen, am besten für beide. Dann benötigst du auch nicht NAT Reflection für die Kommunikation der beiden.