< ---------------------------- [ EKO Magazine ] ---------------------------- > < - [ Configurando un Servidor De DNS ] ------------------------------------ > < - [ by QQmelo ] ----------------------------------------------- (EKO 01) - > Configurando un Servidor De DNS Este articulo tiene como fin configurar un servidor de dns. Muchos se estaran preguntando que es un servidor de DNS. Primero, comenzaremos por la definicion del servidor de DNS. Domain Name Server, o sea Servidor de Nombres de Dominios. En un principio, en internet todas las maquinas tenian asignados numeros ip, y al no haber tantas maquinas, se podrian llegar a ubicar estas facilmente por un numero. El ejemplo seria, la Universidad de Carolina tiene el ip 25.234.23.21, y la Universidad de London, el 23.43.23.12. Las comunicaciones se establecian al principio entre los dos numeros, o sea que 25.234.23.21 se comunicaba con 23.43.23.12. A medida que Internet crecia, estos numeros se anotaban en un archivo que se llamaba hosts.txt, y este se lo ponia en cada maquina. Este archivo tenia el formato siguiente: (ip) Fqdn 192.168.0.1 jak0.qqmelo.com.ar 192.168.0.2 netg4s.qqmelo.com.ar 192.168.0.3 ]-[eavy.qqmelo.com.ar pero, imaginemosnos que mientras crecia internet, se tenian que copiar estos nombres a diario, y que cada Maquina con conexion a internet, se lo tendria que actualizar, cosa que seria por demas engorrosa. Actualmente, este archivo se llama host, y se encuentra en los linux, dentro del directorio /etc. (Para redes Peque~as, este archivo sirve, cuando las redes crecen este archivo tiende a ser inutil, por lo cual se busco otra solucion, que es el sistema DNS). Bind 8 La mayor parte de los sistemas DNS, utilizan el BIND ( Berkeley Internet Name Domain ), que podemos ver dos versiones tipicas, la version 4 y la version 8. En nuestro caso analizaremos la version 8, ya que es la que actualmente se esta usando. La nueva version es mas sencilla de configurar y trae ciertas mejoras en el aspecto de seguridad, a la vez que incorpora una nueva sintaxis. Comenzando: Se ha dicho que instalar y configurar un sistema DNS no es sencillo ( Cuanta razon!!! ), pero el fin de este texto es demistificar eso. Lo que vamos a hacer, es mostrar dns y como configurarlos, paso a paso, y tratando de encontrar los errores mas comunes. Planteamiento: Para esto, lo que vamos a hacer es mostrar ejemplos sencillos de configuracion. Definiremos zona, dando a entender por zona los dominios que querramos registrar. Queremos que nuestro dns sirva para resolver a todas las pc que se encuentran en la zona lam0s.com.ar y que si queremos consultar una pc de esta zona, se devuelva una respuesta que pertenece a ella. Ejemplo: Segun el registro de la nic, la ip 203.203.203.203, esta asignada a la zona lam0s.com.ar. Ahora, nosotros nos ocuparemos de setear el archivo para que se resuelva correctamente la ip. Veamos paso a paso como realizar esto. 1- Necesitaremos crear un archivo de configuracion, de zona, que desde el bind 8, este se encuentra bajo el directorio /etc. Este archivo es llamado named.conf, y tiene la siguiente estructura. zone "lam0s.com.ar" { type master; file "db.lam0s.com.ar" } analizando este archivo veremos lo siguiente: Primero, que se define la zona lam0s.com.ar, y alli se dice que va a ser una zona master ( o sea primaria ) y se indica que el file ( archivo de configuracion se encuentra en db.lam0s.com.ar ), ustedes se estaran preguntando, si, pero donde lo encuentro??, tranquilos amigos que anteriormente hay unas lineas en este mismo archivo que indican donde estaran alojadas las zonas. options { directory "/var/named" } Con esto, le indico que todas las zonas estaran alojadas en el directorio var/named Siguiendo, veremos en un caso practico, como configurar las zonas correctamente. Hemos dicho, que el archivo db.lam0s.com.ar, resuelve los hosts de esta zona, vamos a ver este archivito, y luego vamos a ir entendiendo como crear correctamente los otros archivos. Este es el archivo db.lam0s.com.ar lam0s.com.ar. IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar QQm310.lam0s.com.ar. IN A 203.203.203.203 netg4s.lam0s.com.ar. IN A 203.203.203.204 velez.lam0s.com.ar. IN A 203.203.203.205 Analicemos un Poquito esto! de entrada , en la primera linea, vemos lo siguiente lam0s.com.ar. , que es esto, Pues es nuestra Zona!!!, luego vemos IN, este registro significa Internet, significa que sera dada de alta en Internet, Luego seguimos viendo algo asi como SOA ( start of autority, o sea, comienzo de autoridad, y aqui nos daremos cuenta que la maquina donde esta alojando el servidor DNS es QQm310.com.ar ) Luego, las caracteristicas , tiempo de refresco, tiempo de peticion , etc, y luego comienza lo que a todos nos interesa, y donde nos detendremos!!! Vemos nuevamente IN NS NS es el registro encargado de indicar cual va a ser el servidor de nombres , el cual debe coincidir con el de comienzo de autoridad, o sea QQm310.lam0s.com.ar. Luego, vemos la siguiente linea. QQm310.lam0s.com.ar. IN A 203.203.203.203 Y esto que significa?? Tranquilos!!!!!!!!!!! veamos, esto es simple!!! QQm310.lam0s.com.ar. es el nombre de la pc, IN es el registro de internet y A ( de Address, significa que le va a transformar la direccion QQm310.lam0s.com.ar. a 203.203.203.203). simple no? Bueno, asi seguiremos con los otros host de nuestra red! Nombres Canonicos y alias Pero, la pagina web lam0s.com.ar esta en el mismo ip que QQm310.lam0s.com.ar, como lo defino? repito la definicion???? NOOOOOOOO, pues esto podria lograr que el sistema termie funcionando mal, entonces una solucion es los nombres canonicos ( alias ), veamos que es esto Introducimos la linea www.lam0s.com.ar. IN CNAME QQm310.lam0s.com.ar. y aqui le indico que las peticiones a la pagina www.lam0s.com.ar. apunten a QQm310.lam0s.com.ar. que en realidad apunta a 203.203.203.203, que es el servidor de DNS. o sea, que nuestra zona quedaria de la siguiente manera!! lam0s.com.ar. IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar QQm310.lam0s.com.ar. IN A 203.203.203.203 netg4s.lam0s.com.ar. IN A 203.203.203.204 velez.lam0s.com.ar. IN A 203.203.203.205 QQm310.lam0s.com.ar. IN CNAME 203.203.203.203 Zonas Reversas!!!! Listo, ya tenemos nuestro servidor de DNS andando correctamente para las zonas directas o "derechas en la jerga!", pero aun no resolvimos el tema de las peticiones inversas, por ejemplo yo quisiera que al consultar 203.203.203.203, me dijeran QQm310.lam0s.com.ar Para lograr esto, deberia configurar la zona inversa! Primero, haremos la entrada correspondiente en el /etc/named.conf zone "203.203.203.in-addr.arpa" { type master; file "db.203.203.203.in-addr.arpa" } Pero ustedes se preguntaran, ehh? y esto??, que es ese 203.203.203.in-addr.arpa? La respuesta es que las zonas inversas se escriben asi, y que esto resolvera las peticiones correspondientes a la 203.203.203.x, donde setearemos nosotros esos x. Como supondran, tambien tendremos que configurar el archivo correspondiente, de la zona reversa, pero la repuesta es, ovbio, que inteligente que son mis lectores y/o alumnitos! (:-)) ) Configuraremos el archivo db.203.203.203.in-addr.arpa 203.203.203.in-addr.arpa IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar 203 IN PTR QQm310.lam0s.com.ar. 204 IN PTR netg4s.lam0s.com.ar. 205 IN PTR velez.lam0s.com.ar. y vemos que sencillo que es !!! Lo primero es declarar la zona a configurar, y luego, lo otro como lo venimos realizando de costumbre solo que tenemos que invertir los datos. Vemos que tenemos el registro PTR este significa puntero, y dice que la direccion 203 de la zona 203.203.203. apunta a QQm310.lam0s.com.ar. OJO!!!!!!!!!!!!!!! mucha gente se equivoca aqui, y pone 203.203.203.203, y esto buscara el ip 203.203.203.203.203.203.230, cosa que no existe, por que recordemos que como he dicho anteriormente, la zona es 203.203.203.in-addr.arpa, y aca en in-addr.arpa, se reemplazaran las direcciones que seteemos, por ejemplo 203, 204, 205, que seran reemplazadas por los x. Reiniciando el Demonio Para que los cambios tengan efecto, tendremos que reiniciar el demonio, el cual esta alojado en /etc/rc.d/init.d/ la orden seria la siguiente: #/etc/rc.d/init.d/named stop #/etc/rc.d/init.d/named start Configurando el cliente DNS Para realizar estas pruebas, lo primero que debemos es indicarle a nuestra maquina donde encontrara el servidor DNS. El archivo de configuracion es el /etc/resolv.conf, y veremos como setearlo correctamente. veamos: lo configuraremos para que sea nuestro servidor DNS 203.203.203.203. entonces, ponemos lo siguiente nameserver 203.203.203.203 Probando si las cosas andan bien: Con el comando nslookup, podremos ver si nuestro servidor funciona joya #nslookup www.lam0s.com.ar Server: QQmelo.lam0s.com.ar Address: 203.203.203.203 Name: www.lam0s.com.ar Address:203.203.203.203 y esto significa que nuestro server anduvo de primera!!!!!!!!!!!!!!!!! si tuvieramos un error, tendriamos que ver los archivos de configuracion, para que no haya errores, cuando la experiencia me dice que la mayoria de los errores que se presentan son de tipeado, y bueno, somos humanos !!! Resumiendo!! Mostrare como Quedarian los archivos que fui nombrando el primer archivo, el /etc/named.conf options { directory "/var/named" } zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local" } zone "lam0s.com.ar" { type master; file "db.lam0s.com.ar" } zone "203.203.203.in-addr.arpa" { type master; file "db.203.203.203.in-addr.arpa" } Bueno, ustedes diran, hay unas zonas que anteriormente no he nombrado, es cierto, son las zonas raices, donde tiene la mayoria de los dns de los servidores raices por paises, esa es la zona "." y luego la zona de loopback. Luego, veremos los archivos que pusimos en /var/named, ademas de lo que estan alli, named.local y named.root ( los que hablamos recien ) lam0s.com.ar. IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar QQm310.lam0s.com.ar. IN A 203.203.203.203 netg4s.lam0s.com.ar. IN A 203.203.203.204 velez.lam0s.com.ar. IN y ahora la reversa 203.203.203.in-addr.arpa IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar 203 IN PTR QQm310.lam0s.com.ar. 204 IN PTR netg4s.lam0s.com.ar. 205 IN PTR velez.lam0s.com.ar. luego, no se olviden de Poner el cliente DNS /etc/resolv.conf nameserver 203.203.203.203 Configurando Virtual Domains Pero Bueno, ustedes estaran preguntandose, eh, yo tengo varias zonas, y tan solo un ip, este Qqm310 nos esta chamuyando :-)))) Entonces, nada mas simple que armar virtual domains. Como lo hacemos?? Lo primero es declarar la zona virtual en el /etc/named.conf. Una vez declarado aquĆ­, lo que sigue es mas bien simple, definir la zona en /var/named.... mmmm pasaremos a la practica de lo anteriormente dicho. Supongamos que queremos una zona virtual llamada velezito.com.ar entonces, lo que debemos hacer, es crear esta zona en el /etc/ named.conf Hagamoslo!!! zone "velezito.com.ar" { type master; file "db.velezito.com.ar" } Con esto, lo hemos declarado en el /etc/named.conf, y esto lo que hara es buscarlo en el archivo db.velezito.com.ar, del /var/named. Definiendo la zona: velezito.com.ar. IN SOA QQm310.lam0s.com.ar. lam0s.com.ar. ( 2000121997; numero de serie 28800 ; tiempo de refresco en minutos 14000 ; caducidad de una peticion 86400; minimo de tiempo vivo ) IN NS QQm310.lam0s.com.ar www.velezito.com.ar. IN A 203.203.203.203 Y como vemos, el domain velezito.com.ar apunta a nuestro ip publico, viendo que no tenemos nada mas que hacer, podremos hacer los dns que querramos. Apendice: Como el txt este lo hice a las chapas, me saltee un par de vocablos tecnicos. Tipos de regustros: SOA: Comienzo de Autoridad NS: Servidor de Nombres A: Registro de direccion. PTR: Registro Puntero. MX: Intercambiador de Correo. CNAME: Nombre canonico o Aceptado. RP y TXT: Entradas de documentacion. Saludos a : Ezkracho Team, Digital Rebel, serp0, dr_fdisk, velez, heavy, netgos, dragon , ovber, La gente de Linuxcenter, Wency, VooDoo_Team, etc, etc. Qqm310 12/2000 Bueno, con este texto sencillo, podran configurar facilmente DNS dudas, comentarios, puteadas, amenazas o hackeadas a Marce@nettech.com.ar *EOF*