Por que eu sou expulso de uma sessão FTP quando executo um comando?

12

Por que eu sou expulso de uma sessão de FTP quando executo um comando? Parece que, uma vez que eu logar com sucesso em um servidor, recebo o seguinte depois de executar um comando como "ls" (incluí a parte do erro nas tags "[ERROR]"):

allen92@allen92-VirtualBox:~/Videos$ ftp -n ftp.FreeBSD.org
Connected to ftp.FreeBSD.org.
220 beastie.tdk.net FTP server (Version 6.00LS) ready.
ftp> user
(username) anonymous
331 Guest login ok, send your email address as password.
Password: 
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
[ERROR]
421 Service not available, remote server has closed connection
[ERROR]
ftp> 

Isso parece acontecer em qualquer servidor FTP remoto. Tudo funciona bem quando eu faço o login na máquina local e executo comandos FTP. Se, de fato, o erro "421" for um erro genérico, existe alguma maneira de descobrir a origem do problema? Qualquer pista sobre isso seria apreciada. Não consegui encontrar nenhum suporte nesta questão particular . Qualquer pessoa com um problema semelhante compartilhe seus pensamentos.

NOTA: Eu tenho o VSFTPD instalado.

    
por AllenD 13.09.2013 / 10:45

2 respostas

13

Existe provavelmente um firewall NAT entre você e os servidores que mostram o sintoma. (Os firewalls NAT ocultam uma rede inteira atrás de um único número IP).

O problema é que o ftp quer enviar os dados resultantes do comando em uma nova conexão TCP / IP separada e que não pode passar pelo firewall porque precisa para ir do servidor para você, e você está oculto atrás do firewall, que não tem idéia de que os dados são destinados à sua máquina. Quando o protocolo FTP foi projetado, muitos dispositivos modernos como o roteador NAT (que se tornou necessário quando havia mais dispositivos do que os endereços IP disponíveis) ainda não haviam sido inventados.

Use o comando pasv (pode ser chamado de algo diferente em seu cliente) para mudar para uma conexão passiva onde as conexões de dados vão de você para o servidor.

Consulte o link para obter uma explicação mais detalhada.

    
por 13.09.2013 / 13:22
-1

Adicione ou ative esta linha em /etc/vsftpd.conf

seccomp_sandbox = NÃO

    
por 28.11.2014 / 13:37

Tags