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://langfeldt.net/DNS-HOWTO/ 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 suficientemente 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 a 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.