TELEPROCESOS TEMA: CONFIGURAR EL DNS NOMBRE: Andrea Díaz María Rosa Farez Elizabeth María José Torres Aguilera CICLO: Quinto “A”. FECHA: 25 de junio del 2003 COMO CONFIGURAR EL DNS (DOMAIN NAME SERVER) Introducción DNS es el Domain Name System (Sistema de Nombres de Dominio), las reglas de nomenclatura de las máquinas y el software que mapea los nombres a números IP. Una conversión es simplemente una asociación entre dos cosas, en este caso un nombre de máquina, como ftp.linux.org y el número IP de la máquina, 199.249.150.4. Comenzaremos con un servidor caching only server Servidor que se limita a guardar en una caché las IPs de los nombres de máquina más solicitados, obteniéndolas de servidores externos. , y continuaremos con la configuración de un servidor DNS primario para un dominio. Antes de empezar, debe configurar su sistema convenientemente, de forma que pueda hacer telnet desde y hacia su máquina, efectuando satisfactoriamente toda clase de conexiones de red, especialmente telnet 127.0.0.1 entrando en su propia máquina (compruébelo ahora). También necesita que los archivos /etc/host.conf (o /etc/nsswitch.conf), /etc/resolv.conf y /etc/hosts sean correctos como punto de partida. El servicio de nombres en Unix es llevado a cabo por un programa llamado named. Esta forma parte del paquete bind. Named está incluido en la mayoría de las distribuciones de Linux y generalmente se instala como /usr/sbin/named. DNS es una base de datos cuyo ámbito es la Red. Mantenga su DNS limpia y consistente y conseguirá un buen servicio de ella. Aprenda a usarla, administrarla, depurarla y será otro buen administrador, salvando a la red de caer sobre sus rodillas sobrecargada por falta de mantenimiento. Para que su máquina pueda ser encontrada por otros ordenadores en Internet, es necesaria que sea referenciada por su dirección IP. Traducir (resolver) los nombres de una máquina (y dominio) a direcciones IP utilizadas en Internet es el trabajo de máquinas que ofrecen el servicio de nombres de dominio (DNS). Esto sucede de la siguiente manera: su máquina necesita saber la dirección IP de un ordenador en particular. La aplicación que necesita esta información pregunta al "resolvente" de su PC Linux para que le dé esta información; el resolvente necesita el fichero de máquinas locales (/etc/hosts y/o los servidores de nombres de dominio acerca de los que sabe (el comportamiento del resolvente está determinado por el fichero /etc/host.conf); si la respuesta se encuentra en el fichero de máquinas, se devuelve la respuesta; si se especifica un servidor de nombres de dominio, su PC pregunta a esta máquina; si la máquina DNS ya sabe la dirección IP para el nombre solicitado, la devuelve. Si no la sabe, pregunta a otro servidor de nombres de dominio a través de Internet para encontrar la información. El servidor de nombres pasa la información al resolvente que la solicita - el cual da la información a la aplicación que la solicita. Fichero /etc/named.conf El fichero named.conf es el que lee el named -demonio del servidor de dns- al arrancar. En este se debe encontrar las siguientes líneas: //Configuración básica del named.conf //Primer fichero que lee el named //Aqui le decimos dónde encontrará los ficheros de configuracion precisos. //Se ponen en /var/named porque hay una especie de convenio que así lo sugiere. ; Archivo boot de servidor de nombres de solo cacheo: ; directory /var/named ; ; tipo dominio fichero o maquina fuente cache . root.cache primary 0.0.127.in-addr.arpa pz/127.0.0 options { directory "/var/named"; }; //Zona raiz de dominios //Sin esto internet seria inaccesible para nosotros zone "." { type hint; file "root.cache"; }; //Usare zonas reales y direcciones reales. P //Zona ibiza-programacion.com zone "ibiza-programacion.com" { type master; file "arch/ibiza-programacion.com"; }; Master quiere decir que eso describe el servidor primario de DNS. arch/nombre_fichero describe que dentro de /var/named/arch/, estan los ficheros de configuración de las respectivas zonas. Los ficheros de configuración que se ha dado una IP nos devuelven el nombre. Controlan la procedencia de las direcciones IP que son visitadas. Otros Ficheros que también tienen que ser configurados son: Fichero /etc/hosts Debería decir lo siguiente: En el caso del ejemplo se utilizará es mismo del primer paso. #Host Addresses 127.0.0.1 localhost.ibiza-programacion.com localhost 213.96.89.133 ns1.ibiza-programacion.com ns1 192.168.0.97 ns1.ibiza-programacion.com ns1 Fichero /etc/resolv.conf Es el orden de resolución de nombres y lugares donde resolverlos. Debería contener lo siguiente: search subdominio.su-dominio.edu su-dominio.edu nameserver 127.0.0.1 La línea `search' especifica en qué dominios se buscaría para cualquier nombre de máquina a la que quiera conectar. La línea `nameserver' especifica la dirección de su servidor de nombres, en este caso su propia máquina, ya que es ahí donde named se estará ejecutando. Si quiere una lista de varios servidores ponga una línea nameserver para cada uno. El Fichero /etc/host.conf Probablemente contiene varias líneas, una de ellas debería comenzar con order y tendría que parecerse a lo siguiente: order hosts,bind Si no hay una línea order tiene que incluirla. Esto le indica a las rutinas de resolución de nombres que busquen primero en /etc/hosts, y pregunte luego al servidor de nombres (que dijo en resolv.conf que está en 127.0.0.1). Fichero /etc/nsswitch.conf Se trata de un extenso archivo donde se especifica de dónde obtener las diferentes clases de tipos de datos, y de cuál archivo o base de datos. Debe buscar la línea que comienza con hosts y quitarle el comentario hosts: files dns Si no hay una línea que comience por `hosts:' póngala. Eso indica que los programas deben mirar primero en el fichero /etc/hosts , y después comprobar DNS de acuerdo con resolv.conf. En el fichero /var/named.local La siguiente línea de named.boot es la línea primary. Explicaré su uso en un capítulo posterior: Por ahora, cree un archivo llamado 127.0.0 en el subdirectorio pz: @ IN 1 SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Numero de Serie 28800 ; Tasa de Refresco 7200 ; Tasa de Reintento 604800 ; Caducidad para secundario 86400) ; Validez para Clientes NS ns.linux.bogus. PTR localhost. En el fichero /var/named.ca El root.cache debería contener la lista de todos los servidores raíz de dominios. Esta lista cambia constantemente, así que debemos actualizarlos. Esto es fácil ya que hay compañías que se encargan de actualizarlo y con un ftp anónimo a internic, ellos te ofrecen una versión actualizada de los servidores de raíz, y esa información se baja y guarda en el fichero root.cache. Vamos a describir el archivo llamado /var/named/root.cache nombrado en el archivo boot.named. /var/named/root.cache debería contener esto: . 518400 NS D.ROOT-SERVERS.NET. . 518400 NS E.ROOT-SERVERS.NET. . 518400 NS I.ROOT-SERVERS.NET. . 518400 NS F.ROOT-SERVERS.NET. . 518400 NS G.ROOT-SERVERS.NET. . 518400 NS A.ROOT-SERVERS.NET. . 518400 NS H.ROOT-SERVERS.NET. . 518400 NS B.ROOT-SERVERS.NET. . 518400 NS C.ROOT-SERVERS.NET. ; D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 Este archivo describe los servidores de nombres raíz en el mundo. Este archivo cambiará a lo largo del tiempo y tiene que ser mantenido y actualizado con una cierta regularidad. Arranque de named Antes de arrancar el named debe verificar que se encuentre activado en el ntsysv Si hay cualquier mensaje de error se deberá a alguna equivocación. named determinará el archivo que ocasiona el error (de named.boot o root.cache ). Luego ejecute la sentencia nslookup y compruebe que la configuración se encuentre correcta: $ nslookup Default Server: localhost Address: 127.0.0.1 > Si es eso lo que obtiene entonces está funcionando Ahora pruebe que este funcionando introduciendo una consulta, como lo haremos a continuación: > pat.uio.no Server: localhost Address: 127.0.0.1 Name: pat.uio.no Address: 129.240.2.50 ahora solicita a named que busque la máquina pat.uio.no. Contactará con alguna de las máquinas servidoras de nombres nombradas en el archivo root.cache, y preguntará allí. Puede tardar un poco antes de conseguir el resultado ya que busca todos los dominios indicados en /etc/resolv.conf. nslookup Si intenta de nuevo obtendrá esto: > pat.uio.no Server: localhost Address: 127.0.0.1 Non-authoritative answer: Name: pat.uio.no Address: 129.240.2.50