Executando FTP passivo na máquina virtual do Azure com vsftpd-linux

3

Como executar um servidor FTP passivo em uma máquina virtual do Linux do Azure?

Configurar os pontos de extremidade no firewall do Azure e as portas PASV não são suficientes porque o cliente trava em "Entrando no modo passivo"

    
por usr-local-ΕΨΗΕΛΩΝ 18.10.2012 / 19:04

1 resposta

6

Atualmente, executar o FTP passivo tão bem quanto você faria em um servidor dedicado não é possível por dois motivos: um é que o Azure atualmente permite que você abra apenas 25 pontos de extremidade (corrija-me se estiver errado) cada servidor e a outra é a conexão IP virtual < - > que o Azure usa. Vamos pegar os problemas um por um.

O Azure atualmente implementa um balanceador de carga / firewall / NAT que encaminha o tráfego de um IP virtual externo para um endereço de rede interno ( 10.0.0.0/8 class). Se você executar ifconfig em sua máquina virtual, encontrará o que estou falando. Um ponto de extremidade é reservado para o SSH e não acredito que você realmente queira desabilitá-lo. Portanto, se outro ponto de extremidade for reservado para a porta 21, você poderá usar apenas 23 portas PASV (assim que não hospedar nenhum outro serviço), limitando estritamente o número de clientes que podem se conectar simultaneamente. Depois de aceitar isso, vamos em frente.

Se você abriu as portas 25003-25006 (uma por uma), você pode usar a seguinte configuração para ativá-las

pasv_enable=YES
pasv_min_port=25003
pasv_max_port=25006

vsftpd e qualquer outro servidor FTP emite um comando PASV que basicamente diz "conectar a X.Y.W.Z na porta AA". Qualquer servidor FTP deve ler a configuração da máquina para obter o endereço de rede: é por isso que o vsftp basicamente diz "conectar a 10.X.Y.Z na porta 25003" e, então, por que o cliente trava !!!

Use o seguinte para dizer ao vsftpd para usar um endereço externo diferente

pasv_addr_resolve=YES
pasv_address=dom.cloudapp.net

Testado, trabalhado e compartilhado com a comunidade!

Notas: O FTP ativo funciona assim que o cliente não está protegido por um firewall ou Great Wall, e o SFTP é a melhor alternativa para o FTP, mas infelizmente muitos aplicativos legados não o suportam.

    
por 18.10.2012 / 19:04

Tags