Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Cómo montar una caché de dns en tu Mandrake

Redes
Por man ls
departamento especificidades bizantinas , Sección Internet
Puesto a las Tue Dec 9th, 2003 at 06:23:25 PM CET
En mi última entrada de diario pedía ayuda para montar un servidor DNS local. Varios libertonios me respondieron con sugerencias, y esta historia es mi forma de daros las gracias.

Aquí sólo pretendo mostrar qué opciones hay en una Mandrake para resolver nombres sin depender de un solo proveedor, y explicar la instalación de djbdns en una distro. Me gustaría que fuera más genérico; pero para eso ya tenemos mi vida con djbdns, aunque esté un poco desactualizado (sobre todo la parte de istalación). Si sabéis cómo montárselo con otras distribuciones, y no os importa tomaros la molestia de añadirlo como comentario, seguro que alguien en algún sitio os lo agradecerá.

 


Recapitulemos: los servidores dns de mi proveedor se caen a menudo, y quería instalar un dns que haga de caché. No me fío de BIND (named), porque parece que no es muy seguro ni estable.

Primera opción: resolv.conf

jamarier y atopos me recomendaban endiñar más servidores en /etc/resolv.conf, en particular dos de Telefónica Data y dos de Auna. No es mala idea, pero sigues dependiendo de tres servidores para resolver nombres (el resto son ignorados). Además, mi idea era aprender a istalar algo que vaya en mi red local.

A vueltas con named

ridiculum me invitaba a probar con BIND, a pesar de los problemas de seguridad. Esta opción no me atrae demasiado; es posible que en mis condiciones actuales no tenga que preocuparme mucho por la seguridad, pero para qué aprender algo que es complejo y poco fiable. También ha usado pdnsd, aunque veo en la página de Bernstein sobre la competencia un buffer overflow.

De güiner is...

melenas recomienda tinydns, parte de djbdns, de Dan J Bernstein. Como quiera que melenas es mi ídolo, y siempre me trago lo que me cuenta, me decidí a probarlo. Y, ¡oh desgracia!, los RPMs son sólo para RedHat, y las instrucciones que nos apuntó están anticuadas. Así que paso a contaros mis experiencias con Mandrake 9.1.

Mini-HowTo: dnscache en Mandrake

Para empezar, el tal Bernstein parece que es un tipo peculiar. Tiene una guerra declarada contra la mitad de la internés, incluyendo BIND, sendmail, Verisign, IETF, y los Estados Unidos. En particular, y lo que nos interesa aquí, es su guerra contra el Filesystem Hierarchy Standard. Resulta que el tío tiene sus propias ideas sobre dónde colocar los paquetes que uno se instala, porque el sistema de /usr/local y demás es inconsistente: a veces actualizas una aplicación y la versión antigua se te queda en /usr/share. No me veo cualificado para saber si tendrá razón, el caso es que según sus instrucciones tienes que instalar sus herramientas en /package.

Según la licencia, el software en sí es modificable, pero no puedes distribuir las modificaciones. Cualquier distribución binaria debe dejar los mismos ficheros que si se realiza una instalación manual. (En esa página, Bernstein no explica sus motivos, sino que se lanza a una de sus diatribas contra un tal Rick Moen.) Es decir, que no es software libre, pero se podría parecer (siempre puedo distribuir su paquete y mis propios parches).

Istalación oficial

Las istrucciones de istalación dicen que primero hay que istalar daemontools, donde está svscan: el programa que va a mantener el servicio corriendo. (Casi se me olvida decir que a Bernstein no le gustan inittab ni init.d.) Os cuento los pasos que seguí:

  • Como root, creo un directorio /package:
    mkdir -p /package
    chmod 1755 /package
    cd /package
  • Descargo daemontools-0.76.tar.gz en /package. Descomprimo el paquete daemontools:
    gunzip daemontools-0.76.tar
    tar -xpf daemontools-0.76.tar
    rm daemontools-0.76.tar
    cd admin/daemontools-0.76
  • Compilo e istalo los programas daemontools:
    package/install
  • y a tomal pol culo la bicicleta, obtengo múltiples errores
    undefined reference to 'errno'
Veo por ahí que parece ser un problema en glibc, algo evidentemente fuera de mis posibilidades de arreglo.

Mandrake al rescate

Es hora de darles caña a mis superpoderes investigatorios. Algún alma caritativa de MandrakeSecure mantiene una versión RPMizada, lo que nos va a venir muy bien. Hay que decir que esta versión viola flagrantemente la licencia de djbdns, ya que no istala todo en /package. Espero que a Bernstein no le importe demasiado, a mí personalmente me da igual.

