FTP ativo

1. FTP ativo

João Paulo Ramos Rezende
jprrezende

(usa Debian)

Enviado em 27/06/2017 - 11:47h

Bom dia pessoal,
tenho uma rede que estra atrás de um NAT. Nesta rede ficam alguns clientes de ftp. Em outra rede tenho um servidor FTP. Entre estas redes tenho um gateway/firewall e faz NAT, tudo em IPtables. Crei a regra do NAT e habilitei os módulos ip_nat_ftp e ip_conntrack_ftp. Entretanto não consigo fazer com que os cliente (que estão atrás do NAT) consigam acessar o servidor FTP.
Realizando um monitoramento pelo wireshark, noto que a conexão é estabelecida entre o cliente e servidor, mas na hora do PWD ocorre erro. Alguém já passou por isso?


  


2. Re: FTP ativo

Buckminster
Buckminster

(usa Debian)

Enviado em 27/06/2017 - 13:43h

Você liberou as portas FTP no Iptables?
Tuas políticas padrões estão como DROP ou ACCEPT?
Teu provedor libera a porta FTP?


3. Re: FTP ativo

João Paulo Ramos Rezende
jprrezende

(usa Debian)

Enviado em 27/06/2017 - 13:51h

As politicas padões estão ACCEPT e eu não criei nenhuma regra DROP ou REJECT.
Caso eu conecte um cliente diretamente na rede do servidor a comunicação acontece normalmente.
O NAT está funcionando bempara outros serviços, também consigo ping no servidor e tudo mais.

Abaixo a saida do meu IPTables.

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
LOG all -- anywhere anywhere limit: avg 3/min burst 3 LOG level warning prefix "LOG-FW: "
ACCEPT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target prot opt source destination




4. Re: FTP ativo

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

Enviado em 27/06/2017 - 14:51h

jprrezende escreveu:

"Realizando um monitoramento pelo wireshark, noto que a conexão é estabelecida entre o cliente e servidor, mas na hora do PWD ocorre erro."

Quando a conexão entre cliente e servidor consegue ser estabelecida mas apresenta erro na sequência das operações, geralmente, significa que as configurações na porta de comandos (tipicamente a porta 21) estão corretas; porém as permissões na porta de dados estão com algumas limitações.

Se você estiver utilizando o FTP em seu modo Ativo (e deduzo isso por causa do título do seu tópico), é necessário configurar os clientes para aceitarem uma "nova conexão" (status NEW) em suas portas altas.

Na saída do seu Iptables aparece apenas "state RELATED,ESTABLISHED", quando o correto para o modo FTP Ativo seria ter a saída "state NEW,RELATED,ESTABLISHED".

Observe que você precisa ter o cuidado para permitir "novas conexões" apenas na faixa de portas que será utilizado pelo protocolo FTP (não permitido assim que essa regra se generalize para todas as portas do computador -- o que diminuiria a segurança do sistema como um todo)

Se você diz que sem a mediação do NAT o cliente consegue acessar normalmente o servidor FTP, então, é provável que seja o NAT que esteja bloqueando o acesso. Nesse caso, você deve fazer com que o NAT permita que uma conexão com o status de "nova" passe por ele no sentido do servidor para o cliente.

Para o FTP no modo passivo, no entanto, é provável que suas configurações já tornem possíveis o funcionamento do serviço FTP (uma vez que nesse modo de operação do FTP os clientes não precisam estar configurados para aceitar uma "nova conexão")



5. Re: FTP ativo

Buckminster
Buckminster

(usa Debian)

Enviado em 27/06/2017 - 15:28h

"Caso eu conecte um cliente diretamente na rede do servidor a comunicação acontece normalmente."

O que tu quer dizer com isso?


6. Re: FTP ativo

João Paulo Ramos Rezende
jprrezende

(usa Debian)

Enviado em 27/06/2017 - 16:10h

Buckminster escreveu:

"Caso eu conecte um cliente diretamente na rede do servidor a comunicação acontece normalmente."

O que tu quer dizer com isso?


O servidor está numa rede "10.1.150.0/24" os clientes em uma rede "192.168.10.0/24", para contectar essas redes o gateway que faz o roteamento também faz NAT. Se eu pegar uma máquina cliente que está na rede "192.168.10.0/24" e conectar ela diretamente às rede "10.1.150.0/24" (claro configurando um IP válido desta rede) funciona normalmente.