DNS
Vamos a empezar con DNS.. DNS es algo MUY importante en el día de hoy, ya que sin las DNS no somos capaces de navegar por INternet ya que las DNS se encarga de traducir los nombres a direcciones IP y a la inversa Es decir.. Tanto en Windows como Linux podemos hacer esta práctica.. En Linux desde la shell hacemos un ping a cualquier servidor de Internet por ejemplo a google.com a ver que nos sale…
marc@pruebas:~$ ping google.com
PING google.com (74.125.45.100) 56(84) bytes of data.
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=128 time=189 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=128 time=213 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=128 time=171 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=128 time=159 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=128 time=171 ms
^C
— google.com ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 159.606/181.202/213.492/18.754 ms
Tal y como podemos comprobar si hacemos un ping a google.com, que es lo que pondríamos en cualquier navegador para acceder a esta página..En cambio..podríamos acceder igual poniendo la dirección IP..
Es decir si en el navegador ponemos 74.125.45.100 también llegaríamos a google
Normalmente en una casa, no tenemos servidor DNS ya que el que nos hace la traducción de nombres a IP o a la inversa es el ISP
es decir o telefónica o tele2.. I da igual que le pongamos Ip estática o dinámica.
En cambio en Empresa normalmente siempre hay un servidor que se encarga de las DNS ese servidor puede estar bajo Windows 2003 Server o con Linux utilizando Bind por ejemplo que será como lo haremos nosotros aquí con Bind
Pero primero haremos un repaso de DNS..
DNS como su nombre indica Domain Name System..Yo y mucha gente siempre que quiero hacer una buena definición me dirijo a la Wikipedia..Vamos a ver que dice la Wikipedia sobre las DNS..
El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet.
Lo primero y muy importante es que menciona que DNS es una base de datos distribuida es decir se va actualizando y Jerarquica o sea que sigue unos niveles.
Esto lo gestiona
http://www.icann.org/tr/spanish.html
Y también habla sobre Nombres de Dominio..
Un nombre de Dominio es lo que comúnmente conocemos como .com, .es. O también según la Wikipedia..
Un dominio de Internet es un nombre base que agrupa a un conjunto de equipos o dispositivos y que permite proporcionar nombres de equipo más fácilmente recordables en lugar de una dirección IP numérica. Permiten a cualquier servicio (de red) moverse a otro lugar diferente en la topología de Internet, que tendrá una dirección IP diferente
Una página muy famosa que gestiona dominios en Internet es
http://www.nominalia.com
Una vez tenemos ya aprendido lo de los dominios vamos a ver que tipos de servidores DNS hay
Hya tres tipos de Servidores DNS
Servidor DNS Maestro:
Contiene la base de datos que relaciona los nombres con las direcciones IP.
Servidor DNS Esclavo:
Es aquel es hace un mirror (espejo) del primero.
Servidor DNS Cache:
Es aquel que va guardando en la memoria las peticiones que recibe
Entonces.. como funciona cada vez que escribimos una URL en el navegador?¿
Nos vamos a nuestro navegador, por ejemplo, a wwww.seifreed.wordpress.com
Se hace la petición a nuestro servidor DNS y le pregunta,
Sabes cual es la dirección IP de seifreed.wordpress.com?
Respuesta:
No, no se cual, pero el dominio está alojado en wordpress.com
Entonces se le pregunta:
Sabes cual e sla dirección IP de seifreed.wordpress.com?
Y el dominio, wordpress.com le responde, la dirección IP es: 59.2.233.72
También hay dos comandos bastantes útiles en linux:
El primero es nslookup, que nos permite saber que dns teneos configurado.
Veamos un ejemplo:
marc@pruebas:~$ nslookup seifreed.wordpress.com
Server: 192.168.233.2
Address: 192.168.233.2#53
Y el siguiente es DIG que nos muestra el servidor DNS que pertenece al dominio que le estamos pidiendo..
Ejemplo:
marc@pruebas:~$ dig seifreed.wordpress.com ns
; <<>> DiG 9.5.0-P2 <<>> seifreed.wordpress.com ns
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42211
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0;; QUESTION SECTION:
;seifreed.wordpress.com. IN NS;; ANSWER SECTION:
seifreed.wordpress.com. 5 IN CNAME lb.wordpress.com.;; AUTHORITY SECTION:
wordpress.com. 5 IN SOA ns1.wordpress.com. mmmmmm.gmail.com. 2005071858 14400 7200 604800 60;; Query time: 659 msec
;; SERVER: 192.168.233.2#53(192.168.233.2)
;; WHEN: Sun Jan 18 17:13:50 2009
;; MSG SIZE rcvd: 110marc@pruebas:~$
Y eso es todo por hoy, seguiremos hablando de DNS mas adelante
Windows 2003 Server DNS y intranet/Internet
Instalar y configurar DNS para intranet/Internet en Windows Server 2003
Un servidor DNS nos va a servir para la resolución de nombres cuando queramos acceder a las web que tenemos alojadas en nuestra intranet. Si el volumen de sitios web es grande, instalando un DNS podremos utilizar una misma IP y tener multitud de webs en un mismo servidor IIS diferenciados por nombre. Si disponemos de IP suficientes esta opción nos servirá para acceder a los webs por un nombre y no por una dirección IP que son más difíciles de recordar.
La misma filosofía se aplica si el servidor lo tenemos en Internet, si instalamos un servidor DNS con una sola IP que nos proporcione nuestro proveedor podremos alojar multitud de dominios en un mismo servidor IIS.
No voy a explicar lo que es un servidor DNS, ni que hace, ni quien lo inventó, aquí trataremos exclusivamente la instalación y la configuración. Doy por supuesto qué se sabe que es un servidor DNS.
El artículo lo he realizado con Windows Server 2003 Enterprise, IIS 6.0 y DNS Server que viene incorporado en Windows Server 2003 pero sirve como guía para instalarlo en Windows 2000 server. La idea es explicar paso a paso las acciones a realizar a la hora de instalar el servidor DNS y relacionarlos con los sitios web. Voy a basarme en una intranet pero el artículo sería similar si lo aplicáramos para un servidor en Internet.
Instalación del servidor DNS.
Para instalar un DNS Server vamos a Inicio > Panel de control > Agregar o quitar programas, una vez ejecutada esta opción aparece una ventana donde seleccionaremos de las opciones que aparecen a la izquierda, agregar o quitar componentes de Windows, buscamos en la ventana que nos aparece la opción servicios de red, la seleccionamos y pulsamos el botón detalles, de la nueva ventana que aparece seleccionamos la opción sistema de nombres de dominios (DNS), la seleccionamos (imagen 1) y aceptamos todas las pantallas y pulsamos siguiente. Este proceso de instalación pedirá el CD de Windows debido a que necesita instalar varios componentes.
Una vez terminado el proceso de instalación podemos acceder al DNS desde Inicio > herramientas administrativas > DNS, hacemos clic en DNS y aparecerá la imagen 2, a partir de ahora hay que configurarlo.
Configuración del servidor DNS.
Para configurar el DNS y que nos resuelva las IP en nombres lo primero que deberemos crear es una zona de búsqueda inversa. Para realizar esta acción nos pondremos sobre esta rama de la consola del DNS y con el botón derecho seleccionamos nueva zona, nos aparece un asistente donde asignaremos:
1. Tipo de zona: Primaria (imagen 3)
2. Id. De red: Será nuestra IP, en mi caso y para los ejemplos 172.20.0(imagen 4)
Y las siguientes pantallas las dejamos tal y como las pone el asistente.
Una vez creada la zona inversa tenemos que crear el nombre de domino que utilizaremos en nuestros webs. Para la realización del artículo he creado dos nombres fictícios “barriosesamo” y “simpson” que serán los que utilizaré en los ejemplos. Está demás decir, que se puede crear cualquier nombre que deseemos. Para los que instaléis el servidor DNS en Internet, estos nombres deben de ser nombres de dominios reales y registrados en Network Solutions que es la empresa final que otorga los dominios. En Internet debéis poner los nombre con el .com, .es, etc … y no sólo el nombre como en la intranet.
Para crear los nombres de dominio pulsaremos con el botón derecho sobre zonas de búsqueda directa y seleccionamos nueva zona, aparece un asistente donde asignaremos:
1. Tipo de zona: Zonal principal. La zona secundaria se utiliza para añadir dominios que ya tienen una zona principal creada en otro servidor DNS, de esta forma cuando creamos una zona secundaria todos los registros que tengamos en la zona principal se replicarán a ésta. Pero no es nuestro caso.
2. Nombre de zona: Aquí ponemos nuestro nombre de dominio, por ejemplo, “barriosesamo”.
Y las siguientes pantallas las dejamos como las pone el asistente.
Para crear el segundo nombre de domino repetimos los pasos.
Con ésto ya tenemos dado de alta nuestro nombre de dominio para la intranet ahora queda crear los nombres de los subdominos con los que crearemos la dirección web, es decir, accederemos a nuestro web a través de
Nombre_Subdominio.Nombre_dominio
Para crear los subdominos pulsamos sobre la nueva zona creada (barriosesamo) , imagen 5, y vemos que a la derecha nos aparecen los datos de este domino, pulsamos con el botón derecho sobre el nombre de dominio (imagen 6) y seleccionamos #Host nuevo (A) y aparecerá una ventana similar a la imagen 7, ahí pondremos el nombre de subdominio, es el ejemplo “epi”, y la IP que tiene asignada, normalmente la de la maquina y lo añadimos, si ahora abrimos una consola (cmd.exe) y probamos hacer ping a epi.barriosesamo (nuestro dominio de intranet) que acabamos de crear veremos que nos responde afirmativamente (imagen 8) . Si queremos crear más solo tenemos que repetir los pasos, yo en las pruebas he creado los siguiente por si queréis repetirlo:
- epi.barriosesamo
- blas.barriosesamo
- coco.barriosesamo
- bart.simpson
- homer.simpson
Éstos serán los nombres que utilizaré para acceder a los webs de la siguiente forma:
http://epi.barriosesamo
http://blas.barriosesamo
Ahora queda enlazar estos dominios con el IIS, pasos que veremos a continuación.
Un paso previo que hay que realizar antes de poner los dominios en el IIS es hacer accesible nuestro DNS a nuestro ordenador, es decir, en las opciones de red tenemos que poner nuestro DNS para que resuelva los nombres. Para realizar esta acción vamos a Inicio > panel de control > conexión de red > conexión de área local y pulsamos el boton propiedades de la ventana que aparece, seleccionamos Protocolo de Internet (TCP/IP) y donde pone Servidor DNS preferido ponemos la IP de nuestro DNS, que suele ser la IP de la máquina, en el ejemplo seria 172.20.0.62 (imagen 9).
Configuración del IIS.
Ya tenemos el DNS funcionando, enlazado con nuestro servicio TCP/IP y los dominios dados de alta en el DNS, ahora nos queda configurar el IIS para que acepte estos nombres de dominio en lugar de nuestra IP y poder crear las webs que necesitemos sin necesidad de que todas estén dentro del wwwroot.
Para crear los nuevos webs podéis seguir este artículo que lo explica paso a paso, así no tengo que repetirlo aquí y vamos directos al grano. Una vez creado el web pulsamos sobre el botón derecho y seleccionamos propiedades, en la pantalla que aparece donde pone la dirección IP pulsamos el botón avanzadas y sobre la nueva pantalla seleccionamos la IP, ahí sale una ventana donde le pondremos la IP, el puerto y las cabeceras. Donde pone valor del encabezado host tenemos que poner nuestro nombre de domino, por ejemplo pondremos epi.barriosesamo (imagen 10). Podemos poner tantos webs como queramos y repetir este proceso por cada web nuevo que deseemos instalar. Una muestra de cómo podría quedar con varios webs instalados la tenéis en la imagen 11.
Con este último paso ya tenemos todo configurado y sólo queda probarlo. Para eso vais al Internet Explorer y ponéis http://epi.barriosesamo y debería apareceros la pagina principal de vuestro web, en mi caso imagen 12.