DNS COMO
 Nicolai Langfeldt [email protected] Traducci�n: Pedro Pablo
 F�brega Mart�nez [email protected] Julio 1997
 v1.3.2, 3 Junio 1997

 COMO ser un administrador DNS en poco tiempo.
 ______________________________________________________________________

 �ndice General:

 1.      Pre�mbulo

 1.1.    Rollo Legal

 1.2.    Cr�ditos y solicitud de ayuda.

 1.3.    Dedicatoria

 2.      Introducci�n.

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

 3.1.    /var/named/root.cache

 3.2.    /etc/nsswitch.conf

 3.3.    /etc/host.conf

 3.4.    Arranque de named

 4.      Un dominio simple.

 4.1.    Pero primero algo de teor�a a secas.

 4.2.    Nuestro propio dominio

 4.3.    Relaj�monos

 5.      Un ejemplo de dominio real

 5.1.    /etc/named.boot  (o /var/named/named.boot )

 5.2.    /var/named/root.cache

 5.3.    /var/named/zone/127.0.0

 5.4.    /var/named/zone/land-5.com

 5.5.    /var/named/zone/206.6.177

 6.      Mantenimiento

 7.      Configuraci�n de Conexiones Autom�ticas v�a telef�nica

 8.      PUFs Preguntas de Uso Frecuente (FAQ)

 8.1.    �C�mo uso DNS desde dentro de un cortafuegos ( firewall )?

 8.2.    �C�mo hago que DNS rote entre las direcciones disponibles para
 un servicio, por ejemplo para www.siempre.ocupado  para obtener
 balanceo de carga o similar?

 8.3.    Quiero configurar DNS en una intranet (cerrada) �qu� hago?

 8.4.    Mi sistema no tiene el programa ndc . �Qu� hago?

 8.5.    �C�mo configuro un servidor de nombres secundario?

 8.6.    Quiero que bind  se ejecute cuando me desconecto de la red.

 8.7.    �D�nde almacena su cach� el servidor de nombres? �Hay alguna
 forma de controlar el tama�o del cach�?

 8.8.    �Salva named  el cach� entre reinicios? �Puedo guardarlo?

 9.      C�mo hacerse un gran admin  DNS.

 10.     Traducci�n

 11.     Anexo: El INSFLUG
 ______________________________________________________________________

 1.  Pre�mbulo

    Claves:
       DNS, bind, named, dialup, ppp, slip, Internet, domain, name,
       hosts, resolving

 1.1.  Rollo Legal

 �opyright 1995 Nicolai Langfeldt. No modificar sin incluir el
 copyright, distrib�yalo libremente, pero mantenga el mensaje de
 copyright.

 1.2.  Cr�ditos y solicitud de ayuda.

 Quiero dar las gracias a Arnt Gulbrandsen, quien ley� los borradores
 para este trabajo dedic�ndole mucho de su tiempo y proporcionando
 muchas y muy �tiles sugerencias. Tambi�n quiero dar las gracias a
 aquellas personas que me enviaron sugerencias por email y gracias por
 sus notas. Gracias, me ayudasteis a seguir con esto.

 Esto nunca ser� un documento acabado, por favor mandadme correo con
 vuestros problemas y �xitos, esto har� mejorar este COMO. As� que por
 favor mandad dinero, comentarios y/o preguntas a [email protected].  Si
 env�a un E-mail, por favor aseg�rese de que su direcci�n de remitente
 es correcta, recibo un mont�n de E-mail. Asimismo, por favor lea la
 secci�n de las PUF (``PUFs'') antes de enviarme un mail.

 Si quiere traducir este COMO, por favor notif�quemelo para que yo
 pueda mantener la pista de las lenguas en las que he sido publicado
 :-).

 1.3.  Dedicatoria

 Este COMO est� dedicado a Anne Line Norheim. Aunque ella probablemente
 nunca lo leer� porque no es de esa clase de chicas.

 2.  Introducci�n.

 Lo que es esto y lo que no es.

 Para los que comienzan, 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. Este documento COMO trata
 de c�mo definir tales conversiones usando un sistema Linux. 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.

 El DNS es, para los no iniciados (Vd. ;-), una de las �reas mas opacas
 de la administraci�n de una red. Este COMO tratar� de aclarar algunas
 cosas.

 Este documento describe c�mo configurar un servidor de nombres DNS
 simple.  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. Para configuraciones m�s complejas puede consultar la secci�n
 de PUF (``'') de este documento. Si lo que busca no est� descrito
 all�, necesitar� Documentaci�n Real.  Volveremos a lo que es la
 Documentaci�n Real en el �ltimo cap�tulo.

 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, ya que no explicar� sus funciones aqu�.  Si NO tiene
 aun esta configuraci�n y no funciona en red, el NET-2 HOWTO explica
 como hacerlo. L�alo.

 Si est� usando SLIP o PPP necesitar� que funcionen correctamente. Lea
 el PPP-COMO si no es as�.

 Cuando digo ``su m�quina'' quiero decir la m�quina en la que est�
 intentando configurar DNS. No cualquier otra m�quina que pueda tener
 en su red.

 Supongo que no est� detr�s de cualquier clase de cortafuegos
 (firewall) que bloquee peticiones de nombres. Si necesita una
 configuraci�n especial, vea la secci�n PUF (``'').

 El servicio de nombres en Unix es llevado a cabo por un programa,
 llamado named.

 �ste forma parte del paquete bind, que es coordinado por Paul Vixie
 para The Internet Software Consortium. named est� incluido en la
 mayor�a de las distribuciones de Linux y generalmente se instala como
 /usr/sbin/named. Si tiene el fichero named probablemente pueda usarlo;
 si no lo tiene, puede obtener el binario en un ftp de Linux, o
 conseguir los �ltimos y m�s voluminosos fuentes en
 ftp://ftp.vix.com/pub/bind, bien de los subdirectorios de versi�n
 actual, o de prueba, lo que mejor se adapte a su estilo de vida.

 DNS es una base de datos cuyo �mbito es la Red. Tenga cuidado con lo
 que pone en ella. Si pone incongruencias, Vd. y los dem�s obtendr�n
 incongruencias de ella. 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.

 En este documento expongo de forma llana varias cosas que no son
 completamente verdad (son al menos medias verdades). Todo esto lo hago
 en aras de la simplicidad. Todas funcionar�n (probablemente ;-) si
 cree en lo que digo.
    Aviso:
       Haga una copia de seguridad de todos los archivos que le indico
       que cambie si ya los tiene, y as� si despu�s si no funciona
       podr� volver al principio.

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

 Un primer ataque a la configuraci�n DNS, muy �til para los usuarios de
 conexiones telef�nicas.

 Un servidor de nombres de ``s�lo cacheo'' (caching only nameserver)
 obtendr� la respuesta a las solicitudes de nombre provenientes de su
 red preguntando a servidores externos, recordando la respuesta para la
 pr�xima vez que lo necesite.

 Lo primero que necesita es el archivo llamado /etc/named.boot.  Este
 archivo es le�do cuando se inicia named. Por ahora contendr�
 simplemente:

      ;  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

    MUY IMPORTANTE:
       En algunas versiones de este documento, en el contenido de los
       archivos que aqu� aparecen hay un par de espacios o tabuladores
       antes del primer car�cter no blanco. Se supone que estos
       caracteres NO est�n en el archivo.  Borre cualquier espacio
       inicial de los archivos que corte y pegue de este COMO.

 La l�nea directory indica a named d�nde buscar los archivos. Todos los
 archivos indicados a continuaci�n ser�n relativos a este directorio.
 /var/named es el directorio correcto de acuerdo con el  LFS, Linux
 File system Standard. As�, pz es un directorio bajo /var/named, esto
 es, /var/named/pz.

 3.1.  /var/named/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

 �Recuerde lo que dije sobre los espacios iniciales!

 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. Este
 archivo est� descrito en la p�gina man de named, pero esto es, IMHO
 (-- In My Honest Opinion, EMMO o En Mi Modesta Opini�n en
 castellano.--) , m�s apropiado para gente que ya comprende named.

 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      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.
      1                       PTR     localhost.

 A continuaci�n necesita el archivo /etc/resolv.conf, que ser� algo
 similar a este:

      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. (Nota: named nunca lee este archivo, lo hace
 el resolutor que usa named).

 Para ilustrar lo que hace este archivo:
 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,
 su m�quina probablemente se llame su-maquina.subdominio.su-
 dominio.edu. La l�nea search no deber�a contener su TLD (Top Level
 Domain o Dominio de Nivel Superior, `edu' en este caso).  Si necesita
 conectar frecuentemente con m�quinas de otro dominio, puede a�adir ese
 dominio a la l�nea search como sigue:

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

 y as� sucesivamente. Obviamente necesita poner un dominio real en su
 lugar. Por favor, d�se cuenta de la falta de puntos al final de estos
 nombres de dominio.

 Lo siguiente, dependiendo de su versi�n de la librer�a libc puede
 necesitar arreglar /etc/nsswitch.conf o /etc/host.conf.  Si ya tiene
 nsswitch.conf corregiremos �ste, en otro caso arreglaremos host.conf.

 3.2.  /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.  Generalmente contiene comentarios �tiles al comienzo, que por
 cierto deber�a considerar leer ahora. Despu�s busque la l�nea que
 comienza por hosts:, debe leerse:

      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.

 3.3.  /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). Estos dos �ltimos archivos est�n documentados en
 la p�gina de manual resolv (8) (haciendo man 8 resolv)  en la mayor�a
 de las distribuciones Linux. Esta p�gina de manual es de obligada
 lectura IMHO, y todos, especialmente los administradores DNS, deber�an
 leerla. H�galo ahora, si se dice a s� mismo ``lo har� m�s tarde''
 entonces nunca lo har�.

 3.4.  Arranque de named

 Despu�s de todo esto, ya es hora de iniciar named.  Si est� utilizando
 una conexi�n telef�nica, con�ctese primero. Teclee ndc start y
 presione return, sin opciones. Si tiene problemas intente
 /usr/sbin/ndc start en su lugar.  Si el problema persiste vea la
 secci�n PUF (``''). Ahora ya puede comprobar su configuraci�n. Si mira
 en el archivo de mensajes de syslog (generalmente llamado
 /var/adm/messages, o en el directorio /var/log) mientras inicia named,
 (haga tail -f /var/adm/messages) deber�a ver algo como esto:

       Jun 30 21:50:55 roke named[2258]: starting.  named 4.9.4-REL Sun Jun 30 21:29:03 MET DST 1996
                                  [email protected]:/var/tmp/bind/named
       Jun 30 21:50:55 roke named[2258]: cache zone "" loaded (serial 0)
       Jun 30 21:50:55 roke named[2258]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1)

 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 espero :-). Mate a named y vuelva a comprobar el archivo.

 Ahora es el momento de iniciar nslookup para examinar su trabajo:

           $ nslookup
           Default Server:  localhost
           Address:  127.0.0.1

           >

 Si es eso lo que obtiene entonces est� funcionando.  Eso espero. En
 cualquier otro caso, vuelva atr�s y compru�belo todo. Cada vez que
 cambie el archivo named.boot tiene que reinicializar named usando el
 comando ndc restart.

 Ahora puede introducir una consulta. Intente buscar alguna m�quina
 cercana a la suya. pat.uio.no est� cerca de m�, en la Universidad de
 Oslo:

      > pat.uio.no
      Server:  localhost
      Address:  127.0.0.1

      Name:    pat.uio.no
      Address:  129.240.2.50

 nslookup 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.

 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

 Nota a la l�nea ``Non-authoritative answer:'' : le dedicaremos un poco
 de tiempo. Esto significa que named no sale de la red para preguntar
 esta vez, en su lugar mira en su cach� y lo encuentra all�. Pero la
 informaci�n de la cach� puede no estar actualizada. Entonces informa
 de este peligro (de modo un tanto eufem�stico) con Non-authorative
 answer:. Cuando nslookup dice esto la segunda vez que pregunta por una
 m�quina, es un signo seguro de que named almacena la informaci�n en la
 cach� y que est� funcionando. Ahora puede salir de nslookup usando el
 comando exit.

 Si es un usuario de conexiones telef�nicas, (ppp, slip) por favor lea
 la secci�n sobre conexiones telef�nicas (``''), hay algunas
 advertencias para Vd.

 Ahora ya sabe c�mo configurar un servidor de nombres de ``s�lo
 cacheo''.  T�mese una cerveza, un vaso de leche o cuaquier otra cosa
 que prefiera para celebrarlo.

 4.  Un dominio simple.

 Como configurar su propio dominio.

 4.1.  Pero primero algo de teor�a a secas.

 Antes de comenzar realmente con esta secci�n, voy a dar un poco de
 teor�a sobre c�mo funciona DNS.  Y lo va a leer porque ser� mejor para
 Vd.  Si no quiere, al menos deber�a echar un vistazo r�pido. Deje el
 repaso cuando sepa lo que debe incluir en su archivo named.boot.

 El DNS es un sistema jer�rquico. La ra�z se escribe como `.' y se
 denomina `root'. Debajo hay cierto n�mero de Dominios de Nivel
 Superior (Top Level Domains, TLDs), los m�s conocidos son ORG, COM,
 EDU y NET, pero hay muchos m�s.

 Cuando se busca una m�quina, la pregunta procede recursivamente en la
 jerarqu�a comenzando desde arriba. Si quiere localizar la direcci�n de
 prep.ai.mit.edu, su servidor de nombres ha de encontrar primero un
 servidor de nombres que sirva a edu. Pregunta al servidor archivo
 root.cache), y el servidor . proporcionar� una lista de servidores
 edu:

           $ nslookup
           Default Server:  localhost
           Address:  127.0.0.1

 Comienza preguntando a un servidor ra�z.

           > server c.root-servers.net.
           Default Server:  c.root-servers.net
           Address:  192.33.4.12

 Pone el tipo de petici�n (Query) a NS (Name Server records).

      > set q=ns

 Pregunta por edu.

      > edu.

 El punto (".") final aqu� es significativo, indica al servidor que le
 pedimos un edu que est� justo debajo de ".", y esto reduce la b�squeda
 un poco.

      edu     nameserver = A.ROOT-SERVERS.NET
      edu     nameserver = H.ROOT-SERVERS.NET
      edu     nameserver = B.ROOT-SERVERS.NET
      edu     nameserver = C.ROOT-SERVERS.NET
      edu     nameserver = D.ROOT-SERVERS.NET
      edu     nameserver = E.ROOT-SERVERS.NET
      edu     nameserver = I.ROOT-SERVERS.NET
      edu     nameserver = F.ROOT-SERVERS.NET
      edu     nameserver = G.ROOT-SERVERS.NET
      A.ROOT-SERVERS.NET      internet address = 198.41.0.4
      H.ROOT-SERVERS.NET      internet address = 128.63.2.53
      B.ROOT-SERVERS.NET      internet address = 128.9.0.107
      C.ROOT-SERVERS.NET      internet address = 192.33.4.12
      D.ROOT-SERVERS.NET      internet address = 128.8.10.90
      E.ROOT-SERVERS.NET      internet address = 192.203.230.10
      I.ROOT-SERVERS.NET      internet address = 192.36.148.17
      F.ROOT-SERVERS.NET      internet address = 192.5.5.241
      G.ROOT-SERVERS.NET      internet address = 192.112.36.4

 Esto nos dice que *.root-servers.net sirve a edu., y as� podemos
 seguir preguntando a C. Ahora queremos saber qui�n sirve el siguiente
 nivel del nombre de dominio: mit.edu.

           > mit.edu.
           Server:  c.root-servers.net
           Address:  192.33.4.12

           Non-authoritative answer:
           mit.edu nameserver = STRAWB.mit.edu
           mit.edu nameserver = W20NS.mit.edu
           mit.edu nameserver = BITSY.mit.edu

           Authoritative answers can be found from:
           STRAWB.mit.edu  internet address = 18.71.0.151
           W20NS.mit.edu   internet address = 18.70.0.160
           BITSY.mit.edu   internet address = 18.72.0.3

 steawb, w20ns y bitsy sirven a mit, selecciona uno y pregunta por
 ai.mit.edu:

           > server W20NS.mit.edu.

 Los nombres de m�quina no son sensibles a may�sculas/min�sculas, pero
 como yo uso el rat�n para cortar y pegar, obtengo una copia tal y como
 aparece en la pantalla.

      Server:  W20NS.mit.edu
      Address:  18.70.0.160

      > ai.mit.edu.
      Server:  W20NS.mit.edu
      Address:  18.70.0.160

      Non-authoritative answer:
      ai.mit.edu      nameserver = WHEATIES.AI.MIT.EDU
      ai.mit.edu      nameserver = ALPHA-BITS.AI.MIT.EDU
      ai.mit.edu      nameserver = GRAPE-NUTS.AI.MIT.EDU
      ai.mit.edu      nameserver = TRIX.AI.MIT.EDU
      ai.mit.edu      nameserver = MUESLI.AI.MIT.EDU

      Authoritative answers can be found from:
      AI.MIT.EDU      nameserver = WHEATIES.AI.MIT.EDU
      AI.MIT.EDU      nameserver = ALPHA-BITS.AI.MIT.EDU
      AI.MIT.EDU      nameserver = GRAPE-NUTS.AI.MIT.EDU
      AI.MIT.EDU      nameserver = TRIX.AI.MIT.EDU
      AI.MIT.EDU      nameserver = MUESLI.AI.MIT.EDU
      WHEATIES.AI.MIT.EDU     internet address = 128.52.32.13
      WHEATIES.AI.MIT.EDU     internet address = 128.52.35.13
      ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.32.5
      ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.37.5
      GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.32.4
      GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.36.4
      TRIX.AI.MIT.EDU internet address = 128.52.32.6
      TRIX.AI.MIT.EDU internet address = 128.52.38.6
      MUESLI.AI.MIT.EDU       internet address = 128.52.32.7
      MUESLI.AI.MIT.EDU       internet address = 128.52.39.7

 Entonces weaties.ai.mit.edu es un servidor de nombres para ai.mit.edu:

           > server WHEATIES.AI.MIT.EDU.
           Default Server:  WHEATIES.AI.MIT.EDU
           Addresses:  128.52.32.13, 128.52.35.13

 Ahora cambia el tipo de solicitud; ha encontrado el servidor de
 nombres y va a preguntar todo lo que queremos saber sobre
 prep.ai.mit.edu.

      > set q=any
      > prep.ai.mit.edu.
      Server:  WHEATIES.AI.MIT.EDU
      Addresses:  128.52.32.13, 128.52.35.13

      prep.ai.mit.edu CPU = dec/decstation-5000.25    OS = unix
      prep.ai.mit.edu
              inet address = 18.159.0.42, protocol = tcp
               #21 #23 #25 #79
      prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu
      prep.ai.mit.edu internet address = 18.159.0.42
      ai.mit.edu      nameserver = alpha-bits.ai.mit.edu
      ai.mit.edu      nameserver = wheaties.ai.mit.edu
      ai.mit.edu      nameserver = grape-nuts.ai.mit.edu
      ai.mit.edu      nameserver = mini-wheats.ai.mit.edu
      ai.mit.edu      nameserver = trix.ai.mit.edu
      ai.mit.edu      nameserver = muesli.ai.mit.edu
      ai.mit.edu      nameserver = count-chocula.ai.mit.edu
      ai.mit.edu      nameserver = life.ai.mit.edu
      ai.mit.edu      nameserver = mintaka.lcs.mit.edu
      life.ai.mit.edu internet address = 128.52.32.80
      alpha-bits.ai.mit.edu   internet address = 128.52.32.5
      wheaties.ai.mit.edu     internet address = 128.52.35.13
      wheaties.ai.mit.edu     internet address = 128.52.32.13
      grape-nuts.ai.mit.edu   internet address = 128.52.36.4
      grape-nuts.ai.mit.edu   internet address = 128.52.32.4
      mini-wheats.ai.mit.edu  internet address = 128.52.32.11
      mini-wheats.ai.mit.edu  internet address = 128.52.54.11
      mintaka.lcs.mit.edu     internet address = 18.26.0.36

 De esta forma comenzando en . ha encontrado los sucesivos servidores
 de nombre para el siguiente nivel en el nombre de dominio. Si ha usado
 su propio servidor DNS en lugar de usar todos esos otros servidores,
 su named, desde luego, habr� almacenado en el cach� toda la
 informaci�n que haya encontrado mientras profundizaba en la b�squeda,
 y en consecuencia no tendr� que preguntar de nuevo durante un tiempo.

 Se habla mucho menos sobre �l, pero un dominio importante es in-
 addr.arpa. Tambi�n est� anidado como los dominios nombre de la m�quina
 cuando conocemos su direcci�n IP. Una cosa importante aqu� es observar
 que que las direcciones IP est�n escritas en orden inverso en el
 dominio in-addr.arpa. Si tiene la direcci�n de m�quina 192.128.52.43,
 named procede como para el ejemplo de prep.ai.mit.edu: Busca los
 servidores arpa..  Busca los servidores in-addr.arpa., los servidores
 192.in-addr.arpa., los servidores 128.192.in-addr.arpa. , y los
 servidores 52.128.192.in-addr.arpa. y finalmente, los registros
 necesarios para 43.52.128.192.in-addr.arpa. �Inteligente? (Diga `s�').
 La inversi�n de n�meros puede ser confusa los 2 primeros a�os.

 He contado una mentira. DNS no funciona como he dicho de forma
 literal.  Pero es bastante parecido.

 4.2.  Nuestro propio dominio

 Ahora vamos a definir nuestro propio dominio.  Vamos a crear el
 dominio linux.bogus y definir m�quinas en �l. Uso un nombre de dominio
 totalmente falso para estar seguro de que no molestamos a nadie de
 fuera.

 Ya hemos comenzado esta parte con la siguiente l�nea en named.boot:

      primary         0.0.127.in-addr.arpa            pz/127.0.0

 Por favor tome nota de la ausencia de `.' al final de los nombres de
 dominio en este archivo. La primera l�nea nombra al archivo pz/127.0.0
 como definici�n de 0.0.127.in-addr.arpa. Ya hemos configurado este
 archivo, en �l podremos leer:

      @               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                      1       ; Numero de Serie
                                      28800   ; Tasa de Refresco
                                      7200    ; Tasa de Reintento
                                      604800  ; Caducidad para secundario
                                      86400)  ; Tiempo de Validez para Clientes
                              NS      ns.linux.bogus.
      1                       PTR     localhost.

 Por favor observe los `.' al final de los nombres de dominio completo
 en contraste con el archivo named.boot anterior. A algunas personas
 les gusta iniciar cada zona del archivo con una directiva $ORIGIN,
 pero esto es superfluo. El origen (lugar de la jerarqu�a DNS a donde
 pertenece) de un fichero de zona se especifica en la columna dominio
 del archivo named.boot; en este caso es 0.0.127.in-addr.arpa.

 Este ``fichero de zona'' contiene tres registros de recursos (RRs): Un
 RR SOA, Un RR NS y un RR PTR.  SOA es una abreviatura de Start Of
 Authority. La `@' es una notaci�n especial que simboliza el origen, y
 como la columna dominio para este archivo indica 0.0.127.in-addr.arpa.
 La primera l�nea realmente significa:

             0.0.127.IN-ADDR.ARPA. IN      SOA ...

 NS es el RR Name Server (Servidor de Nombres), e indica a DNS qu�
 m�quina es el servidor de nombres del dominio. Y finalmente el
 registro PTR tiene valor 1 (igual a 1.0.0.127.IN-ADDR.ARPA, esto es,
 127.0.0.1) que es el localhost de named.

 El registro SOA es el pre�mbulo de todos los archivos de zona y debe
 haber uno exactamente en cada archivo de zona, como primer registro de
 todos. El registro SOA describe la zona, de d�nde proviene (una
 m�quina llamada linux.bogus), qui�n es el responsable de su contenido
 ([email protected]), qu� versi�n del archivo de zona es (Numero
 de Serie, 1), y otras cosas que tienen que ver con el cach� y los
 servidores secundarios DNS. Para el resto de los campos (Tasa de
 Refresco, Tasa de Reintento, Caducidad para secundario y Tiempo de
 Validez para Clientes) use los valores que aparecen aqu� para mayor
 seguridad.

 El registro NS nos indica qui�n efect�a el servicio DNS para
 0.0.127.in-addr.arpa, que es ns.linux.bogus. El registro PTR nos dice
 que 1.0.0.127.in-addr.arpa (aka 127.0.0.1) es conocido como localhost.

 Ahora reiniciamos named (el comando es ndc restart) y usamos nslookup
 para examinar lo que ha hecho:
           $ nslookup

           Default Server:  localhost
           Address:  127.0.0.1

           > 127.0.0.1
           Server:  localhost
           Address:  127.0.0.1

           Name:    localhost
           Address:  127.0.0.1

 as� obtiene localhost de 127.0.0.1, bien. Ahora para nuestra tarea
 principal, el dominio linux.bogus, inserte una nueva l�nea, primary,
 en named.boot:

      primary               linux.bogus                     pz/linux.bogus

 Observe que contin�a la ausencia de "." final en el nombre de dominio
 del archivo named.boot.

 En el archivo de zona de linux.bogus pondremos algunos datos
 totalmente falsos (-- N del T
 bogus en ingl�s significa precisamente falso.--) :

      ;
      ; Fichero de zona para linux.bogus
      ;
      ; Minimo indspensable para tener funcionando un dominio
      ;
      @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                              199511301       ; Numero de serie, fecha de hoy + n. de serie de hoy
                              28800           ; Tasa de Refresco, en segundos
                              7200            ; Tasa de Reintento, en segundos
                              3600000         ; Caducidad para secundario, en segundos
                              86400 )         ; Tiempo de Validez para Clientes, en segundos
                      NS      ns.linux.bogus.
                      NS      ns.friend.bogus.
                      MX      10 mail.linux.bogus   ; Intercambiador de Correo Primario
                      MX      20 mail.friend.bogus. ; Intercambiador de Correo Secundario

      localhost       A       127.0.0.1
      ns              A       127.0.0.2
      mail            A       127.0.0.4

 Deben de observarse dos cosas sobre los registros SOA.  ns.linux.bogus
 debe ser una m�quina actual con un registro A. No es legal tener un
 registro CNAME para la m�quina mencionada en el registro SOA. Su
 nombre no necesita ser ns, podr�a ser cualquier nombre legal de
 m�quina. A continuaci�n, en hostmaster.linux.bogus deber� aparecer
 algo como [email protected]; esto ser�a un alias de email, o una
 cuenta de correo, donde la(s) persona(s) que realizan el mantenimiento
 de DNS deber�an leer con frecuencia el correo. Cualquier email
 respecto del dominio ser� mandado a la direcci�n aqu� indicada. El
 nombre no tiene por que ser hostmaster, puede ser cualquier direcci�n
 email legal, pero la direcci�n email hostmaster funcionar� bien.

 Hay un nuevo tipo de RR en este archivo, el MX, o Mail eXchanger. Este
 indica el sistema de correo a donde mandar el correo dirigido a
 [email protected], pudiendo ser tambi�n mail.linux.bogus o
 mail.friend.bogus.  El n�mero que precede a cada nombre de m�quina es
 la prioridad del RR MX.  El RR con el n�mero m�s bajo (10) es aquel al
 que el correo ser� enviado primero.  Si este falla, puede ser mandado
 a otro con un n�mero m�s alto, que ser� gestor secundario de correo,
 como mail.friend.bogus que tiene una prioridad 20 aqu�.

 Reinicie named ejecutando ndc restart.  Examine los resultados con
 nslookup:

           $ nslookup
           > set q=any
           > linux.bogus
           Server:  localhost
           Address:  127.0.0.1

           linux.bogus
                   origin = linux.bogus
                   mail addr = hostmaster.linux.bogus
                   serial = 199511301
                   refresh = 28800 (8 hours)
                   retry   = 7200 (2 hours)
                   expire  = 604800 (7 days)
                   minimum ttl = 86400 (1 day)
           linux.bogus     nameserver = ns.linux.bogus
           linux.bogus     nameserver = ns.friend.bogus
           linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
           linux.bogus     preference = 20, mail exchanger = mail.friend.bogus
           linux.bogus     nameserver = ns.linux.bogus
           linux.bogus     nameserver = ns.friend.bogus
           ns.linux.bogus  internet address = 127.0.0.2
           mail.linux.bogus        internet address = 127.0.0.4

 Con un examen cuidadoso podr� descubrir un error. La l�nea

             linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus

 est� equivocada. Deber�a ser

             linux.bogus     preference = 10, mail exchanger = mail.linux.bogus

 Comet� el error de forma deliberada para que aprenda de �l :-) Mirando
 en el archivo de zona podemos ver que la l�nea

           @               MX      10 mail.linux.bogus     ; Intercambiador de Correo Primario

 no tiene punto. O tiene demasiados linux.bogus.  Si un nombre de
 m�quina no termina en punto en un archivo de zona, el origen es
 a�adido a su final. As�,

      @               MX      10 mail.linux.bogus.    ; Intercambiador de Correo Primario

 o

      @               MX      10 mail                 ; Primary Mail Exchanger

 ser�n correctos. Yo prefiero la �ltima forma, hay que escribir menos.
 En un archivo de zona el dominio deber�a ser escrito y terminado con
 un punto, o no debe ser incluido, en cuyo caso se referir� al origen
 por defecto.  Debo hacer hincapi� que en el archivo named.boot no
 deber�a haber puntos despu�s de los nombres de dominio. No tiene ni
 idea de cuantas veces un '.' por estar o por no estar ha hecho fallar
 toda una configuraci�n y ha confundido horrorosamente a la gente...

 Una vez hecha esta puntualizaci�n, he aqu� el nuevo archivo de zona,
 con algo de informaci�n extra tambi�n:

 ;
 ; Archivo de zona para  linux.bogus
 ;
 ; minimo indispensable para hacer funcionar un dominio
 ;
 @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                         199511301       ; Numero de Serie, fecha de hoy + n. de serie de hoy
                         28800           ; Tasa de Refresco, en segundos
                         7200            ; Tasa de Reintento, en segundos
                         604800          ; Caducidad para secundario, en segundos
                         86400 )         ; Validez para Clientes, en segundos

                 NS      ns              ; Direccion de Internet del servidor de nombres
                 NS      ns.friend.bogus.
                 MX      10 mail         ; Intercambiador de Correo Primario
                 MX      20 mail.friend.bogus. ; Intercambiador de Correo Secundario

 localhost       A       127.0.0.1
 ns              A       127.0.0.2
 mail            A       127.0.0.4
 ;
 ; Extras
 ;
 @               TXT     "Linux.Bogus, your DNS consultants"

 ns              MX      10 mail
                 MX      20 mail.friend.bogus.
                 HINFO   "Pentium" "Linux 1.2"
                 TXT     "RMS"
 richard         CNAME   ns
 www             CNAME   ns

 donald          A       127.0.0.3
                 MX      10 mail
                 MX      20 mail.friend.bogus.
                 HINFO   "i486"  "Linux 1.2"
                 TXT     "DEK"

 mail            MX      10 mail
                 MX      20 mail.friend.bogus.
                 HINFO   "386sx" "Linux 1.0.9"

 ftp             A       127.0.0.5
                 MX      10 mail
                 MX      20 mail.friend.bogus.
                 HINFO   "P6" "Linux 1.3.59"

 Puede que quiera desplazar los tres primeros registros tipo A
 (localhost, ns y mail) junto con los otros registros de su mismo tipo
 (donald, mail, y ftp), en vez de colocarlos separados al principio
 como aqu�.

 Hay varios registros nuevos aqu�: HINFO (Host INFOrmation), tiene dos
 partes, es una buena costumbre poner comillas a cada uno. La primera
 parte es el hardware o CPU de la m�quina, y la segunda parte
 corresponde al software o Sistema Operativo de la misma.  ns tiene una
 CPU Pentium con Linux 1.2. El registro TXT es un texto en formato
 libre que puede usar para cualquier cosa que le interese.  CNAME
 (Canonical NAME) es una forma de dar a cada m�quina varios nombres.
 Por tanto richard y www son alias para ns.  Es importante observar que
 los registros A, MX, CNAME y SOA nunca deben hacer referencia al
 registro CNAME, s�lo pueden referirse a registros A.

      fulanito  CNAME   richard                 ; ���NO!!!

 siendo correcto tener

      fulanito  CNAME   ns                      ; ���SI!!!

 Tambi�n es importante observar que CNAME no es un nombre de m�quina
 legal para direcciones de correo: [email protected] es una
 direcci�n email ilegal dada en la configuraci�n anterior. Encontrar�
 muy pocos administradores de correo de Ah� Afuera que recomienden esta
 regla, incluso si a Vd. le funciona.  La forma de evitar esto es usar
 un registro A (y quiz�s algunos otros tambi�n, como un registro MX) en
 su lugar:

      www     A       127.0.0.2

 Paul Vixie, el principal gur� de named recomienda no usar CNAME.  Por
 tanto considere el no utilizarlo seriamente.

 Cargue la nueva base de datos ejecutando ndc reload, esto provoca la
 lectura de sus archivos de nuevo.

           $ nslookup
           Default Server:  localhost
           Address:  127.0.0.1

           > ls -d linux.bogus

 Esto har�a que todos los registros fuesen listados.

      [localhost]
       linux.bogus.       SOA   ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400)
       linux.bogus.       NS    ns.linux.bogus
       linux.bogus.       NS    ns.friend.bogus
       linux.bogus.       MX    10   mail.linux.bogus
       linux.bogus.       MX    20   mail.friend.bogus
       linux.bogus.       TXT   "Linux.Bogus, your DNS consultants"
       localhost          A     127.0.0.1
       mail               A     127.0.0.4
       mail               MX    10   mail.linux.bogus
       mail               MX    20   mail.friend.bogus
       mail               HINFO 386sx       Linux 1.0.9
       donald             A     127.0.0.3
       donald             MX    10   mail.linux.bogus
       donald             MX    20   mail.friend.bogus
       donald             HINFO i486        Linux 1.2
       donald             TXT   "DEK"
       www                CNAME ns.linux.bogus
       richard            CNAME ns.linux.bogus
       ftp                A     127.0.0.5
       ftp                MX    10   mail.linux.bogus
       ftp                MX    20   mail.friend.bogus
       ftp                HINFO P6          Linux 1.3.59
       ns                 A     127.0.0.2
       ns                 MX    10   mail.linux.bogus
       ns                 MX    20   mail.friend.bogus
       ns                 HINFO Pentium     Linux 1.2
       ns                 TXT   "RMS"
       linux.bogus.       SOA   ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400)

 Esto est� bien. Comprobemos qu� dice para www s�lo:

           > set q=any
           > www.linux.bogus.
           Server:  localhost
           Address:  127.0.0.1

           www.linux.bogus canonical name = ns.linux.bogus

 www.linux.bogus es ns.linux.bogus

           linux.bogus     nameserver = ns.linux.bogus
           linux.bogus     nameserver = ns.friend.bogus
           ns.linux.bogus  internet address = 127.0.0.2

 y ns.linux.bogus tiene la direcci�n 127.0.0.2. Parece correcto
 tambi�n.

 4.3.  Relaj�monos

 Desde luego, este dominio es falso, y como tal son todas sus
 direcciones, y quiz�s, desafortunadamente sea un poco confuso. Para un
 ejemplo real de dominio vea la siguiente secci�n.

 5.  Un ejemplo de dominio real

 Donde describiremos algunos archivos de zona reales.

 Los usuarios han sugerido que incluya un ejemplo real de dominio que
 est� en funcionamiento como explicaci�n de las diferencias entre un
 dominio en funcionamiento y el ejemplo falso que no era del todo muy
 claro.

 Una cosa sobre este ejemplo: �NO lo introduzca en su servidor de
 nombres!.  �selo s�lo como lectura de referencia. Si quiere
 experimentar, h�galo con el ejemplo falso. Yo uso este ejemplo con
 permiso de David Bullock y LAND-5. Estos archivos eran los usados el
 24 de Septiembre de 1996, y podr�an diferir de los que encuentre si
 pregunta ahora al servidor de nombres LAND-5. Tambi�n tenga en mente
 eliminar los espacios iniciales ;-).

 5.1.  /etc/named.boot  (o /var/named/named.boot )

 Aqu� encontramos la l�neas primary para las dos zonas que necesitamos:
 la red 127.0.0.0 y tambi�n la subred 206.6.177 de LAND-5. Una l�nea
 primary para la zona de redirecci�n (forward) land-5.com de land-5.
 Observe tambi�n que en lugar de situar los archivos en un directorio
 llamado pz, como hago en este COMO, �l los sit�a en un directorio
 llamado zone.

      ;  Fichero de arranque para el servidor de nombres LAND-5
      ;
      directory /var/named
      ;
      ; tipo          dominio                         fichero o maquina origen
      cache           .                               root.cache
      primary         0.0.127.in-addr.arpa            zone/127.0.0
      primary         177.6.206.in-addr.arpa          zone/206.6.177
      primary         land-5.com                      zone/land-5.com

 5.2.  /var/named/root.cache

 Tenga en cuenta que este archivo var�a con mucha frecuencia, y que el
 listado de aqu� es viejo. Mejor utilice uno producido ahora.

 ; <<>> DiG 2.1 <<>>
 ;; res options: init recurs defnam dnsrch
 ;; got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
 ;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9
 ;; QUESTIONS:
 ;;      ., type = NS, class = IN

 ;; ANSWERS:
  .       518357  NS      H.ROOT-SERVERS.NET.
  .       518357  NS      B.ROOT-SERVERS.NET.
  .       518357  NS      C.ROOT-SERVERS.NET.
  .       518357  NS      D.ROOT-SERVERS.NET.
  .       518357  NS      E.ROOT-SERVERS.NET.
  .       518357  NS      I.ROOT-SERVERS.NET.
  .       518357  NS      F.ROOT-SERVERS.NET.
  .       518357  NS      G.ROOT-SERVERS.NET.
  .       518357  NS      A.ROOT-SERVERS.NET.

 ;; ADDITIONAL RECORDS:
 H.ROOT-SERVERS.NET.     165593  A       128.63.2.53
 B.ROOT-SERVERS.NET.     165593  A       128.9.0.107
 C.ROOT-SERVERS.NET.     222766  A       192.33.4.12
 D.ROOT-SERVERS.NET.     165593  A       128.8.10.90
 E.ROOT-SERVERS.NET.     165593  A       192.203.230.10
 I.ROOT-SERVERS.NET.     165593  A       192.36.148.17
 F.ROOT-SERVERS.NET.     299616  A       192.5.5.241
 G.ROOT-SERVERS.NET.     165593  A       192.112.36.4
 A.ROOT-SERVERS.NET.     165593  A       198.41.0.4

 ;; Total query time: 250 msec
 ;; FROM: land-5 to SERVER: default -- 127.0.0.1
 ;; WHEN: Fri Sep 20 10:11:22 1996
 ;; MSG SIZE  sent: 17  rcvd: 312

 5.3.  /var/named/zone/127.0.0

 Lo b�sico, el registro obligatorio SOA, y el registro que mapea
 127.0.0.1 a localhost. Se requieren ambos. No deber�a haber ninguno
 m�s en este fichero. Probablemente nunca se necesitar� actualizarlo,
 salvo que cambien su servidor de nombres o la direcci�n del
 hostmaster.

      @               IN      SOA     land-5.com. root.land-5.com. (
                                      199609203   ; Numero de Serie
                                      28800   ; Tasa de Refresco
                                      7200    ; Tasa de Reintento
                                      604800  ; Caducidad para secundario
                                      86400)  ; Validez para clientes
                              NS      land-5.com.

      1                       PTR     localhost.

 5.4.  /var/named/zone/land-5.com

 Aqu� vemos el registro SOA y los registros NS necesarios. Podemos
 observar que dispone de un servidor de nombres secundario ns2.psi.net.
 Esto es como debe ser, tenga siempre un servidor secundario de
 seguridad. Tambi�n podemos ver que tiene una m�quina principal llamada
 land-5 que se encarga de todos los diferentes servicios, y que se ha
 hecho usando CNAME (una alternativa al uso de los registros A).

 Como puede ver en el registro SOA, el origen del archivo de zona es
 land-5.com, la persona de contacto es [email protected]. hostmaster es
 otro uso frecuente para la persona de contacto. El n�mero de serie en
 el formato habitual yyyymmdd con el n�mero de serie de hoy a�adido;
 esta es probablemente la sexta versi�n del archivo de zona del 20 de
 Septiembre de 1996.  Recuerde que el n�mero de serie debe
 incrementerse mon�tonamente, aqu� hay s�lo un d�gito para las series
 de hoy, as� que despu�s de 9 ediciones tendr� que esperar hasta ma�ana
 antes de poder editar el el archivo de nuevo. Considere el uso de dos
 d�gitos.

 @       IN      SOA     land-5.com. root.land-5.com. (
                         199609206       ; Numero de Serie, fecha de hoy + numero de serie de hoy
                         10800           ; Tasa de Refresco, en segundos
                         7200            ; Tasa de Reintento, en segundos
                         10800           ; Caducidad para secundario, en segundos
                         86400 )         ; Validez para Clientes, en segundos
                 NS      land-5.com.
                 NS      ns2.psi.net.
                 MX      10 land-5.com.  ; Intercambiador Primario de Correo

 localhost       A       127.0.0.1

 router          A       206.6.177.1

 land-5.com.     A       206.6.177.2
 ns              CNAME   land-5.com.
 ftp             CNAME   land-5.com.
 www             CNAME   land-5.com.
 mail            CNAME   land-5.com.
 news            CNAME   land-5.com.

 funn            A       206.6.177.3
 illusions       CNAME   funn.land-5.com.
 @               TXT     "LAND-5 Corporation"

 ;
 ;       Estaciones de Trabajo
 ;
 ws_177200       A       206.6.177.200
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177201       A       206.6.177.201
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177202       A       206.6.177.202
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177203       A       206.6.177.203
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177204       A       206.6.177.204
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177205       A       206.6.177.205
                 MX      10 land-5.com.   ; Primary Mail Host
 ; {Muchas definiciones repetitivas borradas}
 ws_177250       A       206.6.177.250
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177251       A       206.6.177.251
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177252       A       206.6.177.252
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177253       A       206.6.177.253
                 MX      10 land-5.com.   ; Primary Mail Host
 ws_177254       A       206.6.177.254
                 MX      10 land-5.com.   ; Primary Mail Host

 Otra cosa a tener en cuenta es que las estaciones de trabajo no tienen
 nombres propios, sino un prefijo seguido por las dos �ltimas porciones
 de los n�meros IP. Usar tal convenci�n puede simplificar el
 mantenimiento significativamente, pero puede resultar un poquito
 impersonal.

 5.5.  /var/named/zone/206.6.177

 Comentar� este archivo despu�s.

      @               IN      SOA     land-5.com. root.land-5.com. (
                                      199609206  ; Numero de Serie
                                      28800   ; Tasa de Refresco
                                      7200    ; Tasa de Reintento
                                      604800  ; Caducidad para secundario
                                      86400)  ; Validez para Clientes
                              NS      land-5.com.
                              NS      ns2.psi.net.
      ;
      ;       Servidores
      ;
      1       PTR     router.land-5.com.
      2       PTR     land-5.com.
      3       PTR     funn.land-5.com.
      ;
      ;       Estaciones de Trabajo
      ;
      200     PTR     ws_177200.land-5.com.
      201     PTR     ws_177201.land-5.com.
      202     PTR     ws_177202.land-5.com.
      203     PTR     ws_177203.land-5.com.
      204     PTR     ws_177204.land-5.com.
      205     PTR     ws_177205.land-5.com.
      ; {Eliminadas muchas definiciones repetitivas}
      250     PTR     ws_177250.land-5.com.
      251     PTR     ws_177251.land-5.com.
      252     PTR     ws_177252.land-5.com.
      253     PTR     ws_177253.land-5.com.
      254     PTR     ws_177254.land-5.com.

 La zona de resoluci�n inversa es la parte de la configuraci�n que
 parece crear m�s dolores de cabeza. Se usa para encontrar el nombre de
 la m�quina a partir de su direcci�n IP. Ejemplo: suponga que est� en
 un servidor irc y acepta conexiones de clientes irc.  El servidor irc
 es noruego y s�lo quiere aceptar conexiones de clientes de Noruega y
 otros pa�ses escandinavos. Cuando se produce una conexi�n de un
 cliente, la librer�a C es capaz de indicar el n�mero IP de la m�quina
 conectada porque el n�mero IP del cliente est� contenido en todos los
 paquetes que se pasan a trav�s de la red. Ahora puede llamar a una
 funci�n llamada gethostbyaddr que busca el nombre de la m�quina dada
 su direcci�n IP.

 gethostbyaddr interrogar� a un servidor DNS el cual efectuar� una
 b�squeda DNS para la m�quina. Suponiendo que la conexi�n cliente viene
 de ws_177200.land-5.com, la direcci�n IP que la librer�a C proporciona
 al servidor irc ser� 206.6.177.200. Para encontrar el nombre de la
 m�quina necesitamos encontrar 200.177.6.206.in-addr.arpa. El servidor
 DNS primero encuentra los servidores arpa., despu�s los servidores in-
 addr.arpa., a continuaci�n sigue por 206, 6 y al final busca el
 servidor para la zona 177.6.206.in-addr.arpa en land-5. Aqu� obtendr�
 finalmente que para 200.177.6.206.in-addr.arpa tenemos un registro
 `PTR ws_177200.land-5.com', que significa que el nombre que va con
 206.6.177.200 es ws_177200.land-5.com. Como con la explicaci�n de c�mo
 buscar prep.ai.mit.edu, esto es ligeramente ficticio.

 Volviendo al ejemplo del servidor irc.  El servidor irc s�lo acepta
 conexiones de los pa�ses escandinavos, osea, *.no, *.se, y *.dk; el
 nombre ws_177200.land-5.com claramente no se ajusta a ninguno de
 ellos, y el servidor denegar� la conexi�n. Si no hubiese habido
 resoluci�n inversa de 206.2.177.200 mediante la zona in-addr.arpa el
 servidor habr�a sido incapaz de de encontrar el nombre y habr�a tenido
 que comparar 206.2.177.200 con *.no, *.se y *.dk, es decir, cifras con
 nombres, ninguna de las cuales concordar�a.

 Algunas personas le dir�n que la resoluci�n inversa s�lo es importante
 para los servidores, o que no tienen importancia. No es as�;  muchos
 servidores de ftp, news, irc e incluso algunos servidores http (WWW)
 NO aceptar�n conexiones de m�quinas de las cuales no son capaces de
 resolver el nombre. Por tanto el mapeo inverso de m�quinas es de hecho
 obligatorio.

 6.  Mantenimiento

 Manteni�ndolo en funcionamiento.

 Hay una tarea de mantenimiento que tiene que realizar con named,
 adem�s de mantenerlo en funcionamiento. Esta tarea es mantener el
 archivo root.cache actualizado. La forma m�s f�cil es usar dig,
 primero ejecute dig sin argumentos, conseguir� root.cache de acuerdo
 con su propio servidor.  Entonces pregunte a alguno de los servidores
 ra�z listados con

      dig @rootserver

 Podr� observar que la salida se parece terriblemente al archivo
 root.cache excepto por un par de n�meros extras. Esos n�meros no
 ocasionan problemas. Gu�rdelo en un archivo

      dig @rootserver . ns > root.cache.new

 y sustituya el antiguo root.cache con �l.

 Recuerde reiniciar named despu�s de sustituir el archivo cach�.

 Al Longyear me envi� este script que puede ser ejecutado
 autom�ticamente para actualizar root.cache, instale una entrada en el
 crontab para ejecutarlo una vez al mes y olv�dese.  El script supone
 que trabaja con correo y que el alias de mail hostmaster est�
 definido. Debe editarlo para ajustarlo a su configuraci�n.

 #!/bin/sh
 #
 # Actualizacion del cache del servidor de nombres una vez al mes.
 # Esto es ejecutado automaticamente mediante una entrada de cron
 #
 (
  echo "To: hostmaster <hostmaster>"
  echo "From: system <root>"
  echo "Subject: Actualizacion automatica del fichero named.boot"
  echo

  export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
  cd /var/named

  dig @rs.internic.net . ns >root.cache.new

  echo "El fichero named.boot ha sido actualizado para contener la
 siguiente informacion:"
  echo
  cat root.cache.new

  chown root.root root.cache.new
  chmod 444 root.cache.new
  rm -f root.cache.old
  mv root.cache root.cache.old
  mv root.cache.new root.cache
  ndc restart
  echo
  echo "El servidor de nombres ha sido rearrancado a fin de asegurar que la
 actualizacion es completa."
  echo "El anterior fichero root.cache se ha renombrado a /var/named/root.cache.old."
 ) 2>&1 | /usr/lib/sendmail -t
 exit 0

 Alguno de ustedes puede haber observado que el archivo root.cache est�
 tambi�n disponible mediante ftp en Internic. Por favor NO utilice ftp
 para actualizar root.cache, el m�todo anterior es mucho m�s amistoso
 con la red.

 7.  Configuraci�n de Conexiones Autom�ticas v�a telef�nica.

 Esta secci�n explica c�mo he dispuesto las cosas para automatizarlo
 todo.  Mi m�todo puede que no se adapte completamente al suyo, pero
 puede obtener ideas de algunas de las cosas que he hecho. Tambi�n, uso
 ppp para marcar, mientras que mucha gente usa slip o cslip y por tanto
 casi toda su configuraci�n puede ser distinta a la m�a.  Pero el
 programa de slip dip deber�a poder hacer muchas de las cosas que yo
 hago.

 Normalmente, cuando no estoy conectado a la red tengo un archivo
 resolv.conf que simplemente contiene la l�nea

           domain uio.no

 Eso me asegura que no tengo que esperar a que la librer�a de
 resoluci�n de nombres del sistema intente conectar con un servidor de
 nombres que no puede ayudarme.  Pero cuando me conecto quiero arrancar
 mi named y tener un resolv.conf parecido a los descritos
 anteriormente. He resuelto esto teniendo dos archivos resolv.conf
 llamados resolv.conf.local y resolv.conf.connected. El �ltimo se
 parece al resolv.conf descrito anteriormente en este documento.

 Para conectarme autom�ticamente a la red ejecuto un script llamado
 ppp-on:

      #!/bin/sh
      echo llamando...
      pppd

 pppd tiene un archivo llamado options que indica las caracter�sticas
 de la conexi�n. Una vez que mi conexi�n ppp est� activa pppd llama a
 un script llamado ip-up (este est� descrito en la p�gina pppd (8) de
 man). He aqu� una parte del script:

      #!/bin/sh
      interface="$1"
      device="$2"
      speed="$3"
      myip="$4"
      upip="$5"
       ...
      cp -v /etc/resolv.conf.connected /etc/resolv.conf
       ...
      /usr/sbin/named

 Es decir, arranco el named desde aqu�. Cuando se corta la conexi�n
 ppp, pppd ejecuta un script llamado ip-down:

      #!/bin/sh
      cp /etc/resolv.conf.local /etc/resolv.conf
      read namedpid < /var/run/named.pid
      kill $namedpid

 As� configuramos las cosas de una forma cuando estamos conectados y
 las desconfiguramos cuando nos desconectamos.

 Algunos programas, irc y talk me vienen a la mente, hacen algunas
 suposiciones, y para que en irc el comportamiento de las capacidades
 dcc, y talk funcionen bien tiene que modificar su archivo hosts.  Yo
 he insertado en mi script ip-up lo siguiente:

      cp /etc/hosts.ppp /etc/hosts
      echo $myip      roke >>/etc/hosts

 hosts.ppp simplemente contiene

      127.0.0.1       localhost

 y echo inserta la direcci�n IP que he recibido para mi nombre de host
 (roke). Vd. deber� usar en su lugar el nombre de su m�quina. Este
 nombre se puede saber con el comando hostname.

 Probablemente no sea inteligente ejecutar named cuando no est�
 conectado a la red, esto es porque named intentar� enviar solicitudes
 a la red y eso consume tiempo, y Vd. tendr� que esperar este tiempo
 cada vez que alg�n programa intente resolver un nombre. Si est� usando
 conexiones telef�nicas deber�a iniciar named cuando se conecte y
 matarlo cuando se desconecte. Pero por favor lea la secci�n de PUF
 (``'') para los trucos.

 A algunas personas le gusta usar la directiva forwarders para
 conexiones de escasa velocidad. Si su proveedor de Internet tiene
 servidores DNS en 1.2.3.4 y 1.2.3.5 puede insertar la l�nea

      forwarders 1.2.3.4 1.2.3.5

 en el archivo named.boot.  Deje tambi�n vac�o el archivo root.cache.
 Esto disminuir� el tr�fico IP que origina su m�quina.  Esto es
 especialmente importante si paga por cada byte que circule por el
 cable. Tiene el valor a�adido de evitarle el deber del mantenimiento;
 no tiene porqu� actualizar un archivo root.cache vac�o.

 8.  PUFs Preguntas de Uso Frecuente (FAQ)

 En esta secci�n incluyo algunas de las preguntas m�s frecuentes
 realizadas relativas a DNS y este COMO. Y las respuestas :-) Por
 favor, lea esta secci�n antes de enviarme correo electr�nico.

 8.1.  �C�mo uso DNS desde dentro de un cortafuegos ( firewall )?

 Unas cuantas pistas:  `forwarders', `slave', y echar un vistazo a la
 literatura que hay al final de este COMO.

 8.2.  servicio, por ejemplo para www.siempre.ocupado  para obtener
 balanceo de carga o similar?  �C�mo hago que DNS rote entre las direc�
 ciones disponibles para un

 Haga varios registros A para www.siempre.ocupado y use bind 4.9.3 o
 posterior. bind har� una rotaci�n tipo round-robin de las respuestas.
 Esto no funcionar� con versiones anteriores de bind.

 8.3.  Quiero configurar DNS en una intranet (cerrada) �qu� hago?

 Elimine el archivo de cach� y haga los archivos de zona. Eso tambi�n
 significa que nunca tendr� que actualizar el archivo de cach�.

 8.4.  Mi sistema no tiene el programa ndc . �Qu� hago?

 El bind instalado en su sistema es viejo y de alguna forma obsoleto.
 Si la seguridad es importante para Vd.: actualice bind inmediatamente.
 Si no, de todas formas podr� vivir con ello. En lugar de ejecutar ndc
 start ejecute named; ndc reload ser� named.reload y ndc restart ser�
 named.restart. Esos programas probablemente estar�n en /usr/sbin.

 8.5.  �C�mo configuro un servidor de nombres secundario?

 Si el servidor primario tiene la direcci�n 127.0.0.1, ponga la
 siguiente l�nea en el archivo named.boot de su secundario:

            secondary     linux.bogus             127.0.0.1       sz/linux.bogus

 8.6.  Quiero que bind  se ejecute cuando me desconecto de la red.

 He recibido este mail de Ian Clark, [email protected] donde explica la
 forma de hacer esto:

 ``Ejecuto named en la m�quina que hace masquerading aqu�. Tengo dos
 archivos root.cache, uno llamado root.cache.real que contiene el
 servidor de nombres ra�z real y el otro llamado root.cache.falso que
 contiene...

                ; root.cache.falso
                ; este archivo no contiene informacion

 Cuando dejo de estar conectado copio el archivo root.cache.falso en
 root.cache y reinicio named.

 Cuando me conecto copio root.cache.real en root.cache y reinicio
 named.

 Esto se hace desde ip-down & ip-up respectivamente.

 La primera vez que efect�o una consulta off line sobre un nombre de
 dominio del cual named no tiene detalles, �ste pone una entrada como
 esta en messages...

                Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN

 con la cual puedo convivir sin problemas.

 Esto ciertamente parece funcionarme. Puedo usar el servidor de nombres
 para m�quinas locales mientras no estoy conectado sin el retraso con
 nombres de dominio externos, y cuando s� estoy conectado, funciona de
 forma normal con dominios externos.''

 8.7.  forma de controlar el tama�o del cach�?  �D�nde almacena su
 cach� el servidor de nombres? �Hay alguna

 El cach� se almacena en memoria completamente.  No se escribe en disco
 en ning�n momento. Cada vez que mata a named se pierde el cach�. El
 cach� no es controlable de ninguna forma, named lo maneja de acuerdo
 con unas reglas simples. No puede controlar ni el cach� ni su tama�o
 de ninguna forma ni por ning�n motivo. Si quiere, puede cambiar esto
 tocando los fuentes de named, lo cual no es recomendable.

 8.8.  �Salva named  el cach� entre reinicios? �Puedo guardarlo?

 No, named no salva el cach� cuando muere. Esto significa que el cach�
 se debe reconstruir de nuevo cada vez que mate y reinicie named. No
 hay forma de hacer que named salve el cach� en un archivo. Si quiere,
 puede cambiar esto tocando los fuentes de named, lo cual no es
 recomendable.

 9.  C�mo hacerse un gran admin  DNS.

 Documentaci�n y herramientas.

 Existe Documentaci�n Real. En l�nea e impresa. Se requiere la lectura
 de esta documentaci�n para seguir los pasos de peque�o a gran admin
 DNS. En formato impreso el libro est�ndar es DNS and BIND de C. Liu y
 P.  Albitz de O'Reilly & Associates, Sebastopol, CA, ISBN
 0-937175-82-X. Lo le�, es excelente. Hay tambi�n una secci�n sobre DNS
 en TCP/IP Network Administration, de Craig Hunt de O'Reilly..., ISBN
 0-937175-82-X. Otros libros necesarios para un Buenos Administradores
 DNS (o bueno para cualquier cosa de la materia) es Zen and the Art of
 Motorcycle Maintenance de Robert M.  Prisig :-) Disponible con ISBN
 0688052304 y otros.

 Puede encontrar material en l�nea en http://www.dns.net/dnsrd/,
 http://www.vix.com/isc/bind/; una PUF, un manual de referencia (BOG;
 Bind Operations Guide) as� como papers y definici�n de protocolos y
 diversos retoques o hacks de DNS (�stos y la mayor�a, si no todas las
 referencias mencionadas arriba, est�n tambi�n contenidas en la
 distribuci�n de bind).  No he le�do la mayor�a, pero tampoco soy un
 gran admin DNS.  Arnt Gulbrandsen, por otra parte ha le�do el BOG y
 est� extasiado con �l :-). El grupo de noticias comp.protocols.tcp-
 ip.domains es sobre DNS. En suma, hay un gran n�mero de RFCs sobre
 DNS, las m�s importantes son probablemente las siguientes:

    RFC 2052
       A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location
       of services (DNS SRV), Octubre de 1996

    RFC 1918
       Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
       Address Allocation for Private Internets, 02/29/1996.
    RFC 1912
       D. Barr, Common DNS Operational and Configuration Errors,
       02/28/1996.

    RFC 1713
       A. Romao, Tools for DNS debugging, 11/03/1994.

    RFC 1712
       C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of
       Geographical Location, 11/01/1994.

    RFC 1183
       R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR
       Definitions, 10/08/1990.

    RFC 1035
       P. Mockapetris, Domain names - implementation and specification,
       11/01/1987.

    RFC 1034
       P. Mockapetris, Domain names - concepts and facilities,
       11/01/1987.

    RFC 1033
       M. Lottor, Domain administrators operations guide, 11/01/1987.

    RFC 1032
       M. Stahl, Domain administrators guide, 11/01/1987.

    RFC 974
       C. Partridge, Mail routing and the domain system, 01/01/1986.

 10.  Traducci�n

 Este documento ha sido traducido por

 Pedro Pablo F�brega Mart�nez, [email protected]

 Si encontr�is mejoras, a�adidos o fallos, de cualquier tipo,
 indic�dmelo para mejorar el documento.

 11.  Anexo: El INSFLUG

 El INSFLUG forma parte del grupo internacional Linux Documentation
 Project, encarg�ndose de las traducciones al castellano de los Howtos
 (Comos), as� como la producci�n de documentos originales en aquellos
 casos en los que no existe an�logo en ingl�s.

 En el INSFLUG se orienta preferentemente a la traducci�n de documentos
 breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
 :) ), etc.

 Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.

 En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
 traducciones:  www.insflug.org. Aseg�rese de comprobar cu�l es la
 �ltima versi�n disponible en el Insflug antes de bajar un documento de
 un servidor r�plica.

 Se proporciona tambi�n una lista de los servidores r�plica (mirror)
 del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
 recursos en castellano.

 Francisco Jos� Montilla, [email protected].