IPTables NAT Verbindung an mehrere Rechner

Yaddi

Yaddi

Routinier
Hey.

Ich hab mal eine Frage. Und zwar spiel ich grad mit meinen NAT Verbindungen in IPTables rum. Ich hab da aber nen Problem.
Und zwar moechte ich fuer ICQ, Skype usw den File Transfer, Webcam Verbindungen usw freigeben.

Dazu ist es ja wichtig, das die Packete die an einem bestimmten Port ankommen, zu einem bestimmten Rechner weitergeleitet werden.

Allerdings hab ich jetzt ein Problem, daten die aus dem Internet kommen, gelangen an den Server / Router, hinter dem Router sitzen jetzt aber 3 weitere Rechner 192.168.3.2 - 192.168.3.4 ...

Wie richte ich denn für sowas ne Weiterleitung ein, und vorallem welche Empfangsip muss ich hier einrichten ? Und welche Weiterleitungsip ?

Oder gibt es ne andere moeglichkeit ?

Hab mal von der Struktur des Netztes ein 'wahnsinns' Beispielbild gemacht ;-)

Fuer Antworten danke ich schonmal im Vorraus :-)

Benni
 

Anhänge

  • bsp.jpg
    bsp.jpg
    6 KB · Aufrufe: 15
hi,
du kannst einfach im iptables script an Teilbereiche weiterleiten, indem du die Subnet veränderst.

Also zum Beispiel:

variable = 192.168.0.0/16

$IPTABLES -A OUTPUT -s $Computer -d $variable
.....usw.

hier ein Portforwarding im IPtables script:

$IPTABLES -t nat -A PREROUTING -i $source -d $destination \
-p TCP --sport $sourceport(incoming) --dport $dest.port(incoming)
-j REDIRECT --to-ports $portaufden du weiterleiten willst.

so long...
 
Hallo zusammen,

@Yaddi: Ich habe zwar keine IPTables Lösung, jedoch eine kurze Verständnisklärung, damit vielleicht dir die Lösung einfacher fällt.

Die Regeln sind abhängig davon zu erstellen, von welcher Richtung aus initiert wird. Wenn Du z.B. von deinem internen Netz einen Datentransfer initierst, muss die FW state sein, damit bei einer Antwort aus dem Internet der richtige Rechner gefunden wird.

Wenn du es allerdings erlauben willst, das man aus dem Internet Daten zusendet, dann musst du ein Portforwarding an einen bestimmten Rechner machen, da ansonsten die FW keine Ahnung hat, wohin es gehen soll.

Vielleicht kannst du dir für alle Rechner unterschiedliche Ports routen lassen, das weiß ich aber nicht genau (abhängig von den eingesetzen Programmen).

Gruß

Kesar_Neron
 
Naja irgendwie haut das auch alles nich so hin, das klappt nichmal wenn ich das nur an eine IP weiterlassen will ... Muss mich da mal weiter mit ausseinandersetzen ...
 
Ist doch nun wirklich nicht schwer.
Erstmal allgemein das Routing anmachen, also IP-Forwarding aktivieren und in der Firewall das Routing festlegen:
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -t nat -A POSTROUTING -o <netzwerk-device-zum-internet> -j MASQUERADE
dann den Port freigeben
Code:
iptables -A INPUT -m state --state NEW -p <tcp/udp> --dport <portnummer> -j ACCEPT
und die eintreffenden Pakete an die gewünschte IP weiterleiten
Code:
iptables -t nat -A PREROUTING -i <netzwerk-device-zum-internet> -p <tcp/udp> --dport <portnummer> -j DNAT --to-destination <ip-des-client-rechners>
(die Werte in den spitzen Klammern müssen natürlich entsprechend ausgetauscht werden.

Oder hab ich irgendwas falsch verstanden? Das ist doch das, was du machen willst, oder?
 

Ähnliche Themen

DSL-Modem & Linux-Router

Zurück
Oben