Eu tenho duas máquinas atrás do mesmo firewall / roteador - uma é uma estação de trabalho do Windows 7 e a outra é um servidor Windows 2003. O problema é com o acesso FTP de saída usando o cliente FileZilla FTP (nota: não servidor) no servidor Windows 2003.
Usando o cliente FileZilla na estação de trabalho Win7, posso me conectar a um site FTP externo usando o modo passivo sem problemas. No entanto, quando eu tento a mesma coisa do cliente FileZilla no servidor Windows 2003, ele trava ao tentar recuperar a lista de diretórios. A saída do log é a seguinte:
Status: Resolving address of xxxxx.com
Status: Connecting to xxx.xxx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response: 220---------- Welcome to ...
Command: USER ...
Response: 331 User ... OK. Password required
Command: PASS *************
Response: 230 OK. Current directory is /
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Extensions supported:
Response: EPRT
Response: IDLE
Response: MDTM
Response: SIZE
Response: REST STREAM
Response: MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Response: MLSD
Response: ESTP
Response: PASV
Response: EPSV
Response: SPSV
Response: 211 End.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is your current location
Command: TYPE I
Response: 200 TYPE is now 8-bit binary
Command: PASV
Response: 227 Entering Passive Mode (xxx,xxx,xxx,xxx,164,24)
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
Como você pode ver, uma conexão pela porta 21 é estabelecida e uma solicitação para entrar no modo passivo resulta na porta 42008 sendo estabelecida. Mas a tentativa de recuperar dados por essa porta falha. Isso funciona perfeitamente na máquina Win7.
Eu entendo o modo passivo versus ativo razoavelmente bem. Parece neste caso que o Windows Server 2003 está bloqueando o tráfego em determinadas portas. O serviço do Firewall do Windows não está sendo executado neste dispositivo para que eu possa eliminá-lo como o culpado. Eu gostaria de receber outras sugestões sobre como rastrear isso.
UPDATE
Acontece que é específico para um site FTP. Eu posso me conectar a outro site usando o modo passivo muito bem. A diferença parece ser o número da porta. O número de porta passivo no site que eu posso alcançar é 4693. O número de porta passivo no site que eu não posso alcançar é mais de 42000. Isso tem alguma influência sobre a situação?
UPDATE
Eu escrevi um pequeno programa de servidor de socket rodando na estação de trabalho do Win7 que escutava na porta 50000, então da caixa do Windows 2003 eu corri o telnet para o endereço / porta da estação de trabalho e ... funcionou. Portanto, dentro da LAN, o Windows 2003 está permitindo o tráfego. De alguma forma, não está permitindo o tráfego pela Internet. Desconcertante.
UPDATE
Problema estava com o servidor FTP. Veja a resposta abaixo .