Mientras deja de funcionar en modo activo FTP después de cambiar el puerto del servidor

Mientras deja de funcionar en modo activo FTP después de cambiar el puerto del servidor

Estoy usando proftpd en mi servidor (ubuntu 16.04 x86_64).

Proftpd predeterminado utiliza el puerto estándar 21. Puedo conectarme desde el portátil de mi casa a ftp con modo activo sin problema.

Ahora detengo proftpd, cambio el puerto de 21 a 10021 y comienzo el servicio nuevamente. Y ahora no puedo conectarme con modo activo, solo con modo pasivo.

  1. ¿Qué ha cambiado?

  2. Tampoco puedo entender por qué funciona el modo activo. Tengo acceso a internet por router. No reenvío ningún puerto a mi computadora portátil en el enrutador. Como ahora, al conectarme, mi computadora portátil (cliente ftp) crea una conexión desde algún puerto> 1023 al puerto 21 del servidor. Mi computadora portátil también envía al servidor el segundo puerto (datos) al servidor y el servidor se conecta desde mi propio puerto 20 con estos datos. puerto. Pero, ¿cómo se puede establecer una segunda conexión si mis puertos están cerrados desde wan?

Respuesta1

Su firewall (enrutador) tiene un asistente de seguimiento de conexión para FTP. Cuando ve una conexión de control FTP (que reconoce por el puerto de destino TCP == 21), observa los comandos. Cuando ve que su cliente envía el PORTcomando, lo reescribe (en su dirección IP externa y tal vez en un puerto diferente) y realiza un seguimiento de la conexión esperada desde el servidor FTP. Cuando llega esa conexión, se le permite pasar.

Cuando cambió el puerto, nada de eso sucedió porque 10021 no se reconoce como una conexión de control FTP.

En Linux, al menos, esa característica es el nf_conntrack_ftpmódulo, y puede configurar la portsopción para incluir 10021 si lo desea.

PD: Se puede hacer algo similar con un firewall frente al servidor, aunque a la inversa: se hace en transferencias en modo pasivo, en lugar de en modo activo.

información relacionada