Cuando hablamos de fallos al conectar por FTP, uno de los conceptos que aparece con más frecuencia es el modo pasivo. Entender cómo funciona y en qué se diferencia del modo activo es clave para diagnosticar problemas de conexión, especialmente cuando intervienen firewalls o routers.
Cómo funciona una conexión FTP
En cualquier transferencia FTP intervienen dos elementos:
Servidor FTP: donde están los archivos que queremos subir o descargar.
Cliente FTP: el programa que usamos desde nuestro ordenador para conectarnos al servidor.
A diferencia de otros protocolos, FTP utiliza dos conexiones simultáneas:
Canal de control (normalmente puerto 21): para enviar comandos.
Canal de datos (normalmente puerto 20, aunque puede variar): para transferir los archivos.
Dependiendo de quién inicia la conexión de datos, FTP puede funcionar en modo activo o modo pasivo.
Modo activo (Active Mode)
En el modo activo, el proceso funciona así:
El cliente abre una conexión de control desde un puerto local (<1024) hacia el puerto 21 del servidor.
El cliente envía el comando PORT, indicando qué puerto local utilizará para recibir los datos.
Cuando se inicia una transferencia, el servidor abre una conexión hacia el cliente, desde su puerto 20 al puerto indicado por el cliente.
Es decir, el servidor inicia la conexión de datos hacia el cliente.
El problema del modo activo
Si el cliente está detrás de un firewall o router, esa conexión entrante desde el servidor puede ser bloqueada por seguridad. Resultado:
Listados que no cargan
Descargas que no empiezan
Errores de conexión aparentemente inexplicables
Por eso el modo activo suele fallar en redes protegidas.
Modo pasivo (Passive Mode)
El modo pasivo invierte la lógica para evitar bloqueos.
El cliente abre la conexión de control hacia el puerto 21 del servidor.
El cliente envía el comando PASV.
El servidor responde indicando un puerto disponible para datos.
El cliente abre la conexión de datos hacia ese puerto del servidor.
En modo pasivo, todas las conexiones las inicia el cliente, tanto la de control como la de datos.
Esto evita los bloqueos típicos de los firewalls, ya que no hay conexiones entrantes hacia el cliente.
Ejemplo real de respuesta PASV
Código
FTP > PASV
FTP < 227 Entering Passive Mode (222,222,222,22,196,39).
FTP > LIST
Los cuatro primeros números representan la IP del servidor.
Los dos últimos indican el puerto que el servidor ha abierto para el canal de datos.
Esos dos números son valores de 8 bits que combinados forman el puerto real.
Limitaciones en la línea de comandos de Windows
Las versiones antiguas de Windows (95/98) incluían un cliente FTP sin soporte para modo pasivo. Si trabajas detrás de un firewall, esto provoca fallos constantes.
La solución es sencilla: → usar un cliente FTP moderno que permita activar el modo pasivo (FileZilla, WinSCP, Cyberduck, etc.).
Conclusión
El modo pasivo es la solución más habitual cuando aparecen problemas de conexión FTP, especialmente en redes protegidas. Al ser el cliente quien inicia todas las conexiones, se evitan bloqueos y la transferencia funciona de forma más estable y predecible.