ich besitze habe einen Server auf dem Debian Linux 3.x mit einer iptables 1.2.6a Firewall läuft.Nun möchte ich gerne einige Ports freigeben, damit die User im Netzwerk darüber kommunizieren können. Mit
geht es für EINEN Benutzer gut. So bald sich aber mehrere User gleichzeitig dafür interessieren geht das ganze schief, da ich es nicht geschafft habe einen ganzen IP-Bereich für das Forwarding anzugeben.
Was kann ich machen, damit jegliche Anfrage über den selben Port eine Antwort auf ihren Port bekommt?
geht es für EINEN Benutzer gut. So bald sich aber mehrere User
gleichzeitig dafür interessieren geht das ganze schief, da ich
es nicht geschafft habe einen ganzen IP-Bereich für das
Forwarding anzugeben.
ich besitze habe einen Server auf dem Debian Linux 3.x mit
einer iptables 1.2.6a Firewall läuft.Nun möchte ich gerne
einige Ports freigeben, damit die User im Netzwerk darüber
kommunizieren können. Mit
geht es für EINEN Benutzer gut. So bald sich aber mehrere User
gleichzeitig dafür interessieren geht das ganze schief, da ich
es nicht geschafft habe einen ganzen IP-Bereich für das
Forwarding anzugeben.
Logisch: Paket aus dem Internet kommt an, iptables guckt nach, an welchen Port es gehen soll, wenn dafür eine DNAT-Regel existiert wird die Zieladresse umgeschrieben und das Paket an den entprechenden Client weitergeleitet. Das geht nun mal nur mit einem Client pro Port, woher soll iptables wissen, für wen das ankommende Paket ist ? DNAT braucht man im Prinzip nur, um Serverdienste auf den Clients laufen zu lassen und ankommande Anfragen dahin weiterzuleiten.
Anderstrum geht das anders (SNAT): Client sendet Paket, Server tauscht Absender durch „öffentliche“ IP (und evtl. anderem Port) aus merkt sich, von welchem Client/Port das Paket original kam. Antworten auf dieses Paket werden automatisch an den richtigen Client weitergeleitet.
Was kann ich machen, damit jegliche Anfrage über den selben
Port eine Antwort auf ihren Port bekommt?
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --from (oder -j MASQUERADE ohne --from IP)