Hola. Ahora voy a explicaros cómo podemos montar un sencillo servidor FTP en nuestra Ubuntu. Yo, personalmente lo tengo montado porque, a veces tengo que buscar algun software, y así, en vez de buscarlo por internet, ya sé que lo tengo en mi servidor ftp. El principal problema que nos encontramos es que, al tener IP dinámica, cuando se nos renueve la dirección IP, no podremos acceder a nuestro servidor FTP, ya que no sabremos la IP pública de nuestro router en ese momento. ¿Cómo podemos solucionar eso? Pues es muy sencillo. Hay muchos servicios gratuitos de internet que te ofrecen una dirección "virtual" que mapea constantemente tu IP pública. Una de ellas (creo que de las más completas) es DynDNS.org, que será la que configuraremos. Además, muchos routers actualmente ya traen en su configuración la posibilidad de agregar este protocolo automáticamente. Pasamos a la acción:
primero debemos ir a la página
www.dyndns.com y abrirnos una cuenta (podemos hacer una cuenta gratuita, que para lo que necesitamos es suficiente). Una vez allí, nos llevará a la
página principal de tu cuenta de usuario, y haremos click en "Add Hosts Services". Allí se nos abrirá una ventana como ésta:

En hostaname pondremos el nombre público que queramos que tenga nuestra máquina. La segunda parte del hostname (nombre del dominio) yo recomiendo poner dyndns.org, ya que es la que va mejor con muchos routers, pero da igual la que pongáis. En IP Adress pondremos la IP pública que tengamos en ese momento (podemos decirle que la detecte automáticamente). Hacemos click en "Create Host" y este paso ya está terminado. Ahora le diremos al router que se sincronice con el servicio dyndns.
Este paso dependerá de cada router, pero os explico cómo lo hoce en el mío (tengo un Comtrend de Telefónica). Entramos en la configuración del router por nuestro explorador web, y una vez allí vamos a "Advanced Setup" --> "DNS" --> "Dynamic DNS".

Allí ponemos nuestro proveedor del servicio (dyndns.org), el hostname, la interface será la de por defecto de salida del router, y nuestro usuario de dyndns. Una vez hecho esto, ya habremos acabado con la configuración del DynDNS, pero ya que estamos aquí podremos redireccionar el puerto del FTP. Una vez más, os repito que esta configuración dependerá de cada router, pero yo explicaré cómo lo hice en mi caso.

Dentro de la configuración del router, nos vamos a "Advanced Setup" --> "NAT" --> "Virtual Servers". En "Select a Service" pondremos "FTP Server" y "Server IP Address" pondremos la IP local del ordenador que vayamos a configurar como servidor FTP (doy por supuesto que el ordenador tiene IP FIJA). Si vuestro router no tuviera esta configuración "automática", sólo tenemos que poner un nombre al redireccionamiento, y redireccionar el puerto 21 hacia la IP fija de nuestro ordenador. Muy bien, guardamos y salimos. Pasamos a otra cosa.
Ahora queda la configuración del servidor FTP como tal. Yo recomiendo el paquete vsftp, ya que es el que mejores resultados me ha dado, y de los más fáciles de configurar. Para instalarlo escribimos:
sudo aptitude install vsftpdComo viene en los repositorios oficiales, no tendremos ningun problema. Nos pedirá si lo queremos como demonio. Yo recomiendo tenerlo así, ya que así arrancará solo al arrancar la máquina y siempre lo tendremos operativo. Una vez instalado, lo configuramos. Es mucho más sencillo de lo que parece. Pondremos en la línea de comandos:
sudo gedit /etc/vsftpd.confAsí se nos abrirá el editor de texto para modificar el archivo de configuración del servidor FTP. Paso a detallar las principales características del archivo:
- anonymous_enable: sirve para decirle si queremos que puedan acceder como usuario anónimo. La carpeta de los archivos será /home/ftp
local_enable: este lo activaremos si queremos que los usuarios locales puedan acceder al servidor con su cuenta local a sus archivos. Muy interesante el enjaularlos (lo veremos mas adelante).
- write_enable: si queremos que los usuarios puedan escribir en sus archivos.
- f tpd_banner: para escribir el mensaje de bienvenida.
- chroot_local_user: esto es muy interesante. Sirve para "enjaular" a los usuarios para que sólamente puedan navegar por sus carpetas personales (no podrán llegar a home).
- chroot_list_enable: esto es para activar la lista de usuarios exluidos del comando anterior. Todos los usuarios apuntados en esta lista podrán navegar por todas las carpetas del servidor (cuidadín a quien ponemos aquí).
- chroot_list_file: ruta completa del archivo de texto de la lista de los comandos chroot.
- anon_max_rate: sirve para limitar la tasa de transferencia (en B/s) de los usuarios anónimos.
- local_max_rate: igual que el anterior, pero para los usuarios locales.
- max_clients: numero de conexiones simultáneas que aceptará el servidor.
- max_per_ip: numero de conexiones máximas desde una misma IP que aceptará el servidor.
Cada vez que modifiquemos el archivo de configuración, deberemos reiniciar el servicio del vsftpd con el comando:
service vsftpd restartLa palabra restart se puede sustituir por "stop" o por "start", dependiendo si lo queremos apagar o arrancar.
Si os he podido ayudar en algo, o si simplemente os ha gustado esta entrada, dejad un comentario (no seáis leechers).
Un saludo a tod@s ;)