![](https://seccdn.libravatar.org/avatar/81e231416070de5d81ef28e31ea5fa2c.jpg?s=120&d=mm&r=g)
Hallo, ich habe ein Problem mit iptables, kernel 2.4x: iptables -A PREROUTING -t nat -p tcp -d 10.105.1.100 --dport 4661 -j DNAT --to 10.105.1.3:4661 iptables -A PREROUTING -t nat -p tcp -d 10.105.1.100 --dport 4662 -j DNAT --to 10.105.1.3:4662 iptables -A PREROUTING -t nat -p udp -d 10.105.1.100 --dport 4665 -j DNAT --to 10.105.1.3:4665 iptables -A OUTPUT -t nat -p tcp -d 10.105.1.100 --dport 4661 -j DNAT --to 10.105.1.3:4661 iptables -A OUTPUT -t nat -p tcp -d 10.105.1.100 --dport 4662 -j DNAT --to 10.105.1.3:4662 iptables -A OUTPUT -t nat -p udp -d 10.105.1.100 --dport 4665 -j DNAT --to 10.105.1.3:4665 funktioniert nicht, eigentlich sollten doch die Pakete von 10.105.1.100 an 10.105.1.3 weitergeleitet werden. Ich habe es zum Testen auch mal mit Port 80 ausprobiert, das funktionierte auch nciht, es wurde immer der Webserver auf 10.105.1.100 benutzt und nicht der auf 10.105.1.3. Habe ich eine Denkfehler, oder einen Syntaxfehler? Zum System: local -> 10.105.1.100, eth0 Internet -> dynamisch, eth1 Die Pakete an 10.105.1.100:4661/5 sollen an 10.105.1.3:4661/5 weitergeleitet werden. Danke schon mal Gruß Martin
![](https://seccdn.libravatar.org/avatar/5dc5ff14cc8afd36f69486dbbaad53b3.jpg?s=120&d=mm&r=g)
Hallo Martin, deine Regeln sind falsch bzw. nur halb richtig :-) Du brauchst für sowas keine Output-Regeln, da die Pakete ja nicht vom lokalen Rechner selbst erzeugt werden. Es ist also mehr ein Denkfehler, folgende Regeln sollten funzen (allgemeine Schreibweise): iptables -t nat -A PREROUTING -i $ExternalNetworkDevice -p $Forward_Protokoll --dport $Forward_Dienst -j DNAT --to $Forward_Host iptables -I FORWARD -i $ExternalNetworkDevice -o $InternalNetworkDevice -p $Forward_Protokoll --dport $Forward_Dienst --sport $HighPorts -d $Forward_Host -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $ExternalNetworkDevice entspricht deiner externen Netzwerkkarte. $InternalNetworkDevice entspricht deiner internen Netzwerkkarte. $Forward_Protokoll ist hier TCP bzw. UDP. $Forward_Dienst ist die jeweilige Portnummer. $Forward_Host ist der Rechner, an den es weitergeleitet werden soll. Alles klar? Gruß Sebastian www.wolfgarten.com
participants (2)
-
Martin Spütz
-
Sebastian Wolfgarten