Transferência por FTP muito lenta quando o Firewall do Windows está habilitado

1

Temos uma tarefa agendada que transfere um arquivo grande (~ 130 MB) entre dois servidores Windows usando o programa FTP da linha de comando do Windows. É dolorosamente lento (demora cerca de 30 minutos) e termina ocasionalmente antes da conclusão da transferência. Os servidores são 2003 (envio) e 2008 (recebimento).

Se eu transferir o arquivo manualmente, usando a GUI do FileZilla, ele será executado consideravelmente mais rápido e concluído em alguns minutos. Não posso usar essa abordagem, porque queremos que isso seja executado automaticamente e o FileZilla não pode ser roteirizado.

Também notei que, quando desativo o Firewall do Windows 2003, o FTP da linha de comando é repentinamente muito mais rápido e atinge a mesma velocidade do FileZilla.

Portanto, parece que tenho uma solução para desativar / ativar o firewall antes e depois da transferência. Mas depois de pesquisar bastante, isso não parece ser um problema comum, e tenho a sensação de que algo está configurado de forma errada em algum lugar.

Alguém pode esclarecer por que desabilitar o firewall melhora a velocidade de forma tão dramática? E por que o FileZilla é mais rápido que o FTP da linha de comando (quando o Firewall está habilitado)?

    
por Troy 25.01.2012 / 01:33

3 respostas

1

O ICMP é um requisito de host da Internet. Às vezes, os administradores bloqueiam todos os ICMP porque "ouviram em algum lugar que era um risco de segurança". Mas o ICMP não é opcional e o TCP confia nele. (No mínimo, 'fragmentação necessária' deve ser permitido.)

    
por 25.01.2012 / 05:03
1
  1. você precisa saber o que está bloqueando primeiro. Faça o download do Process Monitor da Sysinternals (Microsoft).
  2. Nesse programa, selecione apenas "mostrar atividades da rede" (um botão na barra no canto superior esquerdo)
  3. verifique os pacotes e encontre os FTP.

    server1.domain.com:12345 -> server2.domain.com:21

  4. clique no nome do processo e selecione incluir para adicionar o processo que está executando o ftp.
  5. teste a transferência do ftp com o firewall e sem ele.
  6. compare os dois dados. deve ser uma porta bloqueada pelo firewall. você deve abrir essa porta entre os dois PCs.
por 19.05.2012 / 17:23
0

O problema é que a linha de comando FTP usa o modo ativo FTP.

O Filezilla muda automaticamente para o modo passivo ftp, que é muito mais amigável ao firewall.

A linha de comando FTP suporta apenas ativos, então você está preso lá.

Use um utilitário alternativo para ftp que suporte o modo passivo a partir de uma linha de comando (existem opções de linha cmd para o filezilla que podem atender às suas necessidades).

    
por 20.05.2012 / 20:43