
¿Cómo ejecutar un servidor FTP pasivo en una máquina virtual Azure Linux?
Configurar los puntos finales en el firewall de Azure y los puertos PASV no es suficiente porque el cliente se bloquea en "Ingresando al modo pasivo"
Respuesta1
Actualmente, no es posible ejecutar FTP pasivo tan fluidamente como lo haría en un servidor dedicado debido a dos razones: una es que Azure actualmente le permite abrir solo 25 puntos finales (corríjame si me equivoco) para cada servidor. y la otra es la conexión LAN<->IP virtual que utiliza Azure. Tomemos los problemas uno por uno.
Actualmente, Azure implementa un NAT/firewall/equilibrador de carga que reenvía el tráfico desde una IP virtual externa a una dirección de red interna ( 10.0.0.0/8
clase). Si lo ejecuta ifconfig
en su máquina virtual, encontrará de lo que estoy hablando. Un punto final está reservado para SSH y no creo que realmente quieras desactivarlo. Entonces, si se reserva otro punto final para el puerto 21, puede usar solo 23 puertos PASV (siempre que no aloje ningún otro servicio), limitando estrictamente la cantidad de clientes que pueden conectarse simultáneamente. Una vez que aceptes esto, sigamos.
Si abrió los puertos 25003-25006 (uno por uno), puede usar la siguiente configuración para habilitarlos
pasv_enable=YES
pasv_min_port=25003
pasv_max_port=25006
vsftpd
y cualquier otro servidor FTP emite un PASV
comando que básicamente dice "conectarse a XYWZ en el puerto AA". Se supone que cualquier servidor FTP debe leer la configuración de la máquina para obtener la dirección de red: es por eso que vsftp básicamente dice "conectarse a 10.XYZ en el puerto 25003" y, luego, ¡¡¡el cliente se bloquea!!!
Utilice lo siguiente para indicarle a vsftpd que use una dirección externa diferente
pasv_addr_resolve=YES
pasv_address=dom.cloudapp.net
¡Probado, trabajado y compartido con la comunidad!
Notas: FTP activo funciona tan pronto como el cliente no está detrás de un firewall o una Gran Muralla, y SFTP es la mejor alternativa a FTP, pero desafortunadamente muchas aplicaciones heredadas no lo admiten.