Posts etiquetados ‘servidor dns’

Montar servidor Dns en Ubuntu

Publicado: octubre 18, 2011 de hataz en informatica, Linux
Etiquetas:, , , ,

Vamos a montar un servidor DNS en nuestra máquina para que resuelva las IP de los PC de nuestra red. Primeramente vamos a definir que es exactamente esto del DNS.

Para registrar un dominio es imprescindible disponer de servicio de DNS. Para que tu o tu empresa seais visibles en Internet deberás tener tus nombres de dominio instalados en dos ordenadores que estén conectados a la red y que se denominan servidores de DNS.
La principal tarea de un servidor de DNS es traducir tu nombre de dominio (p.ej. midominio.com) en una dirección IP.
El servicio de DNS permite, una vez configurado, que tu web y tu correo electrónico sean localizados desde cualquier lugar del mundo mediante tu nombre de dominio.

Es una base de datos distribuida, con información que se usa para traducir los nombres de dominio, fáciles de recordar y usar por las personas, en números de protocolo de Internet (IP) que es la forma en la que las máquinas pueden encontrarse en Internet.
Una pieza fundamental en este sistema es el servidor de DNS, o en forma abreviada DNS. El servicio de DNS es indispensable para que un nombre de dominio pueda ser encontrado en Internet.

En resumen, montaremos en un PC un servidor DNS para nuestra red local con otros tantos PC interconectados. Este nos permitirá, cuando haya una petición a un PC o a una IP de nuestra red, resolver desde nuestro servidor. Tengo que puntualizar que ,para hacer esta práctica, usaremos nuestro querido VirtualBox ya que simularemos los PC, y por tanto nuestra red local. Dicho esto, procederemos a arrancar nuestra máquina Linux con distribución Ubuntu 10.10.

Una vez arrancada la máquina, lo primero que deberemos hacer es instalar el servicio de DNS, que en nuestro caso usaremos el Bind9. Abrimos una consola y he instalamos con el apt-get:

 

Mientras se instala el servicio podemos aprovechar para hacer algunos arreglos necesario. Necesitamos configurar nuestro adaptador de red para que tenga una IP privada estática, y no bajo DHCP como viene por defecto, ya que si queremos resolver las máquinas de nuestra red, es necesario que posean siempre la misma IP, porque si no, cuando se obtuviera otra IP, nuestro servidor le perdería la pista. Por tanto, hay que hacer esto en todas nuestra máquinas:

Pinchamos con el boton derecho en el escritorio sobre la barra de Ubuntu, en el icono del Network Manager, y elegimos editar conexiones:

Una vez dentro elegiremos la conexion activa y procedermos a editarla:

Entonces tendremos que elegir la pestaña de parámetro de Ipv4 y poner el método manual.

Ahora vamos a introducir los datos de la direccion de red estática, en mi caso quedaría asi, teniendo en cuenta que en el servidor de DNS deberemos poner la misma IP que la de nuestro servidor, es decir esta máquina. Esa IP, una vez montado el servidor, deberá ponerse como DNS preferido en todas las demás máquinas de nuestra red, para que nuestro servidor pueda resolver las peticiones de dichas máquinas. A continuación, vemos como queda nuestra configuración:

Reiniciamos la red, hay varias maneras:

  1. sudo /etc/init.d/networking restart

  2. Deshabilitar y habilitar la conexion desde la barra del escritorio, boton derecho en NetworkManager.

  3. … incluso reiniciando la máquina XDD.

Comprobamos que ahora tenemos la IP que elegimos (…21) con el comando ifconfig en otra consola:


OK, de momento todo va bien. Observamos, y ya tenemos instalado el Bind9 en la primera consola. Ahora dedicaré unas lineas a localizar la estructura de archivos de Bind, y los más importantes, o al menos para esta práctica.

Accedemos a /etc/bind9:

 

Éstos son los que necesitaremos modificar:

  • db.local: Este fichero simplemente lo usaremos como plantilla para los fichero que crearemos más tarde, es decir, lo copiaremos on otro nombre que ya veremos.

  • Named.conf.local: Fichero de configuración principal.

 El primer fichero que editaremos será named.conf.local. Yo uso el nano para editar ficheros, aunque pueden usar un editor gráfico si se sientes más cómodos. Recuerden editarlo en superuser, sino, puede que cuando acaben de escribir y quieran guardarlo os estampeis contra un muro y debais volver a editarlo XDD. Bueno, al final el fichero debería tener un aspecto pareciado a:

Aqui creamos nuestra zona, una para la resolución directa de nuestro dominio ficticio mizona.cat y otra para la inversa, es decir, resolver direcciones IP a nombre. En la directa, nos resolverá las diferentes máquinas de nuestro dominio, tipo david.mizona.com. Lo demás, es bastante deducible, el tipo de servidor será maestro, aunque tambien podríamos hacer uno esclavo o incluso uno caché. La otra linea, se refiere al fichero que contendrá las directivas de esa resolución, ficheros que será lo próximo que haremos.

Primero, como dije antes, copiaremos el fichero /etc/bind/db.local con el nombre de nuestro fichero de configuración de resolución directa db.mizona:

 # sudo cp db.local db.mizona

 Y modificamos el fichero db.mizona para que quede asi:

 

En este ejemplo vemos primeramente el dominio a resolver, ‘mizona.cat.’ y el segundo es la cuenta de correo del administrador. Debemos notar que al final de cada dominio viene un punto, que identifica la raíz de este. El resto de los parámetros son:

  • Serial: es un identificador del archivo, puede tener un valor arbitrario pero se recomienda que tenga la fecha con una estructura AAAA-MM-DD y un consecutivo.
  • Refresco: número de segundos que un servidor de nombres secundario debe esperar para comprobar de nuevo los valores de un registro.
  • Reintentos: número de segundos que un servidor de nombres secundario debe esperar después de un intento fallido de recuperación de datos del servidor primario.
  • Expiración: número de segundos máximo que los servidores de nombre secundarios retendrán los valores antes de expirarlos.
  • TTL mínimo: Significa Time To Live y es el número de segundos que los registros se mantienen activos en los servidores NS caché antes de volver a preguntar su valor real.

Realizamos el paso anterior nuevamente con el fichero de resolución inversa: db.192:

De forma que, la última linea indica que la IP [192.]168.1.21 (escrita a la inversa y omitiendo el 192 que ya se especifico en “named.conf.local”) corresponde al dominio mizona.ñcat.

Podemos comprobar su funcionamiento reiniciando el demonio BIND9 y realizando una consulta:

 

La consulta a la resolución inversa, la realizaremos haciendo un dig a la Ip de nustro servidor:

Vemos que la respuesta es autoritativa, quiere decir que nuestro server es autoridad de la zona consultada.

Si realizamos otra consulta, esta vez con el comando nslookup a mizona.cat, observaremos esto:

Vemos que la respuesta es la correcta.

Por lo tanto, ya tenemos montado nuestro servidor DNS. Entonces, el siguiente paso sería añadir en los ficheros de zonas, añadir los PC de nuestra red, aparte de otros servicios que tengamos disponibles como servidores de correo, servidores http,… para que nuestro DNS server pueda resolver las peticiones a éstos. Tambien, como dije antes, deberíamos poner como DNS favorito en el resto de máquinas de nuestra red la IP de nuestro servidor.

Nota: Bueno, espero que les haya gustado, por favor comenten.

Encuesta