Saber cómo configurar tu servidor FTP detrás de un servidor NAT con IP dinámica es un desafío común para quienes necesitan que su servidor sea accesible desde el exterior, pero enfrentan IPs cambiantes y routers con NAT.
En este artículo aprenderás a configurar un servidor FTP con FileZilla Server, habilitar el modo pasivo, hacer port forwarding, asignar IP estática y usar DDNS para mantener la conexión estable desde cualquier ubicación.
¿Por qué es Complicado Configurar un Servidor FTP detrás de un NAT con IP dinámica?
Uno de los principales retos al montar un servidor FTP en casa o en una red corporativa es que muchas veces estamos detrás de un router NAT con IP dinámica. Esto complica la conexión externa, ya que todos los equipos comparten una única IP pública, lo que impide que el cliente se conecte directamente al servidor.
El FTP (File Transfer Protocol) permite transferir archivos entre un cliente y un servidor. Sin embargo, al estar el servidor en una red local, es necesario redirigir correctamente las conexiones externas para que lleguen al equipo adecuado, lo cual requiere configurar tanto el router como el software de servidor FTP.
Para entender cómo funciona esta conexión, debemos saber que el cliente necesita conocer la FTP IP address del servidor. Dado que esta dirección puede cambiar constantemente (por ser dinámica) y no apunta directamente a nuestro equipo, debemos apoyarnos en configuraciones específicas como el modo pasivo y la apertura de puertos.
A continuación, te mostraremos cómo utilizar FileZilla Server para establecer el servidor FTP y preparar tu red para que las conexiones externas funcionen correctamente incluso con una IP dinámica.
Configuración Inicial del Servidor FTP con FileZil
Configuración Servidor FTP con FileZilla Paso a Paso
Instalacion de Filezilla Server
En nuestro computador vamos a configurar el servidor FTP, para esto utilizamos filezilla server. En la red encontrarás mas opciones como Titan FTP Server, Serv-U FTP Server, entre otros pero Filezilla es el que se ha tomado su lugar mas fuerte.
Primero lo instalamos en la carpeta que definamos, dejamos las opciones por defecto e ingresamos una contraseña de administrador. Una vez instalado te encontraras con una pantalla como la siguiente:
Una vez instalado FileZilla Server, accedemos a la interfaz de administración con las siguientes configuraciones:
- Host:
localhost
(para conectarse al mismo equipo – 127.0.0.1) - Puerto:
14147
(puerto por defecto del panel administrativo) - Contraseña: la establecida durante la instalación
Al ingresar, es probable que aparezcan algunas advertencias. Las más comunes son:
- “You appear to be behind a NAT router. Please configure the passive mode settings and forward a range of ports in your router.”
- “FTP over TLS is not enabled, users cannot securely log in.”
La primera advertencia es la que abordaremos en este artículo, ya que impide que un cliente externo se conecte correctamente. Esta situación es común al configurar tu servidor FTP detrás de un servidor NAT con IP dinámica. La segunda advertencia, relacionada con la falta de cifrado FTPS, la trataremos más adelante.
¡Configura tu FTP detrás de un NAT sin complicaciones!
¿Problemas con IP dinámica o puertos cerrados? Te ayudamos a implementar un servidor FTP funcional y accesible desde el exterior, incluso detrás de routers con NAT y cambios de IP frecuentes.
¡Contáctanos!Configuración de Grupos en Filezilla
Vamos a crear un grupo al que le vamos a dar acceso al nuestro servidor FTP. basta con dar click en el boton add, escribir el nombre y activar la casilla de Enable access for users inside group.
Filezilla v0.8
Filezilla v1.1
Una vez creado debemos configurar a que carpeta le vamos a dar acceso a los usuarios que pertenezcan a este grupo, para ello nos vamos a la opcion shared folders del menú izquierdo, seleccionamos el grupo creado y hacemos click en el botón de add (debajo de directories), allí debemos seleccionar la carpeta que queremos compartir por ftp y seleccionar los permisos que le vamos a dar.
Filezilla v0.8
Filezilla v1.1
Por ultimo vamos a agregar una capa de seguridad extra para restringir el acceso a nuestro servidor. Solo permitiremos que acceda la ip de nuestro cliente. En nuestro caso estamos configurando un servidor FTP para hacer backups por lo cual tenemos las ips del cliente bastante bien definidas. Para bloquear todas las conexiones entrantes escribiremos un * y excluimos en el siguiente recuadro las ip que queremos permitir en la conexión, finalizamos haciendo click en OK:
Filezilla v0.8
Filezilla v1.1
Creación de Usuarios en Filezilla
Una vez creado el grupo vamos a crear los usuarios. Nos vamos a la seccion de usuarios, hacemos click en Add, escribimos un nombre y seleccionamos el grupo al que pertenece, posteriormente habilitamos la cuenta y escribimos una password. para el caso de Filezilla v1.1 es importante notar que cambio un poco la gestion de las carpetar, es necesario seleccionar un virtual path, de lo contrario nos enviara un error “Virtual path must be absolute”, para solucionarlo basta con poner “/”.
Filezilla v0.8
Filezilla v1.1
Al estar dentro de un grupo ya configurado no requerimos hacer mas modificaciones, sin embargo FileZilla nos permite hacer configuraciones especificas por usuario si así se desea.
Ya terminamos la configuracion de usuarios. Ahora vamos con nuestro equipo. Como lo mencione al inicio, tenemos un router NAT que nos genera ip dinámicas tanto a nuestra ip local como a la ip de red, esto además de tener una ip de red para todos nuestros equipos de nuestra red local, como podrás irte imaginando esto implica imposibilita a nuestro cliente a conectarse con nuestro servidor pues la ip a la que se conecta puede ser de varios equipos diferentes en la red local asignada a esa ip. Por lo cual debemos configurar el modo pasivo en FileZilla, esto hará que nuestro router al recibir una petición por FTP (puerto 21 por defecto) este devuelva una serie de puertos para que el cliente se conecte por alguno de estos aleatoriamente. Para configurar esto nos vamos a edit>settings y en el menú de la izquierda iremos a passive mode settings:
En FileZilla Server, ve a Passive Mode Settings y define un rango de puertos superiores a 1024, ya que los inferiores están reservados para el sistema. Luego, activa la opción “Retrieve external IP address from” para que el programa detecte automáticamente tu IP pública, algo fundamental al configurar tu servidor FTP detrás de un servidor NAT con IP dinámica.
Después, accede al panel de tu router (normalmente desde 192.168.0.1) y dirígete a la sección de Port Forwarding. Allí, redirige los puertos seleccionados en FileZilla hacia la IP local del equipo donde está el servidor FTP. Así lograrás que las conexiones externas lleguen correctamente, incluso con IP dinámica.
Como podrás ver escribimos los puertos descritos anteriormente y los dirigimos a la ip local de nuestro computador, si no sabes cual es tu ip abre una línea de comandos (cmd) y escribe ipconfig, es la línea de ipv4.
Con esto solucionamos el problema de una única ip para toda nuestra red local. La conexión quedaría de la siguiente manera:
Cliente se conecta a través de la ip de red. La recibe el router, mediante un port forward determina a que equipo en la red local debe enviar la comunicación con los puertos seleccionados en FileZilla.
Por ultimo debemos configurar la la ip estática (local) de nuestro servidor, con esto nos aseguramos que no vaya a cambiar la ip local y el port forward estaría enviando la comunicación a una ip que ya no esta siendo usada. Esto configuración debemos hacerla en nuestro router:
Con esto hemos terminado. El paso que queda es conectarnos mediante el cliente. La ip sería nuestra ip de red, ¿Cómo saber mi ip de red?, usuario el que creamos en nuestro FileZilla server junto con su contraseña y el puerto 21 si tu cliente lo pide. Si todo ha salido correcto verás una pantalla como esta en tu FileZilla Server con el respectivo estatus de la conexión:
Si llegados a este punto te presenta error en la conexión, probablemente el firewall esta impidiendo la conexión con tu equipo, para solucionar esto te invito a ver este Articulo
Ya hemos probado con la ip que tenemos actualmente, pero que pasa cuando nuestra Ip cambie? para esto debemos utilizar un servicio de dynamic DNS (DDNS) si no conoces de este concepto te invito a ver este Articulo, en resumidas cuentas este servicio se encargara de actualizar la ip de nuestro router y se la asignara a un nombre de host, por lo cual nuestro cliente ya no se conectara a una ip especifica sino al nombre del host.
Vamos a configurar nuestro DDNS para esto hay muchos servicios tanto de pago como gratuitos, te recomiendo revisar las opciones de tu router para evaluar si el servicio de DDNS esta soportado por tu router.
Una vez validado debemos ingresar a nuestro servicio DDNS y crear el nombre de host y asignarle la ip actual. Posteriormente buscamos en la configuración de nuestro router la opcion de DDNS, seleccionamos nuestro servicio e ingresamos las credenciales. Con esto el router ya se puede conectar con nuestro servicio de DDNS y actualizar la ip al nombre del host.
Con esto ya tendriamos configurado nuestro servidor ftp Local.
¡Potencia tu Presencia Digital con Soluciones Integrales!
Ahora que ya sabes cómo configurar tu servidor FTP detrás de un servidor NAT con IP dinámica, es momento de dar el siguiente paso. En Agencia Roco, impulsamos tu presencia digital con estrategias personalizadas de SEO, automatización con CRM, y campañas en Google Ads que realmente convierten.