Como redirecionar uma porta usando IPTables no Red Hat Linux (RHEL)?

3

Gostaria de encaminhar a porta 80 para 8080. Então eu tentei editar /etc/syscongfig/iptables :

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Mas tenho:

# service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: 
          Line 8 seems to have a -t table  option.

Qual é o problema? Como isso deve ser feito?

    
por Ondra Žižka 13.01.2013 / 06:54

2 respostas

2

O arquivo /etc/syscongfig/iptables tem estrutura correta para o iptables-restore?

Tente adicionar esta regra manualmente ao firewall

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

E compare /etc/sysconfig/iptables com a saída do comando iptables-save

    
por 05.02.2013 / 09:11
1

Esta é a sua regra iptables :

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Mas acredito que deveria ser algo assim:

-A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

Observe que -m tcp é adicionado. Enquanto -p tcp corresponde ao protocolo da regra ou do pacote a ser verificado, -m tcp informa explicitamente ao IPTables que corresponda a um pacote TCP. Parece confuso, mas pelo que sei, -p tcp precisa ser emparelhado com -m tcp quando regras específicas de porta são invocadas.

Se alguém puder expandir a lógica / lógica por trás desse requisito, por favor, fale sobre isso nos comentários.

    
por 24.09.2015 / 04:13