Cómo configurar un Servidor FTP publico

Vamos a ver cómo crear un Servidor FTP público, asociado a un nombre de host.

 
1. Primero instalaremos y configuraremos el Servidor FTP de Filezilla Server.

2. Después hemos de crear una cuenta en No-IP, que nos permitirá asociar un nombre de Host a nuestra IP pública.

Para ver cual es nuestra IP pública, utilizaremos Cual es mi IP.

Utilizaremos NO-IP.org para crear un nombre de Host (un dominio gratuito) que asociaremos a nuestra IP pública. De esta forma podremos redireccionar las conexiones a este hostname hacia el equipo de nuestra red LAN interna en el que estará funcionando un Servidor FTP, incluso en caso de que nuestro router cambie de IP.

3. Para conseguirlo también será necesario el programa DUC NO-IP (Dynamic Update Client), que habrá de estar funcionando en el equipo sobre el que funciona el Server FTP.

4. También será necesario configurar correctamente nuestro router para que acepte las conexiones entrantes al host de la red interna y al puerto deseado (NAT desde internet desbloqueado y puerto para FTP abierto).

 

 

1. Configuramos correctamente el Servidor FTP Público (Filezilla Server)

 
Tras la instalación del Servidor FTP de Filezilla, comenzaremos a configurarlo.

En la pestaña General Settings podemos configurar el puerto sobre el que escuchará peticiones FTP el Servidor FTP de Filezilla.

En nuestro caso hemos preferido habilitar el puerto 50001.
 
configurar puerto server filezilla
 

 
A continuación vamos a la pestaña Passive Settings, y en la opción Use the following IP, utilizaremos el hostname que posteriormente configuraremos en NO-IP.

Si estuviéramos configurando un Server FTP local, seleccionaríamos la opción Default.

 

 
configurar IP servidor FTP filezilla modo pasivo

 

 
En la pestaña FTP over TLS settings, podemos elegir utilizar un certificado TLS o no. En este caso no lo crearemos. Aunque para un servidor FTP serio en funcionamiento, es más seguro si habilitamos esta opción y a continuación creamos un certificado desde esta sección de Filezilla Server.
 
seguridad certificado server ftp filezilla

 

 

2. Creamos un hostname en NO-IP

En nuestro caso hemos elegido el hostname tallerbit.no-ip.org (existen diversas terminaciones para crear nuestro hostname gratuito). Es importante tener en cuenta que queremos crear un hostname que sea un DNS Host (A).
 

Desde el panel de nuestra cuenta en NO-IP,  creamos el hostname y lo asociamos con nuestra IP pública:

 
DNS host A NO-IP
 

 

Y ya podemos ver nuestro hostname correctamente asociado a la IP pública deseada

hostnames NO-IP

 

A continuación accedemos a la opción “Device Configuration Assistant“, un asistente que nos permitirá descargar el programa DUC NO-IP, que habremos de instalar en el equipo sobre el cual estará corriendo el Servidor FTP. 

(Nota: podemos navegar sobre la versión antigua de la web de NO IP y la versión moderna)

 
no-ip device configuration assistant

 

 

3. Descargamos DUC NO-IP (cliente de actualización dinámica), y activamos el Hostname

 
Tras instalarlo, es necesario que el programa DUC se ejecute permanentemente para que el Servidor FTP sea accesible mediante el hostname creado en NO-IP.
 
duc cliente no-ip
 

Desde la opción Edit Hosts, podemos elegir si los Hosts estarán asociados al equipo que ejecuta el cliente de NO-IP (DUC – Dynamic Update Client).

 
edit hosts duc no-ip
 

 

  • Por ahora ya hemos creado nuestro hostname y lo hemos asociado a la IP pública deseada.
  • También hemos instalado el cliente DUC para que compruebe la actualización dinámica de IP, y el hostname pueda ser accesible permanentemente.
  • Pero aún nos queda configurar correctamente el router para que el Servidor FTP en la red interna pueda ser accesible desde Internet.

 

 

4. Abrimos los puertos del router

Hemos de permitir el tráfico y las peticiones entrantes y salientes desde Internet al Host donde se encuentra funcionando el Servidor FTP de Filezilla y abrir el puerto en el que el Servidor FTP está escuchando peticiones FTP.

Dependiendo del router, podemos activar la DMZ para el host de la LAN donde está el Server FTP. De esa forma estamos permitiendo todas las peticiones desde Internet hacia el equipo situado dentro de la red interna.

 
activar DMZ router
 
 

Abrimos los puertos  deseados en el Router:

abrir puertos router
 

–> Podemos utilizar esta herramienta para chequear si el puerto deseado está abierto en el router y es accesible desde Internet.


–> Otra página muy útil para testear el estado de nuestro Servidor FTP público es FTP Test

 

* No nos olvidemos de revisar también el Firewall del equipo donde está instalado el Server FTP público, y crear reglas que permitan el tráfico entrante y saliente hacia y desde el puerto que hemos habilitado en el Server FTP de Filezilla.

 

 

COMPROBACIÓN DE FUNCIONAMIENTO DESDE UN EQUIPO CLIENTE FTP SITUADO EN OTRA RED

 
En el momento de realizar las pruebas de funcionamiento, hemos de acceder al Server FTP desde un equipo situado en otra red.

Si lo hiciéramos desde un equipo situado en la misma red, deberíamos acceder a la IP interna del equipo sobre el que corre el Server FTP.

Podemos acceder desde el navegador, a través de ftp:

1
ftp://hostname:puerto_FTP

 

 
login usuario ftp desde navegador
 

 
También podríamos acceder desde la IP pública:

1
ftp://IP_publica:puerto_FTP

 
acceso servidor ftp por navegador
 

 

Comprobamos el acceso al directorio FTP del Server FTP a través del navegador:

 
acceso directorio ftp a traves de navegador
 

 

Acceder desde el cliente Filezilla FTP:

Previamente configuraremos el cliente FTP acorde con la configuración del server.

En este caso utilizamos el puerto 50001, y ftp plano (no seguro), y en Opciones de Transferencia, seleccionamos Modo Pasivo.

config
 

 

Comprobamos que el cliente Filezilla puede acceder al hostname que hemos configurado en NO IP:

 
acceso servidor ftp publico no-ip desde cliente filezilla

 

 

Hacemos otra prueba accediendo al Server FTP habiendo configurado el servidor FTP con certificado TLS:

 
acceso servidor ftp publico no-ip desde cliente filezilla con certificado
 

 

Log del Server FTP mostrando el acceso del usuario “pruebas“:

log acceso correcto servidor ftp publico
 

 

Esperamos que este tutorial para crear un Servidor FTP público haya sido de utilidad y ayude a aclarar algunas dudas comunes que pueden surgir.