TCP 21

¿Está abierto el puerto 21 de FTP?

Transferencia de archivos clásica. Puerto de control: TCP 21.

Respuesta rápida

TCP 21 (control) + TCP 20 (datos en modo activo)

Qué es y para qué sirve

FTP separa el canal de control del canal de datos. El control siempre va por TCP 21: es donde se autentica y se envían los comandos. En modo activo, el servidor abre la conexión de datos hacia el cliente desde el puerto TCP 20. El modo pasivo, mucho más habitual hoy con firewalls y NAT de por medio, usa en su lugar un rango de puertos adicionales que el propio servidor FTP indica y que hay que configurar y abrir aparte.

Cuándo conviene comprobarlo

  • Verificar que un servidor FTP recién configurado acepta conexiones de control.
  • Diagnosticar por qué la conexión se establece pero las transferencias de archivos fallan (síntoma típico de un problema con el modo pasivo).
  • Confirmar que el firewall no solo permite el 21, sino también el rango de puertos pasivos configurado.

Motivos habituales por los que aparece cerrado o filtrado

  • El puerto 21 está abierto pero el rango de puertos pasivos (configurado en el servidor FTP) no lo está, lo que hace que el listado de archivos o las transferencias fallen aunque el login funcione.
  • Un firewall o NAT intermedio no reescribe correctamente las direcciones IP en modo activo, muy sensible a la topología de red.
  • El servicio FTP no está iniciado o escucha en una interfaz distinta a la esperada.

Cómo comprobarlo por línea de comandos

Esto solo comprueba el canal de control. Si el login funciona pero el listado de archivos se queda colgado, el problema suele estar en el puerto 20 (activo) o en el rango pasivo configurado, no en el 21.

Windows (PowerShell):

Test-NetConnection servidor -Port 21

Linux / macOS:

nc -vz servidor 21

Firewall

Además del 21, hay que abrir explícitamente el canal de datos: el 20 si se usa modo activo, o el rango de puertos pasivos configurado en el servidor FTP (por ejemplo 50000-50100) si se usa modo pasivo, que es lo recomendable detrás de NAT.

Seguridad

  • FTP tradicional envía usuario y contraseña sin cifrar: siempre que sea posible, usar FTPS (FTP sobre TLS) o SFTP (que en realidad va sobre SSH, puerto 22) en su lugar.
  • Si hay que mantener FTP sin cifrar por compatibilidad, restringir el acceso por IP de origen y evitar cuentas con permisos de escritura innecesarios.
  • Limitar el rango de puertos pasivos a un rango pequeño y conocido, para no tener que abrir un rango excesivamente amplio en el firewall.

Servicios relacionados

Preguntas frecuentes

¿Por qué el login FTP funciona pero no puedo listar ni descargar archivos?

Casi siempre es un problema con el canal de datos: en modo pasivo, el rango de puertos que indica el servidor no está abierto en el firewall; en modo activo, el firewall del cliente bloquea la conexión entrante del servidor por el puerto 20.

¿FTP y SFTP son lo mismo?

No. FTP es el protocolo clásico (puerto 21, sin cifrar por defecto). SFTP es un protocolo distinto que transfiere archivos sobre una conexión SSH, por el puerto 22, y va cifrado de serie.

¿Qué es mejor, modo activo o pasivo?

El modo pasivo es casi siempre preferible hoy en día porque es el cliente quien inicia ambas conexiones, lo que funciona mucho mejor con NAT y firewalls modernos.

La comprobación se realiza desde los servidores de ITRapido. Solo pueden comprobarse direcciones públicas accesibles desde internet: las direcciones de redes privadas como 192.168.x.x, 10.x.x.x o 172.16-31.x.x no pueden comprobarse.
Precargado con el puerto de FTP (TCP 21). Puedes añadir más separados por comas.

Introduce un host y unos puertos para ver aquí el resultado, puerto a puerto.

¿Necesitas comprobar otro puerto o varios a la vez? Usa el comprobador de puertos general.