Usando o cliente FTP do Windows por trás do firewall estrito

1

Existe um software que depende do Windows ftp.exe para transferir arquivos. O problema é que o computador que o executa está por trás de um firewall muito estrito, ele não funciona com FTP ativo.

O FTP do Windows funciona somente no modo FTP Ativo.

Eu estava pensando nessa solução. Enviando um pacote de uma porta escolhida (por exemplo, 1027) para a porta 20 do endereço do servidor. O firewall NAT permitirá o acesso de entrada da porta 20 a 1027. Em seguida, o computador enviará um comando PORT ao servidor para informar que a porta de dados do cliente é 1027. A transferência de dados será iniciada.

Funcionará? Como faço para que funcione apenas com o programa ftp do Windows?

Nota: o servidor que estou usando é o FileZilla FTP Server

    
por Matty2 03.03.2015 / 07:59

1 resposta

0

I was thinking of this solution. Sending a packet from a chosen port(for example, 1027) to port 20 of the server address. The NAT firewall will then allow incoming access from port 20 to 1027. Then, the computer will send a PORT command to the server to inform that the client data port is 1027. The data transfer will then start.

Eu não acho que você possa dizer a ftp.exe para usar uma porta de sua escolha. Ele envia o PORT com uma porta de sua escolha. Você (o aplicativo) não envia você mesmo.

There is an option on the FileZilla Server "Ignore unroutable IPs on PORT command" Should I enable it? Will it solve the problem?

Ajudaria, pois o problema é que o cliente não sabe seu endereço IP externo (o que significa que ele envia um IP incorreto no comando PORT ). O que é realmente o caso ( 10.10.1.239 é o endereço IP local que o servidor não pode acessar), então você precisa ativar a opção. Mas você afirma que o problema é o firewall também. Então, embora a opção ajude, ela não resolve todos os problemas que você tem.

Obviamente, a solução mais fácil seria reconfigurar seu firewall para permitir o modo Ativo. Isso significa abrir as portas de entrada no intervalo de conexão de dados.

Veja o meu artigo Configuração de rede para o modo ativo .

Você pode restringir as regras apenas para o endereço IP do servidor. Você pode até restringi-los até a porta remota 20 somente.

A única outra ideia que tenho é desenvolver um cliente ftp.exe falso que usa o modo Passivo. Não será tão difícil se você usar alguma biblioteca de cliente FTP e restringir a funcionalidade do cliente apenas àquele que o aplicativo realmente usa.

    
por 03.03.2015 / 10:50