Instalei o vsFTPd no CentOS 5.5, emdoisservidores e adicionou esta regra aos seus iptables
:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Parece que isso não é suficiente, pois quando tento fazer upload de um arquivo de um servidor para outro, estou obtendo este resultado (o endereço IP está mascarado):
# ftp 99.99.99.99
Connected to 99.99.99.99 (99.99.99.99).
220 (vsFTPd 2.0.5)
Name (99.99.99.99:root): vinny
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (99,99,99,99,107,74)
ftp: connect: No route to host
Encontrei alguns artigos na rede sobre a segunda regra que devo adicionar iptables
, mas não encontrei a sintaxe correta para ela. Poderia ajudar por favor?
obs. Eu tenho uma instalação padrão do vsFTPd e não quero alterar nada dentro do arquivo de configuração ( /etc/vsftpd/vsftpd.conf
), se possível.
Responder1
Edite /etc/sysconfig/iptables-config e adicione esta linha:
IPTABLES_MODULES="ip_conntrack_ftp"
Salve-o e reinicie o iptables.
Isso ocorre porque o modo passivo usa portas não padrão para se comunicar, então você precisa manter o controle das conexões FTP e o iptables irá permiti-las quando necessário.