Vamos a ver paso a paso como montar un servidor FTP en
nuestro ordenador. Para comprender mejor como funcionara nuestro servidor,
necesitaremos conocer el funcionamiento de las conexiones FTP/IP y otros
conceptos técnicos. Como la finalidad de este blog es la de llegar a usuarios
de todos los niveles, os lo explicare de un modo que todos podáis entender,
aunque en ocasiones mi método no sea muy ortodoxo. Primero, que es un servidor FTP: pues no es más que un programa para
poner a disposición de nuestros clientes FTP (los que tienen el programa para
conectarse a nuestro servidor FTP, cuteftp, filezilla…) los archivos de nuestro
disco duro que deseemos compartir. El servidor FTP requerirá tener una IP fija
y una serie de puertos abiertos. ¿Pero no iba a ser sencillo? Ahora os lo
explico, una IP es una dirección en interned. Imaginémonos que tenemos una casa
restaurante en un pueblo en el culo del mundo en el que nuestra casa es la única
del pueblo, este pueblo tiene un código postal pero como somos los únicos que
vivimos aquí, si nos envían una carta a ese código postal el cartero nos la
entregara a nosotros. Pues bien, nuestra casa, “casapepe”, sería el dominio
(como lo es www.google.com, www. msn.com ,
cualquier dirección de internet que se os ocurra) y el código postal seria la IP (209.85.195.104 para google, 65.55.206.228 para msn, para conocer una IP desde cmd, escribid cmd en
búsqueda de inicio y haced ping a la dirección que deseéis. Probad a escribir en el símbolo
de sistema ping www.google.es por ejemplo).
En internet las direcciones son en forma de IPs, pero recordar números no es
muy práctico, por eso se utilizan los dominios. ¿Pero si internet funciona con IPs, quien le dice al “cartero” cuál es la IP del dominio que hemos
introducido? Pues el servidor DNS, se trata de un servidor (en realidad más de
uno por proveedor de servicios, porque si falla uno nos quedaríamos a dos
velas) que posee una base de datos con la dirección de todos los dominios
registrados. Imaginémonos que queremos registrar nuestro dominio www.casapepe.es, pues nos asociarían una IP
que tendrían que actualizar en todos los servidores DNS del mundo (por eso tarda un tiempo). Ahora
sabemos que cada dirección web tiene al menos una IP asociada, pero ¿y que pasa
con mi pc? Pues tenemos dos tipos de IP, uno público y otro privado. El público
ya lo hemos visto, el privado es el que se asigna a cada uno de los
dispositivos que tenemos conectados al router y a este. Esta dirección seria en
forma xxx.xxx.xxx.xxx, con valores para cada punto de 0 a 255, de ahí la limitación
de IPs disponibles, que se intenta subsanar con el protocolo ipv6 (mas IPs para
todos). La máscara de subred determinara cual es el valor que varía para cada equipo
conectado (255.255.255.0 significa que el valor que determina mi equipo, el de
mi hermano, la Xbox… es el último y tienen que ser distintos). El router (se
llama enrutador por algo), se encargara de enlazar nuestra red privada con la
red pública (la IP de nuestro proveedor de servicios). La puerta de enlace es
la dirección que usa nuestro router para hacer esto mismo. ¿Qué, me vais
siguiendo? Para que nos lleguen las cartas necesitamos una dirección que no
cambie, una IP fija, una IP variable cambia cada vez que apagamos el sistema
con lo que o tenemos siempre encendido el pc (y cruzamos los dedos para que no
se valla la luz), actualizamos nuestra dirección a nuestros clientes cada vez
que nos la cambien (ja!, tela), o nos vamos a esta pagina que nos asociara una IP fija (hay que registrarse claro, pero es gratis) http://www.no-ip.com/ . En cuanto a los puertos,
no son otra cosa que entradas de datos a nuestro pc, como un puerto USB, uno
ps2… después veremos más sobre ellos cuando os esplique el modo pasivo y el
modo activo del servidor y la configuración de la NAT y el Firewall (¿pero ya
estamos otra vez?, tranquilos que no es tan fiero el perro como pinta). Os dejo
un ejemplo de configuración TCP/IP (en Windows 7, ipv4), Veréis que la IP esta
forzada, lo normal es dejar que el sistema nos asigne los valores, esto es así
en mi caso porque tengo instalado un CPE (un router exterior en el poste de la
antena de tv) que programe de un modo “especial” que no viene a cuento, y para
que Windows me mantenga el rango de la IP de mi CPE tengo que hacerlo así. De otro
modo no podría acceder a configuración del mismo.
Bueno, pues ya sabemos unas cuantas cosillas y nos podemos
atrever a instalar nuestro servidor. En este caso vamos a instalar filezilla,
porque es gratis y porque soporta varios protocolos de seguridad. Lo
descargamos de aquí http://filezilla-project.org/download.php?type=server
y lo ejecutamos. No tocamos nada e instalamos todo palante. Ahora, ya
instalado, es cuando lo vamos a configurar, nos aparecerá una pantalla que
dejaremos así. La dirección IP 127.0.0.1 es una dirección especial, sirve para
hacer creer a nuestro pc que está conectado a una red aunque realmente no lo esté
(localhost). La contraseña está en blanco y el puerto de escucha ya lo
designamos en la instalación.
Ahora vamos a crear un usuario para que pueda
conectarse y las opciones de cómo lo hará. Pulsamos en el icono marcado,
borramos por seguridad todos los que nos aparecen y creamos uno nuevo (add). Despues escribiremos la contraseña de acceso para ese cliente. Ahora iremos a
shared folders (en la misma ventana a la izquierda), borramos todo y le damos a
add para determinar a qué carpetas tendrá acceso nuestro cliente (recomiendo
crear una carpeta en el símbolo del sistema, por
ejemplo “deaquinopasas” y al
ladin seleccionamos los permisos que le concedemos sobre ella; leer, escribir…
A continuación ajustaremos el modo pasivo “Passive mode settings”, aquí
es donde entra en juego la NAT y el firewall, según que router tengamos y que
sistema operativo podríamos tener problemas con el modo pasivo. Pero ¿Qué es el
modo pasivo? En FTP existen dos modos de conexión, pasiva y normal (pasv mode,
port mode).
Cuando iniciamos nuestro servidor en modo normal se abre un puerto
de escucha, nosotros escogimos el 14147 (main port). Este puerto se usa como
puerta de acceso y para la transmisión de comandos (pass, cwd, user…), pero el FTP necesita otro puerto para el envio de los datos, normalmente main port
menos 1 (el data port seria 14146) Por defecto el puerto FTP seria el 21 y el
servidor web (el que nos da las páginas web que pedimos) el 80. El cliente abrirá
un puerto dinámico comprendido entre los valores 1024 y 65535 llamara a la puerta
de nuestro servidor 14147, estableciéndose una conexión de control. Entonces el
cliente nos enviara a nosotros como servidor, un comando port con los
datos de la conexión, nuestro servidor ya sabe como conectarse y establecera la conexión
(nuestra IP, maint port menos 1, a cliente IP, port dinámico más 1). OSEA, las
reglas del juego las marca el cliente. Ah, pero nuestro cliente tiene el
firewall activado, y estos son muy permisivos con las conexiones de datos
salientes pero tremendamente restrictivos con las entrantes. El cliente ve los
archivos pero no puede descargar porque el firewall corta el data port. En modo
pasivo, somos nosotros quienes determinamos el comando port (esta vez el puerto
será uno asignado dinámicamente por encima del 1024), y es el cliente el que
crea la conexión de datos con los parámetros que nosotros le hemos dado. Ahora
la conexión es saliente y el firewall no se nos debería poner terco. Resumen,
en modo pasivo nosotros establecemos los parámetros de la conexión y el cliente
la conexión de datos y en modo normal el cliente los parámetros y nosotros la conexión
de datos. Por eso debemos activar el
modo pasivo. Pero ahora será nuestro firewall el que corte la comunicación de
datos por lo que en firewall, en excepciones, debemos incluir el filezilla. En Windows
7 debería preguntarnos si permitimos a filezilla que establecca la
transferencia de datos y le diremos que sí. Tendremos igualmente que abrir los
puertos necesarios para que funcione nuestro servidor en el router. Para saber cómo
entrar en el menú de configuración del router tenéis que seguir las
instrucciones del manual o buscarlo en internet y abrir los puertos que ya hemos visto y ademas, desde el 50000 al 51000 que están menos transitados y somos menos
visibles (venga va,lo explico mejor. La dirección IP del router la obtenemos en cmd “ipconfig” es el valor
"puerta de enlace", la escribimos en nuestro navegador y ya estamos en el menú.
La clave está en el manual, pero podéis probar con 1234, usuario, admin y
para "password" lo mismo ).
Ahora la NAT. La NAT se encarga de cambiar en la etiqueta que
llevan todos los paquetitos que enviamos con nuestra dirección y la de destino. La dirección del remitente es nuestra IP privada, por lo que los paquetes de regreso nunca llegarían (por esa razón las enmascara con la direccion publica), y se encargara de
cambiar la pública cuando los recibe en nuestra IP privada (más o menos, crea
una tabla de datos para enviar y recibir los paquetes. Para activar la NAT en Windows,
vais a “centro de redes y recursos compartidos”, “cambiar la configuración del
adaptador”, clicais en compartir conexión, os aparecera una ventana diciendo que se activa DHCP, que debereis aceptar. Y creo
que es todo, si algo no queda claro ya sabéis, preguntad.
No hay comentarios:
Publicar un comentario