Como obtenho um servidor VSFTPD muito simples funcionando?

2

Estou executando o Arch Linux com o kernel 2.6.35-ec2. Eu tenho a versão mais recente do VSFTPD instalado e funcionando. Aqui está o seu arquivo de log:

anonymous_enable=YES
local_enable=YES
write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

Esta não é a minha configuração final, mas é o que eu reduzi para fazê-la funcionar.

O servidor está no Amazon EC2 e as portas 20 e 21 estão abertas para ele. Não há outro firewall ativado.

Eu tento conectar no OSX com /usr/bin/ftp e com o cliente Transmit . O primeiro trava há muito tempo e eventualmente diz que a conexão expirou. O último leva apenas cerca de dez segundos para dizer que a conexão expirou. Eu tentei especificar as portas 20 e 21.

Não há nada nos arquivos de log normais do Arch Linux, como auth.log e everything.log. /var/log/vsftpd.log nem existe.

Alguém pode me ajudar a descobrir por onde começar? O wiki do Arch Linux e a outra leitura que eu fiz sugerem que este é um servidor FTP padrão de fato.

    
por Cera 10.01.2012 / 04:47

2 respostas

3

Depois de ver a outra resposta e comentários, pode ser que o vsftp não queira rodar como root (porque é muito seguro, ftp: -)).

Minha lembrança é que ele quer rodar como o usuário ftp (ou é como eu me lembro de configurá-lo).

    
por 10.01.2012 / 05:27
1

Existem dois modos de FTP - modo de porta e modo passivo. A diferença é como o servidor tenta configurar a conexão de dados (a conexão inicial é a conexão de comando para a qual você envia comandos para o servidor e a conexão de dados é uma conexão secundária usada para transferir os arquivos).

Modo de Porta é onde o servidor tentará se conectar à porta 20 no cliente . Portanto, esta é uma conexão de entrada do servidor para o cliente. Para que isso funcione, você precisaria da porta 20 aberta no final do cliente e do encaminhamento para o originador da sessão ftp. Isso geralmente não é viável em um ambiente que não é de empresa para empresa.

Modo passivo é onde o servidor abre uma porta secundária para si própria, além da porta 21. Essa porta é negociada durante a parte de transferência da sessão e instrui o cliente para a conexão em uma porta acima 1024 para baixar ou fazer upload dos dados. Este modo é muito mais adequado para as transações do servidor cliente, onde os dispositivos NAT estão no meio.

Para que isso funcione, o firewall que protege o servidor deve permitir conexões na porta passiva. Com muitos firewalls, eles são compatíveis com ftp e observam a porta negociada e permitem a conexão. No entanto, isso nem sempre é viável e, portanto, o intervalo deve ser aberto manualmente.

A melhor maneira de configurar isso é definir um intervalo de portas na configuração vsftpd:

pasv_min_port = 31000
pasv_max_port = 32000

Depois, você pode abrir o intervalo definido na configuração do firewall e instruir o seu cliente ftp a usar o modo passivo. Isso é feito com o comando pasv para alguns clientes da linha de comando ou nas configurações do servidor para um cliente da GUI.

/etc/hosts.allow|deny

Esses dois arquivos fornecem um controle abrangente sobre o que pode se conectar ao servidor. Por favor, certifique-se de que ambos estejam presentes e hosts.deny especificamente não deve ter quaisquer declarações negativas.

    
por 10.01.2012 / 10:12