22 de octubre de 2009

Server casero

Para explicar como montar un servidor casero primero voy a esplitar unos cuantos conceptos basicos a grandes rasgos.

Dirección IP:
La dirección IP es la dirección de nuestro equipo en la red. Es como la dirección de nuestra casa. La dirección IP es una dirección numerica que nos identifica de forma unica.

IP Dinamica:
Cuando comenzó internet las ISP daban una IP fija a cada uno de sus clientes. Pasado el tiempo las ISP tenian más clientes que IPs.
Durante IP fija las ISP observaron que muchos de sus clientes no siempre estaban conectado, por tanto pensaron que cuando un cliente no estubiera conectado podrían dar esa IP a otro cliente que se fuera a conectar en ese momento. De este modo el numero de IPs que tiene un ISP es menor que el numero de clientes ya que por ejemplo con 10 IPs podrían dar servicio a 20 clientes; siempre que como maximo no estenc conectados más de 10 clientes a la vez.

Dominios:
Dado que memorizar una lista de numeros es complicado para las personas, se crearon los nombres de dominios. El nombre de dominio no es más que un texto que referencia un IP. Una misma IP puede tener distintos nombres de dominios. Para poder saver sus equivalencias se usan los servidores DNS(Domain Name Server).
Cuando queremos acceder a una web como "http://rollanwar.net" hacemos una pregunta a un servidor DNS que nos responde la dirección por ejemplo "101.121.141.161" y tras conocer su dirección realizamos la conexión.

NAT:
El nat es una tabla que se raliza cuando varios equipos van ha salir a internet con una misma IP. Consiste en asignar IPs locales a puertos externos.
Me explico, cuando A (host local) se conecta con B (host externo), A hace una petición a su router R para conectarse con B. A se conecta por el puerto 29023 al puerto 80 de B, pero R que esta en medio y es quien realiza la conexión con el exterior y puede cambiar el puerto que ve B. De este modo queda una cosa así:
- A ver: A:29023 -> B:80
- B ve: B:80 -> R:23456
Para A, R es un punto más del recorrido hasta B, pero B no conoce a A, sino que habla con el puerto 23456 de R (quien tiene la IP publica). R save que la conexión al puerto 23456 le pertenece a la IP de A y al puerto 29023 y lo que llege por ahi se lo manda.

Bueno vamos a empezar un poco a montar nuestro servidor casero.
Lo primero que necesitamos es un nombre de dominio. Para poder tener un identificador facil de recordar y que no cambie, ya que nuestra IP si que lo hace.
Existen varios servicios que nos permiten desde ir modificando la IP de nuestro dominio de forma automatica.
Si el servicio esta en el Router el router cuando cambie de IP mandará un mensaje al servidor DNS actualizando la IP.
Si el servicio esta en un pc de la red ira realizando latidos cada X tiempo para que la IP sea actualizada si cambia.
Los dos servicios gratuitos más conocidos en este respecto son: no ip y dyndns.

Una vez activo este servicio en nuestro router o host ya tenemos nuestro dominio que nos dará siempre nuestra IP aunque esta cambie.

Ahora tenemos nuestro dominio por ejemplo "http://mi-host.casero.es" que nos da la IP publica de nuestro router. Pero si intentamos acceder a el dominio este nos rechaza las conexiones. Esto es porque tenemos que configurar una tabla de nat estaticamente, de este modo todas las peticiones que se llegen a un puerto se dirigiran directamente el host donde queramos.

Resumen:

  1. Tener una cuenta en un servidor DNS dinamico.

  2. Configurar el router o pc para que modifique nuestro servidor DNS.

  3. Abrir los puertos al router para añadir parte estaticas a la tabla NAT.

1 comentario:

  1. Muchas gracias, que estaba buscando una forma de configurar un hosting casero y me ha sido de gran ayuda tu aporte

    ResponderEliminar