Por favor, lee esta sección antes de enviar correos con preguntas.
Estás leyendo el COMO equivocado. Por favor mira versiones anteriores de este COMO, que tratan de BIND 4, en http://www.math.uio.no/~janl/DNS/ o http://www.insflug.org/.
Una pista: `forwad only'. También puede necesitar
query-source port 53;
dentro de ``options'', parte del fichero named.conf, como se sugería
en el ejemplo de la sección
caching.
www.busy.site para obtener un efecto de balanceo de carga o similar?
Haz varios registros A para www.busy.site y use BIND
4.9.3 o posterior. Entonces BIND hará un "round-robin" de las respuestas. Esto
no funcionará con versiones anteriores de BIND.
Elimina el fichero root.hints y define los ficheros de zona. Esto también significa
que no tienes por qué obtener nuevos ficheros de caché.
Si el servidor primario/master tiene dirección 127.0.0.1 pon una linea como la siguiente en el fichero named.conf de tu secundario:
zone "linux.bogus" {
type slave;
file "sz/linux.bogus";
masters { 127.0.0.1; };
};
Puedes listar varios servidores principales alternativos la zona se puede copiar
desde la lista de masters, separadas por ';' (punto y coma).
Hay que considerar cuatro puntos:
He descubierto que con las nuevas versiones de BIND
esto ya no es necesario. Hay una directiva
"forward" además de la directiva "forwarders" directiva que controla
como se usan. El valor predeterminado es "forward first",
que primero pregunta a cada uno de los forwarders, y luego intenta
el mecanismo normal, si esto falla. Esto da el comportamiento familiar
de gethostbyname() de llevarse mucho tiempo cuando la conexión
no está abierta. Pero si se activa "forward only", entonces BIND
vuelve cuando no obtiene una respuesta de los forwarders, y
gethostbyname() termina inmediatamente. Por tanto no es necesario
realizar retoques de los ficheros y reiniciar el servidor named.
En mi caso, he añadido las líneas
forward only;
forwarders { 193.133.58.5; };
a la sección options { } de mi fichero named.conf. Funciona muy bien. La
única desventaja de esto es que reduce una pieza de software DNS
increíblemente sofisticado al estado de un volcado de cache. Extendiéndonos
un poco, me gustaría ejecutar un volcado de caché en su lugar, pero no parece
haber tal pieza de software disponible para Linux.
Ejecuto named en mi máquina con 'Masquerading'. Tengo
dos ficheros root.hints, uno llamado root.hints.real que contiene
los nombres de los servidores reales y otro llamado root.hints.fake
que contiene...
----
; root.hints.fake
; este fichero no contiene información
----
Cuando me desconecto, copia el root.hints.fake a root.hints y
reinicio named.
Cuando me conecto copio root.hints.real en root.hints y
reinicio named.
Esto se hace desde ip-down e ip-up respectivamente.
La primera vez que hago una consulta desconectado sobre un dominio,
named no tiene detalles para ella y pone una entrada como la siguiente
en messages..
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
con la que puedo sobrevivir.
Esto ciertamente me funciona. Puedo usar los servidores de nombres
para máquinas locales mientras estoy desconectado sin los retrasos del
temporizador para dominios externos y cuando estoy en la red, las consultas
para dominios externos funcionan normalmente.
Peter Denison pensó que Ian no fue suficiente mente lejos. Escribió:
Cuando estoy conectado) sirve todas las entradas cacheadas (y red local) inmediatamente
para las entradas no cacheadas, se dirige la servidor de nombres de mi ISP
Cuando estoy desconectado) sirve las consultas locales inmediatamente
falla en otras consultas **inmediatamente**
La combinación de cambiar el fichero root cache y consultas forwarding no funciona.
Así, he configurado (con algunas discusiones sobre esto en el LUG local) dos named
de la siguiente forma:
named-online: forwards servidores del ISP
master para zona localnet
master para zona inversa localnet(1.168.192.in-addr.arpa)
master para 0.0.127.in-addr.arpa
escucha en el puerto 60053
named-offline: sin forwarding
"fake" (falso) fichero root cache
esclavo para 3 zonas locales (master es 127.0.0.1:60053)
escucha en el puerto 61053
Y combinando esto con reenvío de puertos, para enviar el puerto
53 al 61053 cuando estoy desconectado y al puerto 60053 cuando
estoy conectado. (Uso el nuevo paquete netfilter
bajo 2.3.18, pero el mecanismo anterior (ipchains) debería funcionar).
Observe que esto no funcionará fuera de la máquina, ya que hay un
ligero bug en BIND 8.2, que he hablado con los desarrolladores, que previene
para tener un esclavo en la misma dirección IP que el principal (incluso
sobre diferentes puertos). Es un parche trivial que podría salir pronto, espero.
Suelo ejecutar mi propio named en todas mis máquinas que sólo
se conectan ocasionalmente a internet por módem. El servidor
de nombres sólo actúa como cache, no tiene área de autoridad
y consulta todo de los servidores de nombres del fichero root.cache.
Como es normal en Slackware, se inicia antes que nfs y mountd.
Con una de mis máquinas (un Libretto 30 notebook) he tenido el problema
que algunas veces podía montarlo de otro sistema conectado a mi
red local, pero la mayoría de las veces no funcionaba. Obtuve el mismo
efecto independientemente del uso de PLIP, una tarjeta PCMCIA ethernet o
PPP sobre un interfaz serie.
Tras preguntarme y experimentar durante cierto tiempo, encontré
que named aparentemente interfería el proceso de registro que nfsd
y mountd tienen que realizar con el portmapper en el arranque
(inicio estos demonios en el arranque, como es habitual). Al
comenzar tras nfsd y mountd elimina este problema completamente.
Como no supone ninguna desventaja la modificación de la
secuencia de arranque, os advierto a todos que lo hagáis para
prevenir potenciales problemas.
El cache se almacena en memoria completamente. No se
escribe en disco en
ningún momento. Cada vez que matas a named se pierde el caché. El
caché no es controlable de ninguna forma, named lo maneja de acuerdo
con unas reglas simples. No puedes controlar ni el caché ni su tamaño de
ninguna forma ni por ningún motivo. Si quieres, puedes cambiar esto tocando
los fuentes de named, lo cual no es recomendable.
named el caché entre reinicios? ¿Puedo guardarlo?
No, named no salva el caché cuando muere. Esto significa que el cache
se debes reconstruir de nuevo cada vez que mates y reinicies named. No
hay forma de hacer que named salve el caché en un archivo. Si quieres,
puedes cambiar esto tocando los fuentes de named, lo cual no es
recomendable.
linux-rules.net. ¿Cómo puedo obtener el dominio
que quiero que se me asigne?
Por favor, contacta con tu proveedor de servicios de internet. Ellos podrán ayudarte con esto. Ten en cuenta que en la mayor parte del mundo tienes que pagar para obtener un dominio.
Ambas son características avanzadas. Ambos temas se tratan en http://www.etherboy.com/dns/chrootdns.html. No explicaré estos temas más allá de esto.