Qué es y qué no es.
DNS es el Domain Name System (Sistema de nombres de dominio). DNS convierte nombres de máquina a las direcciones IP que tienen todas las máquinas de la red. DNS traduce o relaciona nombres con direcciones y direcciones con nombres (además de alguna otra cosa). Este COMO documenta como se definen tales asociaciones usando sistemas Unix, con algunos pequeños detalles específicos de Linux.
Una relación es simplemente una asociación entre
dos cosas, en este caso un nombre de máquina, como
ftp.linux.org
, y la dirección IP de la
máquina (p.e. 199.249.150.4)
. DNS
también contiene relaciones en el sentido contrario, de la
dirección IP al nombre de la máquina; esto se denomina
"asociación inversa".
El DNS es, para los no iniciados (tú. ;-)
,
una de las áreas más opacas de la
administración de una red. Afortunadamente el DNS no es tan
difícil.
Este COMO tratará de aclarar algunas cosas. Describe cómo configurar un servidor de nombres DNS simple, comenzando con un servidor de sólo cacheo (caching only server)
Servidor que se limita a guardar en una caché las IP 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 puedes consultar la sección de PUF ( PUF ) de este documento. Si lo que buscas no está descrito allí, necesitarás leer la Documentación Real. Volveré a lo que es la Documentación Real en el último capítulo.
Antes de empezar, debes configurar tu sistema
convenientemente, de forma que pueda hacer telnet y/o ssh
desde y hacia tu máquina, efectuando satisfactoriamente toda
clase de conexiones de red, especialmente telnet
127.0.0.1
entrando en tu propia máquina
(compruébalo ahora). También necesitas 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 tienes aun
esta configuración y no funciona en red, el
Networking-HOWTO y Networking-Overview-HOWTO explican
como hacerlo. Léelos.
N.T.: Mira los documentos en castellano en www.insflug.org
Cuando digo ``tu máquina'' quiero decir la máquina en la que estás intentando configurar DNS. No cualquier otra máquina que puedas tener en tu red.
Supongo que no estás detrás de cualquier clase de cortafuegos (firewall) que bloquee peticiones de nombres. Si necesitas una configuración especial, mira la sección PUF.
El servicio de nombres en Unix se lleva a cabo por un programa,
llamado named
. Éste programa forma parte del
paquete bind
, que es coordinado por el The Internet
Software Consortium. named
está incluido en
la mayoría de las distribuciones de Linux y generalmente se
instala como /usr/sbin/named
; este ejecutable, normalmente forma parte de un paquete llamado BIND, en mayúsculas o minúsculas, depende de quien lo confeccione.
Si tienes el fichero named
probablemente puedas
usarlo; si no lo tienes, puedes obtener el binario en un ftp de
Linux, o conseguir los últimos y más voluminosos
fuentes en ftp://ftp.isc.org/isc/bind/src/
,
bien de los subdirectorios de versión actual, o de prueba,
lo que mejor se adapte a tu estilo. Este COMO trata la
versión 9 de BIND. Las anteriores versiones del COMO tratan
de las versiones 4 y 8, todavía disponibles en http://langfeldt.net/DNS-HOWTO/ en caso de que uses BIND 4 u 8 (también encontrarás este COMO). Si la página de manual de named
habla sobre (al final del todo, en la sección FILES)named.conf
tiene
BIND 8; si habla de named.boot
tienes BIND 4. Si
tienes la 4 y te preocupa la seguridad realmente deberías
actualizarte a la última versión de BIND 8.
Ahora.
DNS es una base de datos cuyo ámbito es la Red. Ten cuidado con lo que pones en ella. Si pones incongruencias, tú y los demás obtendrán incongruencias de ella. Mantén tu DNS limpia y consistente y conseguirás un buen servicio de ella. Aprende a usarla, administrarla, depurarla y serás otro buen administrador, salvando a la red de caerse de rodillas sobrecargada por falta de mantenimiento.
Haz una copia de seguridad de todos los archivos que te indico que cambie si ya los tienes, y así si después, si no funciona podrás volver al principio.
Esta seccion la ha escrito Joost van Baal.
Existen varios paquetes para disponer de servidores e nombres en tu máquina.
Esta el paquete BIND ( http://www.isc.org/products/BIND/); sobre el que trata este COMO. Es el servidor de nombres más popular que hay y se usa en una amplia mayoría de los servidores de Internet desde que apareció sobre 1980. Está disponible bajo licencia BSD. Como es el paquete más popular hay muchísima documentación y conocimientos sobre su comportamiento. Sin embargo han habido problemas de seguridad con BIND.
Tambien está djbdns ( http://djbdns.org/)un paquete
relativamente nuevo escrito por Daniel J. Bernstein que tembien
escribió qmail. Es una suite modular: varios pequeños
programas llevan a cabo las diferentes tareas que se supone que
tiene que realizar un servidor de nombres. Está
diseñado teniendo la seguridad en mente. Usa un formato de
fichero de zona más simple y generalmente es más
fácil de configurar. Sin embargo, al ser menos conocido, tu
gurú local podría no poder ayudarte. Por desgracia,
este software no es Open Source
. El anuncio del autor
está en http://cr.yp.to/djbdns/ad.html.
Si el software DJBs es una mejora sobre las viejas alternativas
es motivo de un amplio debate. Una discusion (¿o es un
flame-war
?) sobre BIND vs djbdns a la que se
adhirió la gente de ISC la puedes ver en http://www.isc.org/ml-archives/bind-users/2000/08/msg01075.html