El enlace que viene en la página de Mandrake Secure no funciona; tenemos que irnos a esta otra página de rpmhelp, elegir nuestra versión de Mandrake (9.2 incluida) y bajarnos los paquetes a mano. Es una gozada, ninguno llega a los 100k: son daemontools, ucspi-tcp y djbdns. Encontramos tres variantes del último:

  • djbdns-localcache istala y configura dnscache para responder a peticiones sólo de nuestra máquina local,
  • djbdns-extcache es igual, pero permite consultas desde cualquier máquina que esté en la subred 255.255.255.0,
  • y djbdns es el servidor tinydns completo.
Yo me decido por la segunda opción, ya que tengo una cutre-red local de 2 ordenadores. Istalo los tres RPMs: primero daemontools, luego ucspi-tcp y por fin djbdns-extcache; y ¡voilá!, automáticamente
  • se crean los usuarios dnscache y dnslog, bajo los que correrá el servicio de dns;
  • se crea el directorio /service donde svscan (parte de daemontools) busca servicios que mantener andando;
  • una entrada en /service que apunta a djbdns,
  • y los enlaces en /etc/rc.d/rcX.d que arrancan svscan.
Ahora sólo queda modificar /etc/resolv.conf para que apunte a la máquina local; y, en mi caso, abrir el puerto de resolución de nombres (53) en el shorewall para que deje pasar las consultas del iMac.

Por algún extraño motivo, si hago consultas de nombres a localhost

host www.yahoo.com 127.0.0.1
no me responde; pero si utilizo la dirección IP local sí. Como no es mayor problema, lo dejaré así.

El funcionamiento de dnscache

¿Por qué es mejor tener dnscache que trastear el resolv.conf? El paquete incluye una lista de trece servidores en los que busca por defecto, en

/var/djbdns/dnscachex/root/servers/@;
son servidores de Verisign, la universidad de Tokio... supuestamente los servidores root de internet. ¿Qué puede ser más fiable?

La configuración es inexistente. Los registros de nombres que recibe dnscache traen un TTL, tiempo de vida, que es lo que utiliza para mantener la caché; tras una semana máximo, los descarta.

Despedida

Bueno, amigos, ya vale por hoy de dar la paliza. Sólo nos queda esperar a que Google indexe esta página para que el próximo pardillo que le haga caso al melenas lo tenga un poco más fácil :)

< Estudiando japonés en Linux (12 comments) | Experimentando con IPv6 en Linux (15 comments) >
Enlaces Relacionados
· escomposlinux.org
· mi última entrada de diario
· mi vida con djbdns
· la página de Bernstein sobre la competencia
· los RPMs son sólo para RedHat
· las instrucciones que nos apuntó
· dnscache
· Bernstein
· BIND
· sendmail
· Verisign
· IETF
· los Estados Unidos
· su guerra contra el Filesystem Hierarchy Standard
· dónde colocar los paquetes
· la licencia
· istrucciones de istalación
· istalar daemontools
· no le gustan inittab ni init.d
· daemontools-0.76.tar.gz
· parece ser un problema en glibc
· superpoderes investigatorios
· alma caritativa de MandrakeSecure
· esta otra página de rpmhelp
· More on Redes
· Also by man ls

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Cómo montar una caché de dns en tu Mandrake | 14 comentarios (14 temáticos, editoriales, 0 ocultos)
Sobre escuchar desde múltiples ips (3.00 / 1) (#1)
por melenas a las Tue Dec 9th, 2003 at 08:53:11 AM CET
(Información Usuario)

Por algún extraño motivo, si hago consultas de nombres a localhost
host www.yahoo.com 127.0.0.1
no me responde; pero si utilizo la dirección IP local sí. Como no es mayor problema, lo dejaré así.


El problema es (perdona si no contesto exactamente pero es que tengo un Hasefroch delante) que en un archivo que indica por donde debe escuchar las peticiones sólo tendrás la dirección ip local, en el propio documento de "Mi vida con DJBDNS" dan dos soluciones:
  • Poner el valor de la IP a 0.0.0.0, no lo recomiendan pero yo lo hago y me va bien, aunque era en el resolutor y NO en el caché que sólo monté una vez y de prueba (aunque con resultados satisfactorios).
  • Otra solución es mandar varias instancias por cada interfaz, aunque dice que ocupa poca memoria (y es cierto) a mí no me gusta, así que, tú decides ;-)


Ah, y gracias por considerarme tu "ídolo" ;-), en la próxima Hispalinux te pago la cerveza que te debo ;-D


FDO. ER_MELENAS No te preguntes sólo que puede hacer el S.L. por ti sino también que puedes hacer tú por él.


