Página siguiente Página anterior Índice general

3. Servidor de nombres de ``sólo cacheo''.

Una primera nota para la configuración de DNS, muy útil para usuarios de módem, cable-módem y ADSL.

En Red Hat y distribuciones derivadas puedes conseguir los resultados prácticos de esta primera sección del COMO instalando los paquetes bind, bind-utils y caching-nameserver. Si usa Debian simplemente instala bind y bind-doc. Desde luego, que sólo instalado estos paquetes no aprenderás más que leyendo este COMO. Así pues, instala los paquetes, lee y verifica los ficheros instalados.

Un servidor de "sólo cache" encontrará las respuestas a las consultas de nombres y las recordará para la próxima vez que las necesites. Esto acorta el tiempo de espera significativamente para la próxima vez, especialmente si dispones de una conexión lenta.

Lo primero que necesitas es un fichero llamado /etc/named.conf (Debian: /etc/bind/named.conf). Este fichero se lee cuando arranca named. Por ahora simplemente contendrá:


// Fichero de configuración para servidor de solo cacheo

options {
        directory "/var/named";

        // Descomentar esto podría ayudar si tiene que salir a través
        // de un cortafuegos y las cosas no funcionan fuera.  Sin embargo, de todas
        // formas necesitarás hablar con el administrador del cortafuegos.

        // query-source port 53;
};

zone "." {
        type hint;
        file "root.hints";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "pz/127.0.0";
};

Los paquetes de las distribuciones Linux pueden usar diferentes nombres para cada uno de los ficheros mencionados aquí; el contenido sigue siendo el mismo.

La línea `directory' le indica a named donde buscar los ficheros. Todos los ficheros mencionados están en esta ruta Así pz es un directorio bajo /var/named, i.e., /var/named/pz. /var/named es el directorio correcto de acuerdo con la distribución estándar de directorios en Linux (Linux File system Standard).

Aquí describimos el fichero /var/named/root.hints. /var/named/root.hints debería contener los siguiente: (si cortas y pegas este fichero de una versión electrónica del documento, ten en cuenta que no deberían haber espacios en blanco iniciales en este fichero, i.e. todas las líneas deberían comenzar con un carácter que no sea espacio. Algún software de procesamiento de documentos inserta espacios al comienzo de las líneas y causan confusión. En este caso, elimina los espacios iniciales)


;
; Puede haber comentarios aquí si ya tenías el fichero.
; Si no no te preocupes.
;
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
;
M.ROOT-SERVERS.NET.     6D IN A         202.12.27.33
I.ROOT-SERVERS.NET.     6D IN A         192.36.148.17
E.ROOT-SERVERS.NET.     6D IN A         192.203.230.10
D.ROOT-SERVERS.NET.     6D IN A         128.8.10.90
A.ROOT-SERVERS.NET.     6D IN A         198.41.0.4
H.ROOT-SERVERS.NET.     6D IN A         128.63.2.53
C.ROOT-SERVERS.NET.     6D IN A         192.33.4.12
G.ROOT-SERVERS.NET.     6D IN A         192.112.36.4
F.ROOT-SERVERS.NET.     6D IN A         192.5.5.241
B.ROOT-SERVERS.NET.     6D IN A         128.9.0.107
J.ROOT-SERVERS.NET.     6D IN A         198.41.0.10
K.ROOT-SERVERS.NET.     6D IN A         193.0.14.129
L.ROOT-SERVERS.NET.     6D IN A         198.32.64.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. Vea la sección de ( mantenimiento) para saber cómo mantenerlo actualizado.

La siguiente sección de named.conf es la última zone. Explicaré su uso en un capítulo posterior: Por ahora, crea un archivo llamado 127.0.0 en el subdirectorio pz: (De nuevo, por favor borra los espacios iniciales si cortas y pegas esto)


$TTL 3D
@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                1       ; Serial
                                8H      ; Refresh
                                2H      ; Retry
                                4W      ; Expire
                                1D)     ; Minimum TTL
                        NS      ns.linux.bogus.
1                       PTR     localhost.

A continuación, necesitas un /etc/resolv.conf parecido a este: (De nuevo: ˇborrar espacios!)


search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1

La línea `search' especifica en qué dominios buscar para cualquier nombre de máquina al que te quieras conectar. La línea `nameserver' especifica la dirección de tu servidor de nombres, en este caso tu misma máquina ya que es donde se ejecuta named (127.0.0.1 está bien, importa si la máquina tiene otra dirección también). Si quieres incluir varias máquinas como servidores de nombres basta añadir líneas `nameserver' para cada uno. (Nota: Named nunca lee este fichero, lo lee la aplicación que busca un servidor de nombres. Nota 2: En algunos ficheros resolv.conf files puedes encontrar una línea "domain". Es correcto, pero no uses a la vez "search" y "domain", sólo una de ellas funcionará).

Para ilustrar lo que hace este archivo:
Si un cliente intenta buscar a fulano, fulano.subdominio.su-dominio.edu se probará primero, a continuación fulano.su-dominio.edu, y finalmente fulano. Si un cliente intenta buscar sunsite.unc.edu, sunsite.unc.edu.subdominio.su-dominio.edu se prueba primero (sí, es tonto, pero es así como tiene que ser), después sunsite.unc.edu.su-dominio.edu, y finalmente sunsite.unc.edu. Puede que no quiera poner demasiados dominios en la línea search, lleva su tiempo el efectuar las búsquedas.

El ejemplo supone que pertenece al dominio subdominio.su-dominio.edu, tu máquina probablemente se llame su-maquina.subdominio.su-dominio.edu. La línea search no debería contener tu TLD (Top Level Domain o Dominio de Nivel Superior, `edu' en este caso). Si necesitas conectar frecuentemente con máquinas de otro dominio, puedes añadir ese dominio a la línea search como sigue:(Recuerda eliminar los espacios iniciales, si los hay)


search subdominio.su-dominio.edu su-dominio.edu otro-dominio.com

y así. Obviamente necesitas poner un dominio real en su lugar. Por favor, date cuenta de la falta de puntos al final de estos nombres de dominio. Esto es importante; por favor observa la ausencia de puntos al final de los nombres de dominio.


Página siguiente Página anterior Índice general