elgio
(usa OpenSuSE)
Enviado em 15/09/2009 - 10:09h
-o significa output, saindo pela interface.
PREROUTING significa antes de rotear, ou seja, logo que o pacote entra em uma interface. Por isto não tem como usar -o com PREROUTING pois o pacote ainda não está saindo por lugar algum. Sairá ao ser ROTEADO (FORWARD) ou depois do roteamento (POSTROUTING)
REDIRECT é apenas quando queres redirecionar o tráfego para uma nova porta da mesma máquina. Quando é outra máquina deve-se usar o DNAT.
O renato pacheco apenas se equivocou com o REDIRECT (que tu corrigiu) que com a última linha. As corretas são estas:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.2.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.2.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to 192.168.2.2
Ah, no Vmware a vmnet1, por padrão, é HOST-ONLY, logo terias que ligar o roteamento na mão, caso ainda não o tenhas feito.
Isto pode ser realizado no servidor:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i vmnet1 -j ACCEPT
iptables -A FORWARD -o vmnet1 -j ACCEPT
As duas regras anteriores são desnecessárias se a política FORWARD estiver em ACCEPT.