Ejem (3.50 / 2) (#2)
por man ls a las Tue Dec 9th, 2003 at 01:06:12 PM CET
(Información Usuario)

Pero, pero, pero... melenas desde un HaseFroch... ¿a dónde vamos a llegar? ¿Stallman con un PocketPC? Beuno, yo también tengo un HaseFroch delante, así que no puedo quejarme.

Te refieres a escuchar desde múltiples interfaces, por lo que entiendo que lo cuenta como otro interfaz distinto a eth0. Vale, así que como no me cuesta ningún trabajo poner la ip local en resolv.conf, lo dejaré así -- y un misterio resuelto.

Gracias a ti :)

[ Padre ]


 
Otro documento interesante (3.00 / 1) (#3)
por Sevein a las Wed Dec 10th, 2003 at 12:24:59 PM CET
(Información Usuario)

Es muy aplicadito: http://www.bandaancha.st/documentos.php?docid=66

--
Jesús García Crespo (aka Sevein)
http://www.sevein.com



 
Ejem, ejem :P (3.00 / 1) (#4)
por isaac a las Thu Dec 11th, 2003 at 08:02:42 PM CET
(Información Usuario)

El funcionamiento de dnscache

¿Por qué es mejor tener dnscache que trastear el resolv.conf? El paquete incluye una lista de trece servidores en los que busca por defecto, en
/var/djbdns/dnscachex/root/servers/@;
son servidores de Verisign, la universidad de Tokio... supuestamente los servidores root de internet. ¿Qué puede ser más fiable?
¿Por que crees que tu ISP te da varios servidores DNS? Entre algunas cosas, para minimizar trafico y para que tus consultas sean mas rapidas.
Es bastante mas lento consultar esos DNS's raiz que el DNS de tu ISP (o alguno cercano), ¿por que crees que el DNS sigue un esquema jerarquico?
Yo uso BIND, pero aparte de los servidores raiz tengo unos cuantos "Forwarders".

Un saludo



Para eso está host (3.00 / 1) (#5)
por man ls a las Fri Dec 12th, 2003 at 12:03:54 AM CET
(Información Usuario)

No sé en teoría qué será más rápido; podemos estar discutiéndolo horas, pero sólo hay que hacer la prueba:
time host libertonia.escomposlinux 198.41.0.4
y repetirlo unas cuantas veces. Así con todos los servidores raíz, y con los dos de mi proveedor.

En unas pocas pruebas peseudo-científicas, los de Telefónica Data son un poco más variables. El primario tarda fácil más de un segundo, el secundario cualquier cosa entre 150 y 400 ms. Los primeros dos servidores raíz están entre 300 y 500 ms.

Al final las consultas van al mismo sitio (los servidores del tld .org, así que supongo que será más rápido el que mejor aguante la carga.

Y, desde luego, los servidores raíz no se caen. (Si alguna vez pasa, me enteraré por la radio ;-)

[ Padre ]


Caen (none / 0) (#10)
por Envite a las Mon Dec 15th, 2003 at 01:51:50 AM CET
(Información Usuario)

cayeron creo que siete (estoy vago para comprobarlo) cuando hubo un ataque DDOS contra todos ellos. El servicio no sufrio "demasiado" gracias a las replicas y caches.
No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
Voltaire

[ Padre ]


 
Entre otras cosas, tambien por estas :) (3.00 / 1) (#8)
por iarenaza a las Fri Dec 12th, 2003 at 09:16:09 PM CET
(Información Usuario) http://www.escomposlinux.org/

Entre otras cosas tu ISP te da varios DNS porque:

a) Suelen estar saturados muchas veces, y su estabilidad no es la optima a veces tambien. Como la parte cliente se encarga de hacer el "fail-over", con que alguno de ellos funcione, es suficiente.

b) Porque, a parte de cuatro locos del Sanex ese, nadie se monta su propio servidor DNS local (sea sólo de cacheo o no).

En todo caso, el usar tu propio servidor de cacheo local es beneficioso para tí y para tu proveedor de acceso. Como su propio nombre indica, cache los resultados localmente, con lo cual no estás preguntando a los servidores raíz en cada consulta (de hecho, sólo lo hará una vez por cada TLD diferente que uses). Luego tirará de los resultados locales mientras no expiren, con lo cual ni suquiera generarás tráficio hasta tu ISP.

Yo desde luego lo tengo claro: uso mis propios servidores locales: si tengo conectividad IP, tengo servicio de DNS garantizado y con tiempos muy rápidos (salvo la primera consulta).

Saludos. Iñaki.

[ Padre ]


 
Esto... "istalar" e "istalación&quo (2.00 / 1) (#6)
por NoP a las Fri Dec 12th, 2003 at 01:56:37 PM CET
(Información Usuario)

Hola... es que no sé si te falla la tecla o si es un simple error, pero ... ¿porqué en lugar de "Instalar" e "Instalación" pones "Istalar" e "Istalación" en todo el documento? (le falta la N).

Siento hacer un comentario así, pero me ha dolido enormemente a los ojos. :(

saludos.




Es intencionado (3.00 / 1) (#7)
por man ls a las Fri Dec 12th, 2003 at 05:33:55 PM CET
(Información Usuario)

La 'n' de "instalar", "instrumento" son letras que no se pronuncian, a no ser que seas un presentador de televisión, como la 'b' de "obscuridad" o la 'p' de "psicólogo" y "séptimo".

Ya se ha aceptado "oscuridad", "sicólogo" y "sétimo", estaría bien que pudiéramos seguir avanzando un poco por el mismo camino -- los alunnos de ESO nos lo agradecerán :)

[ Padre ]


[OT] La evolución del lenguaje es complicada (3.00 / 1) (#11)
por jamarier a las Fri Dec 19th, 2003 at 09:52:55 AM CET
(Información Usuario) http://barbacana.net/blog/

Y querer forzarla más aun.

Si vas a eliminar una letra que no se pronuncia deberías empezar por la 'h' que salvo algunos que la aspiran nadie la pronuncia.

-----
- Porque mañana será un gran día.
[ Padre ]



[OT] Lenguaje oral y escrito (3.00 / 1) (#12)
por man ls a las Fri Dec 19th, 2003 at 11:29:35 AM CET
(Información Usuario)

Creo que tienes razón en lo que se refiere a lenguaje oral: es difícil forzar su evolución. En el lenguaje escrito las cosas funcionan de otra manera, porque es más parecido a un convenio social. Por eso hay normas de ortografía (escritura correcta), por eso va siempre por detrás de la lengua oral, y se puede incluso inventar de un plumazo (como ocurrió con el cirílico).

La gente que propone grafías alternativas, como García Márquez, Mosterín o García Calvo, no quiere forzar nada, sólo adaptar un poco más la lengua escrita a la oral.

Sobre por qué la 'n' de "instalar" y no otras: la 'h' no lleva a confusión a los hablantes, nadie (salvo que sea estranjero) intenta pronunciarla. Pero esta 'n' sí puede llevar a intentar pronunciarla, cosa que resulta bastante ortopédica. Algo parecido pasa con "las ratas", que normalmente se pronuncia como /larratas/; en este caso es difícil encontrar una grafía alternativa.

Siento daros la chapa con esto, es un tema que me apasiona. (Ah, y lo de "estranjero" va por el mismo camino :)

[ Padre ]


Pero, pero... (4.00 / 1) (#13)
por jorginius ("jorginius" en Google Mail) a las Fri Dec 19th, 2003 at 01:05:44 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Yo pronuncio de siempre la "n" de "instalar, igual que la "x" de "extranjero" y la "p" de "séptimo" (aunque no la de "psicología"), y no por ello creo ser un bicho raro. Es más, "sétimo" e "istalar" creo que no lo he escuchado en la vida. Lo de "estranjero" quizás sí porque se tiende a suavizar mucho la "x"... Pero nadie que yo conozca al menos la suaviza tanto como para que no se distinga de una "s".

En fin, que esto de lo que hablas debe ser un regionalismo porque sino no me lo explico. Vale que "sétimo" se pueda llegar a entender por contexto, pero a mí me suena horrible. ¿Dónde se utiliza?, ¿en según que países de hispanoamérica?, ¿en Andalucía?.

[ Padre ]


Por aquí abajo no (2.00 / 1) (#14)
por melenas a las Fri Dec 19th, 2003 at 11:14:26 PM CET
(Información Usuario)

¿en Andalucía?.

Sí y mucho, además de acortar "para" por "pa", "nada" por "na", "estás" por "tas", "estoy" por "toy", "estrozado" por "trozao", "mira" por "ira" y así te puede salir una frase tal que:

Eta mañaña vi a fulanito por la calle y le dije, "tas que no vales paná", y él me contestó, "ira quien habla, tú que no tas trozao ni na tambié"

Algunos le quieren otorgar el rango de nuevo idioma, pero yo lo llamaría simplemente ahorro de sílabas ;-)


FDO. ER_MELENAS No te preguntes sólo que puede hacer el S.L. por ti sino también que puedes hacer tú por él.
[ Padre ]


 
Juajuajuajuajuajuajuajua (none / 0) (#9)
por Envite a las Mon Dec 15th, 2003 at 01:50:14 AM CET
(Información Usuario)

juajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajua
(tomo aire)
juajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajuajua
No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
Voltaire

[ Padre ]


 
Cómo montar una caché de dns en tu Mandrake | 14 comentarios (14 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda