Por que minhas novas regras iptables atrapalharam o tráfego de saída?

1

Recentemente, configurei o Tomcat na porta 80 usando instruções fornecidas por Werner Puschitz . Em essência, eu tive que executar estes dois comandos iptables:

iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

Eu alcancei o objetivo em relação ao Tomcat, mas ele estragou algumas outras coisas; por exemplo, quando tento executar o 'yum update yum', recebo os seguintes erros:

http://mirror.stanford.edu/yum/pub/centos/5.5/addons/x86_64/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (111, 'Connection refused')>
Trying other mirror.
http://mirrors.adams.net/centos/5.5/addons/x86_64/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (111, 'Connection refused')>
etc...

O WGET falha de maneira semelhante.

Eu sei que as regras do iptables são as culpadas porque removê-las corrigiu o problema com o YUM e o WGET. Então, por que essas regras estão estragando o YUM e o WGET? Eu estou supondo que é a regra OUTPUT, certo? O que isso realmente faz e por que é necessário? Esse efeito colateral desagradável é evitável?

    
por David Pinn 15.03.2011 / 09:16

1 resposta

3

Se você estiver executando o Tomcat no servidor, será o tráfego de entrada que precisa ser redirecionado para a porta 8080 e não para a saída.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-ports 8080

A segunda regra redireciona as solicitações de entrada na porta 80 geradas a partir do nó local onde o Tomcat está sendo executado, conforme mencionado no link. É necessário apenas se você quiser acessar o tomcat na porta 80 a partir do servidor.

    
por 15.03.2011 / 09:31