A solução simples é mudar o Filezilla para usar o modo passivo ao conectar-se a esse servidor FTP.
Quando você se conecta ao FTP, usa a porta 21, conhecida como o canal de controle. Esta é a conexão usada para enviar comandos e receber notificações sobre os resultados dos comandos emitidos. Note que para listagens de arquivos (a saída para LIST
), transferência de arquivos (buscando arquivos RETR
e colocando arquivos STOR
) e outras operações que realmente requerem transmissão de dados, um canal separado conhecido como o canal de dados é criado . O FTP pode operar este canal de dados em um dos dois modos, ativo ou passivo. Ambos se referem a como o canal de dados é estabelecido.
You issue a LIST (in active mode)
CLIENT FIREWALL FTP SERVER
_ (port 21) _
__ _ (port 21) |=| ---------- LIST command ---------> |=|
[__]|=| ----- LIST command issued -- > |=| |=|
/::/|_| . |_| <----- FTP server attempts to ---- |_|
'\___ now listening on arbitrary connect and gets denied
port for data channel say 8000 by firewall
No modo ativo, o cliente anuncia uma porta de escuta arbitrária que ele cria e o Servidor FTP conecta-se a esse endereço e porta anunciados na máquina cliente. Normalmente, é onde os firewalls bloqueiam o tráfego, pois é para um número de porta aleatório de alta ordem no host do cliente que anuncia o canal de dados FTP. O Filezilla usa como padrão uma porta entre 6000 e 7000. Se o firewall não bloquear essa conexão, a saída do comando LIST
será então transferida por esse canal separado.
You issue a LIST (in passive mode)
CLIENT FIREWALL FTP SERVER
_ (port 21) _
__ _ (port 21) |=| ---------- LIST command ---------> |=|
[__]|=| --- LIST command issued -- > |=| |=|
/::/|_| |_| <--- FTP server advertises the --- |_|
listening data port over \___ server with
the control channel listening data
channel
CLIENT FIREWALL FTP SERVER
_ (port 21) _
__ _ <--- open control channel ---> |=| ---- open control channel ----> |=|
[__]|=| |=| |=|
/::/|_| --- client establishes a ----> |_| ---- passive data channel ----> |_|
connection to the connection allowed
advertised data channel by firewall
No modo passivo, as funções são invertidas, o cliente FTP emite um comando PASV
antes do comando LIST
. O Servidor FTP cria uma porta TCP de escuta e anuncia isso para o cliente conectar-se para estabelecer o canal de dados. Isso geralmente é permitido pela maioria dos firewalls (já que os clientes podem fazer conexões de saída para qualquer porta).
Observe que, se houver um firewall entre o servidor FTP e a Internet, esse firewall ALSO deverá ser configurado para que essas portas sejam abertas para permitir as conexões passivas. A maioria dos servidores FTP fornece a capacidade de definir o intervalo no qual essas portas serão anunciadas e podem ser abertas para permitir essas conexões.
Se você é restrito e tem um cliente que não pode ser passivo, o Filezilla oferece a capacidade (não editado - > Configurações ... - > Conexão / FTP / Modo ativo para definir quais portas usar), e você pode em seguida, adicione-os ao seu firewall.