iptables DNAT und PAT

naked_chef

New member
moin moin,

folgendes problem.

auf rechnerA läuft auf port 80 ein squid.
bis jetzt lief auf rechnerB ein proxy auf dem port 3128.

die daten von rechnerB sind bei allen eingetragen. da wir im moment nicht an die aussendienst systeme herankommen, müssen ich mit iptables was basteln.

zum einen muss NAT ran und zum anderen PAT

folgende regeln stehen im moment:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 80
# damit alle anfragen von port 3128 auf port 80 umgelegt werden

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j DNAT --to-destination rechnerA
# damit sollen die anfragen an den passenden server weitergereicht werden

kommt es so hin?
denn egal welche regel ich von beiden absetze, es taucht keine in iptables -L auf.
Ideen?

thx naked
 

shodan

New member
Auszug aus der Manpage
so NAT rules get listed by iptables -t nat -n -L
Des Wieteren musste du beachten das der traffic auch vom RechnerA über RechnerB zum Client zurück geht.

Denn der Client erwartet die Pakete von RechnerB.

Hier findest du noch ein beispiel.

mfg
 

naked_chef

New member
so, jetzt sehen die regeln wi folgt aus

iptables -t nat -A PREROUTING -i eth0 -s ! rechnerA -p tcp --dport 3128 -j DNAT --to rechnerA:80
iptables -t nat -A POSTROUTING -o eth1 -s local_net -d rechnerA -j SNAT --to rechnerB
iptables -A FORWARD -s local_net -d rechnerB -i eth0 -o eth0 -p tcp --dport 80 -j ACCEPT
 
Oben