
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 de 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 está errado?
Responder1
O Iptables precisa de alguns módulos do kernel carregados para que "RELATED, ESTABLISHED" funcione. Se seus clientes HTTP estiverem bem, obviamente você 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, diferentemente de um dispositivo ou driver de sistema de arquivos, não será carregado automaticamente pelo kernel.
> modprobe nf_conntrack_ftp
Deveria fazer isso. Não existe AFAIK, um método de distribuição cruzada para carregamento automático de módulos na inicialização, mas no Fedora você pode adicionar:
IPTABLES_MODULES="nf_conntrack_ftp"
para /etc/sysconfig/iptables-config
. Em outros sistemas que utilizam systemd
mas não possuem este arquivo, consulte man modules-load.d
.