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.
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.
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.
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:
Y ya podemos ver nuestro hostname correctamente asociado a la IP pública deseada
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)
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.
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).
- 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.
Abrimos los puertos deseados en el 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 |
También podríamos acceder desde la IP pública:
1 | ftp://IP_publica:puerto_FTP |
Comprobamos el acceso al directorio FTP del Server FTP a través del 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.
Comprobamos que el cliente Filezilla puede acceder al hostname que hemos configurado en NO IP:
Hacemos otra prueba accediendo al Server FTP habiendo configurado el servidor FTP con certificado TLS:
Log del Server FTP mostrando el acceso del usuario “pruebas“:
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.