vsftp no VM do Azure - o filezilla reporta o ip privado enviado pelo servidor no modo passivo

1

Estou configurando um servidor FTP seguro em uma máquina Ubuntu 16.04 no Azure. É FTP por TLS, com acesso anônimo desativado.

Tentar usar o servidor usando o Filezilla funciona bem - autenticação, transferência, listagem de diretórios - tudo ... exceto que recebo o seguinte aviso do Filezilla:

Server sent passive reply with unroutable address. Using server address instead.

Claro, isso faz sentido - a VM tem um endereço IP privado e, no modo passivo, envia esse endereço IP privado para o cliente. A solução - adicione o seguinte ao vsftp.conf (este é um exemplo, não a configuração atual):

pasv_enable=YES
port_enable=YES
#The VM allows connections to ports 12345 & 12346 - remember, this is an example
pasv_min_port=12345 
pasv_max_port=12346
#The VM's domain name
pasv_address=myftpservervm.cloudapp.net
#Make vsftp resolve myftpservervm.cloudapp.net and send that IP address to clients
pasv_addr_resolve=YES

Então eu reinicio o vsftp e ... nada acontece. Eu ainda recebo estes:

Server sent passive reply with unroutable address. Using server address instead.

Eu até tentei configurar pasv_address para o endereço IP exato (externo) do servidor (com e sem pasv_addr_resolve=YES ) e o resultado é o mesmo.

Estou sentindo falta de algo?

Estou usando o vsftpd 3.0.3 (do repositório do Ubuntu) com o Filezilla 3.24.0 no Ubuntu 16.04 x64

Editar:

Aparentemente, o vsftp envia um endereço IP de 0.0.0.0 ao entrar no modo passivo. Esta questão parece relevante.

    
por MaltAlex 06.02.2017 / 15:27

2 respostas

2

Eu testei no meu laboratório, no começo eu encontrei o mesmo problema que você. Eu verifiquei como os seguintes passos:

1. netstat -ant obtenho o seguinte resultado

tcp6       0      0 172.17.1.4:21           167.220.255.56:10979    TIME_WAIT  

Com base na minha experiência, o ftp deve estar ouvindo em tcp not tcp6 na VM do Azure

2.Eu tento alterar o arquivo de configuração /etc/vsftpd.conf .

listen=yes
listen_ipv6=no

Então eu reinicio o serviço ftp e confiro usando netstat -ant

tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN  
  1. Teste usando o Filezilla.

Notas: Você deve abrir as portas 20,21,12345-12346 no NSG do Azure (regra de entrada)

    
por 07.02.2017 / 04:11
0

Você precisa apenas de uma pequena modificação. Edite /etc/vsftpd.conf ou qualquer que seja o arquivo de configuração, e faça esta alteração:

passv_address=public_ip_of_aws_instance_not_hostname_or_private_ip

Salve o arquivo, reinicie o serviço vsftpd e verifique novamente!

Certifique-se de que as portas passivas da mangueira estejam na lista de permissões tcp nos seus Grupos de segurança (você pode configurá-las no painel do AWS EC2).

    
por 06.02.2017 / 16:25