FTP passivo no Windows Server 2008 R2 usando o servidor FTP IIS7

2

Durante os últimos dias, configurei um Windows Server 2008 R2 em um VMware. Eu instalei o servidor FTP padrão nele usando o servidor Web (IIS) .

Tudo funciona bem com o acesso ao meu site FTP com ftp://localhost no Firefox . Eu também posso ter acesso a ele através do IP local do meu servidor. Na verdade, tudo funciona bem na minha LAN.

Mas aqui está o meu problema:
Eu quero ter acesso "de fora", usando o IP externo ou um dyndns -URL. Eu tenho um LinkSys -Router na frente do meu servidor, portanto estou encaminhando todas as portas importantes.

Se você pode pensar agora que "este idiota provavelmente esqueceu algumas portas", devo desapontá-lo. Ele ainda funciona obtendo acesso ao meu site do servidor e mexendo em alguns WebInterfaces.

O problema é meu FTP passivo (funciona ativo para mim). Eu sempre recebo um tempo limite, quando, por exemplo O FileZilla aguarda por uma resposta ao LIST -command. A única grande coisa que eu não entendo é porque meu servidor envia uma resposta para o PASV -command, nomeando uma porta como 40918 , mesmo que eu tenha restringido o intervalo de porta de dados para o meu FTP passivo (no IIS-Manager ) para, por exemplo [ 5000-5009 ].

Eu simplesmente não quero abrir e encaminhar todas as portas de dados possíveis!

E outra coisa é, eu não posso especificar um endereço IP externo estático para o meu servidor, já que eu não possuo nenhum.

Já tentei estas soluções:

--- EDIT: ---

Há uma ideia em mente: Quando eu uso o FileZilla para conectar pelo modo passivo eu sempre recebo algo assim:
227 Entering Passive Mode (192,168,1,102,160,86)
De acordo com um artigo do Rhinosof, o FZ tenta conectar na porta "160 * 256 + 86 = 41046 ", embora eu tenha restringido as portas de dados (como mencionado acima). Isso pode ser causado pelo roteador, que não encaminha as portas de saída diretamente, mas usa as diferentes?
(- > O endereço IP fornecido é o local, pois não sou capaz de definir um externo estático no IIS-Mgr)

--- EDIT 2: ---

Eu tive uma idéia sobre como alterar o dynamicportrange via netsh interface , mas nem mesmo os exemplos fornecidos pelo help -texto funcionaram. Eu acho que vou desistir com o IIS -FTP und, em seguida, usar o FileZilla-Server .
Conclusão: Olá freeware, bye "custa, mas simplesmente funciona" -Windows * cough *.

    
por Peter Wildemann 02.11.2012 / 21:15

4 respostas

0

Alterar o intervalo de portas dinâmicas no Windows não ajudará. A única coisa que ele faz é limitar qual porta será usada para o lado do cliente de uma conexão de soquete.

O que você precisa fazer é limitar o intervalo de portas usado pelo servidor FTP do IIS. Há um bom post no blog sobre isso no MSDN, mas aqui estão os pontos altos:

  • Se você estiver usando o servidor FTP interno, primeiro instale o serviço de função "IIS 6 metabase compatibility" (assim como as ferramentas de scriting associadas) e use o seguinte comando para definir a propriedade adequada da metabase :

    adsutil.vbs set / MSFTPSVC / PassivePortRange "5500-5525"

    • Se você estiver usando o módulo FTP para download do IIS 7.5 (aquele que você obtém de esta página ) então tudo o que você precisa abrir o editor de configuração do servidor e editar a propriedade" data port port range "em" FTP Firewall Support > Data Channel Port Range "em applicationHost.config.

Independentemente do que precede, você ainda precisará encaminhar todo o intervalo do seu dispositivo de gateway NAT para conexões externas para o trabalho. A maioria dos dispositivos Firewall / NAT têm ajudantes de protocolo incluídos para FTP que permitem identificar o comando PASV e reagir de acordo, mas nem todos o fazem (e normalmente não funciona se você estiver usando uma porta não padrão para o comando FTP canal).

P.S. Você deve considerar usar um protocolo diferente do FTP se estiver atrás do NAT: não é possível fazer isso sem soluções feias - e arriscadas. Eu sugiro que você investigue o SFTP ou o WebDAV.

    
por 22.04.2013 / 11:01
0

Já tentou colocar o servidor FTP na DMZ do seu roteador apenas para ver se é o roteador que está descartando os pacotes? Tente isso.

Além disso, ative o registro do firewall do Windows (Painel de Controle - > Ferramentas Administrativas - > Windows Firewall e Segurança Avançada, clique com o botão direito do mouse em "Firewall do Windows e Segurança Avançada" no console, acesse Propriedades e ative Logging lá para pacotes descartados) apenas para ver se o seu computador fora da rede foi capaz de solicitar as portas corretas.

    
por 02.11.2012 / 22:04
0

netsh advfirewall set global StatefulFtp ativado

netsh advfirewall firewall adicionar nome da regra="FTP para IIS" service = ftpsvc action = permitir protocolo = TCP dir = em

    
por 02.11.2015 / 12:24
0

Para aqueles que estão usando um servidor Windows hospedado usando o Serviço de Nuvem do Azure da Microsoft, se você estiver usando um Grupo de Segurança de Rede, também precisará criar uma regra de entrada que corresponda ao intervalo de portas configurado pelo FTP. Suporte de Firewall no IIS.

    
por 07.03.2017 / 22:33