iptables
Kanske en fråga som dykt upp många gånger tidigare, men det har med port
forwarding med iptables att göra.
Jag kör en server (DC-hub) på en lokal maskin 192.168.0.12 (windows) och har
debianmaskinen som gateway för det lokala nätverket med ip 81.172.x.x.
eth0 är det externa kortet med ip 81.172.x.x, och eth1 det interna med ip
192.168.0.1.
Jag kör port forwarding med raden:
iptables -t nat -A PREROUTING -p tcp --dport 4411 -i eth0 -j DNAT
--to-destination 192.168.0.12:4411
Detta fungerar utmärkt med avseende på att inkommande uppkopplingar mot port
4411 skickas till rätt port på den interna servern. Problemet uppkommer när
de interna maskinerna vill nå servern. Jag kan inte ange adressen
81.172.x.x:4411, utan måste ge den interna adressen 192.168.0.12:4411.
Problemet med det är att dc-hubben får fel information, så att andra klienter
inte kan nå de interna klienterna. Jag vill inte köra dem i passive mode.
Det jag vill kunna göra är att adressen 81.172.x.x:4411, som är hubbens adress
för alla externa klienter ska kunna nås på samma sätt av de interna
klienterna.
Jag har inte kunnat komma på hur jag ska tala om för iptables att även om
interna datorer vill nå 81.172.x.x:4411, så ska även de uppkopplingarna
skickas till 192.168.0.12:4411.
Nån som har en bra idé?
//Ivar
Reply to: