Sorry, aber natd (portforwarding) problem

daiv,

das zweite lokale Subnetz ist für Deine Server mit den Diensten (ob der Dienst nun in einer jail läuft oder nicht ist egal) gedacht, die Du nach außen hin veröffentlichen willst. Dein Vorschlag ist soweit ok mit den Subnetzen (IP Adressen) und NIC's.
Dass die Anfragen wie vorher auch nicht über tun0 reingehen ist korrekt. Der Unterschied ist aber diesmal, dass Du mit einem zweiten Subnetz erzwingst, dass die Antwortpakete von Deinem Server zuerst zur Firewall geschickt werden, die dann die Gelegenheit hat die entsprechende Redirection umzukehren. Befindet sich sowohl der Client wie auch der Server im selben Subnetz und Du benutzt die Redirection auf dem internen Interface (rdr on $int_if proto tcp from any to ($ext_if) port 80 -> $server port 80) wird das erste TCP Packet zum Verbindungsaufbau noch korrekt an den Server weitergeleitet, der aber dann direkt mit seiner privaten IP als Absender dem Client antwortet ohne dass das Packet über die Firewall geht und die Absender IP wieder umgesetzt werden könnte. Also werden alle nachfolgenden Packete gedroppt vom Client weil die Absender IP nicht stimmt.
Hast Du jetzt aber zwei getrennte Subnetze für die Clients und für die Server, kannst Du eine Redirection Rule auf dem internen Interface für das Clientsubnetz definieren. Die Firewall setzt dann die Ziel IP um und routet das Packet direkt in das Subnetz in dem sich der Server befindet. Dieser antwortet dann mit seiner privaten IP als Absender und schickt das Packet wieder zur Firewall (er kann es nicht direkt zum Client PC schicken, da dieser sich in einem anderen Subnetz befindet und um von einem Subnetz ins andere zu gelangen muss geroutet werden). So hat die Firewall die Möglichkeit die Redirection umzukehren (private Absender IP wird durch öffentliche IP von tun0 ersetzt) und das Packet direkt wieder in das Client Subnetz zu routen.

Ich hoffe das konnte man einigermaßen verstehen, aber wenn sich Fehler eingeschlichen haben sollten bitte ergänzt mich. :)

Jetzt alles klar daiv?
 
mhh wieso nimmst eigentlich natd zum redirecten?

ipfw add fwd zielip,zielport protokoll from sender to empfänger port via iface

ipfw add fwd 192.168.0.1,80 tcp from any to me 80 via tun0

in dem fall...
falls nötig noch n keep-state dahinter...
 
Hallo,

Vielen Dank für Eure Antworten. :)

Ich werde versuchern, ob ich das über ein anderes Subnetz hin bekomme, ansonsten bleibt wohl als "alternative" Lösung das ganze übern DNS in einer weiteren Jail zu leiten. :rolleyes:
 
Zurück
Oben