Problemas de download de FTP com o iptables - A conexão da porta 21 é permitida, mas a “Rede é inacessível”

1

Estou tentando me conectar a um site FTP, mas com, por exemplo, wget :

Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /gcrypt/gnutls ... done.
==> SIZE v3.2 ... done.
==> PASV ... couldn't connect to 217.69.76.55 port 40258: Network is unreachable

Se eu desabilitar o iptables, ele funciona, então obviamente esse é o problema. No entanto, tenho certeza que tenho tudo configurado corretamente:

# Accept related, established...
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# ftp/http(s) clients
-A OUTPUT -p tcp -m multiport --dports 21,80,443,8080 -j ACCEPT
-A OUTPUT -p udp --dport 21 -j ACCEPT

O que há de errado?

    
por goldilocks 29.03.2014 / 13:47

1 resposta

1

O Iptables precisa de alguns módulos do kernel carregados para que "RELACIONADOS, ESTABELECIDOS" funcionem. Se seus clientes HTTP estão bem, você obviamente tem alguns deles.

 > lsmod | grep conntrack
 nf_conntrack_ipv4      20258  6 
 nf_defrag_ipv4         12702  1 nf_conntrack_ipv4
 xt_conntrack           12760  6 
 nf_conntrack           99996  2 xt_conntrack,nf_conntrack_ipv4

No entanto, aquele para ftp, nf_conntrack_ftp , é adicional e, ao contrário de um dispositivo ou driver de sistema de arquivos, não será carregado automaticamente pelo kernel.

 > modprobe nf_conntrack_ftp

Deve fazer isso. Não há um método de distribuição cruzada para o carregamento automático de módulos no AFAIK, mas no Fedora você pode adicionar:

IPTABLES_MODULES="nf_conntrack_ftp"

para /etc/sysconfig/iptables-config . Em outros sistemas que usam systemd , mas não possuem esse arquivo, consulte man modules-load.d .

    
por 29.03.2014 / 13:47