Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Servidor Linux desde tu hogar Paso 2

Levantado mi servidor

De nuevo, este paso se realiza en tres incisos:
  1. configurar el firewall, para la seguridad
  2. instalar, configurar y levantar los servicios en sí mismos
  3. probar
Configurar el firewall
Dependiendo la distribución Linux que tengas, éstas muchas veces ya vienen con utilidades de configuración que permiten establecer la seguridad del firewall en la máquina. Todo lo puedes configurar a través de estas utilidades, o configurando directamente los archivos pertinentes. En este tutorial no nos enfocaremos en ninguna de esas dos formas, solamente mencionaré lo que en sí tienes que conseguir.

Una de las cosas que requieres, y que probablemente haya quedado configurada desde el inicio cuando instalaste (o te instalaron) Linux en la máquina, es que el firewall se active desde que arranca la máquina, de otra forma tendrías que estarlo activando manualmente cada vez que reinicias tu máquina.


Por otro lado, también debes seleccionar la interfaz de red que quedará protegida por el firewall. Por un lado es recomendable que actives para todas las interfaces, pero por otro también recuerda que sólo una de las interfaces quedará configurada con el port-forwarding desde el ruteador, por lo que ésta es la más importante a configurar. Las demás, son lo de menos pues el mismo ruteador implementa seguridad de firewall para los otros dispositivos ;)

Por último, debes habilitar los servicios a ser permitidos. Esto no significa que los servicios ya quedarán configurados, solamente se abrirán los puertos especificados para que los servicios funcionen. El listado de puertos debe configurarse para que sean vistos hacia el exterior, de lo contrario no serán vistos desde fuera. Dicho listado puede incluir cuantos servicios quieras levantar en el servidor. Los más comunes son HTTP (puerto 80), FTP (puerto 21), SSH (puerto 22), Telnet (puerto 23), SMTP (puerto 25) y cualquier otro puerto de aplicaciones particulares como MySQL (puerto 3306), PostgreSQL (puerto 5432), SubVersion (puerto 3690), algún servidor de aplicaciones como Tomcat (puerto 8080), etc. Obviamente, si al momento de levantar un servicio (lo que cubriré a continuación), eliges utilizar un puerto diferente al estándar, entonces dicho puerto es el que debes abrir en el firewall, en lugar del que comúnmente se utilizaría, y debes recordar conectarte al servidor en ese puerto específico para usar dicho servicio, de lo contrario puedes estar intentando conectarte al puerto por defecto y asumir que no hay conexión o que el servidor no funciona correctamente.

Los servicios
A continuación, debes levantar los servicios a utilizar. Igualmente, puedes hacerlo 'a mano', o utilizando las utilidades de configuración que vengan con la distribución Linux que estés utilizando. Sin enfocarme en una u otra opción, ni en ningún servicio en particular, básicamente tienes que instalar y configurar la aplicación que proporcione dicho servicio en el sistema.

Por ejemplo, para un servidor HTTP, puedes instalar el popular Apache. Para un servidor FTP, puedes utilizar VSFTP. Para SSH, el más común es OpenSSH. Para aplicaciones particulares, como servidores de bases de datos, versionadores o aplicaciones, cada aplicación la debes instalar y configurar correctamente (sin olvidar abrir los puertos necesarios en el firewall del servidor cada vez que hagas esto).

Hecho esto, ahora sí solamente te queda probar...
Supongamos que instalaste Apache en tu servidor (o cualquier otro servidor web). En un navegador web dentro del mismo servidor puedes introducir en la URL lo siguiente: http://localhost/, con lo que no estarás utilizando el port-forwarding. Si por otro lado introduces http://midireccionip/ y obtienes el mismo resultado que con localhost, entonces las cosas van funcionando bien. Si haces la prueba de http://midireccionip/ desde otra máquina de la LAN, debes obtener el mismo resultado. Pero la prueba más interesante, y la más efectiva, es realizar la prueba desde el exterior. Te puedes ir a un cibercafé cercano, o probar desde otro lugar con acceso a internet, o que alguien más prueba mientras te informa del resultado. Asegúrate, claro está, de tener tu servidor encendido y conectado a internet, y de recordar ese feo numerito: midireccionIP ;)

Las mismas pruebas las puedes hacer para servicios distintos a un servidor HTTP:
  • con FTP conéctate e intenta bajar/subir archivos (dependiendo la forma en que hubieras configurado el servico)
  • con SSH, intenta conectarte y entrar a sesión en el servidor de forma remota
  • con SVN, levanta un repositorio en el servidor y luego trata de acceder a él (haciendo un checkout y luego checkins a cambios hechos) desde el exterior
  • con MySQL, con un cliente de dicha base de datos en el exterior, intenta conectarte al servidor levantado
  • en fin, las prueba dependerá de la aplicación y servicio instalados
Además, si es posible que tengas acceso fuera de la LAN a los programas de utilidad que mencioné al principio, puedes hacer un ping al servidor nuevo, para ver si responde, un traceroute para ubicar la ruta para llegar a el, y un nmap para conocer qué puertos tiene abiertos tu servidor. Por otro lado, de regreso al servidor, las aplicaciones levantadas suelen dejar un log que será conveniente que siempre revises y monitorees, para observar cómo ha sido el desempeño y el uso que se ha hecho de tu servidor desde el exterior.

Para terminar este paso, una pequeña nota: para los que son observadores, podrán haber notado que este segundo paso (levantar el servidor), es de alguna manera independiente al paso 1 (publicar la dirección IP). ¿Qué se logra si se realiza este paso 2, sin haber realizado el paso 1?... ¿Aún no? Bueno, pues se logra tener servicios levantados, pero exclusivamente para la LAN en que se encuentre el servidor. Es decir, todas las demás máquinas de la LAN podrán usar los servicios del servidor, a manera de una intranet. Es cuando se publica la dirección IP que se consigue tener el servidor a nivel externo de la LAN.


No hay comentarios:

Publicar un comentario

Que opinas sobre esta publicación?