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