Eu tenho um servidor CentOS com Java / J2EE (Tomcat) instalado na porta TCP 8080.
Eu tenho duas interfaces, eth0 e lo.
Eu preciso encaminhar todas as conexões de entrada na porta TCP 80 a 8080.
Eu tentei fazer o seguinte, que funciona:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to x.x.x.x:8080
iptables -A INPUT -p tcp -m state --state NEW --dport 8080 -i eth0 -j ACCEPT
em que x.x.x.x é o ip associado à interface eth0.
Isso parece também abrir a porta 8080 para o mundo externo, o que não quero fazer. Eu só quero a porta 80 exposta ao mundo externo, encaminhando todo o tráfego para 8080.
Qualquer ajuda seria apreciada.
Atualização: O iptables -L se parece com abaixo
[root@server admin]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere state NEW tcp dpt:http
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@server admin]#
iptables -t nat - list se parece com abaixo
[root@server admin]# iptables -t nat --list
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:http to:x.x.x.x:8080
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@server admin]# ^C