Configure BIND para que sea un reenviador simple (sin consultas de servidores raíz)

Me gustaría configurar un servidor de enlace simple capaz de actuar como un reenviador simple para OpenDNS servidores.

No quiero que mi enlace, sin embargo, pueda consultar los servidores raíz, quiero que todo el tráfico vaya solo a OpenDNS y tal vez actúe como «caché» para él.

¿Cómo se puede lograr esto? ¿Debo deshabilitar las sugerencias de los servidores raíz de alguna manera? ¿Es este el procedimiento correcto?

Mi conjetura es comentar la zona «.» Servida por los servidores raíz en named.conf.default-zones archivo. Sin embargo, leí que los servidores raíz que no consultan se pueden lograr también desactivando la recursividad, pero deshabilitar la recursividad parece llevar al servidor a no poder aprovechar también los reenviadores … ¿dónde está mal mi conf?

Conf es lo siguiente:

named.conf

// This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; 

named.conf.options

acl "trusted" { 127.0.0.1/8; 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; ::1; }; options { directory "/var/cache/bind"; # bind cache directory recursion no; # enables resursive queries allow-query { trusted; } ; allow-recursion { "none"; }; additional-from-cache no; allow-transfer { none; }; # disable zone transfers by default // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0"s placeholder. forward only; forwarders { 208.67.222.222; 208.67.220.220; }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-enable no; dnssec-validation no; dnssec-lookaside auto; auth-nxdomain no; # conform to RFC1035 }; 

named.conf.local

// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; 

named.conf.default-zones

// prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; 

Respuesta

La configuración BIND de hecho, cuando los reenviadores están definidos, envía todas las solicitudes que no fueron satisfechas por el BIND local a los reenviadores.

Más aún, cuando se utiliza forward only;, las zonas locales se ignoran y todas las solicitudes se satisfacen solo desde la caché o por los reenviadores.

Si necesita tener zonas locales (es decir direcciones IP privadas de RFC 1918 y una zona local de hogar / oficina), con el fin de tener reenviadores, debe comentar tanto la zona con las sugerencias de raíz como la directiva forward only;.

// forward only; // zone "." { // type hint; // file "/etc/bind/db.root"; // }; 

Del DNS HowTo

Pero si se establece «solo reenvío», entonces BIND se da por vencido cuando no recibe una respuesta de los reenviadores, y gethostbyname () regresa inmediatamente. Por lo tanto, no hay necesidad de realizar trucos -A mano con archivos en / etc y reinicie el servidor.

En mi caso, acabo de agregar las líneas

solo hacia adelante; reenviadores {193.133.58.5;};

a la sección de opciones {} de mi archivo named.conf. Funciona muy bien. La única desventaja de esto es que reduce una pieza increíblemente sofisticada de software DNS al estado de una caché tonta.

Entonces, si solo necesita una caché tonta, solo puede reenviar solicitudes. Esta es la configuración apropiada en un entorno corporativo cuando reenvía solicitudes a la oficina central, por ejemplo.

Según su situación, donde sus solicitudes reenvían al exterior, le aconsejo que no lo haga a ciegas forward only para no reenviar solicitudes de DNS del rango de direcciones IP privadas / DNS local / dominios de Windows para las jerarquías superiores / servidores de nombres raíz.

Comentarios

  • por cierto, OpenDNS (y otros) admiten el reenvío cifrado. Lo hago en casa.
  • Oh, increíble, por favor proporcione los cambios cuando pueda ^^ Me gustaría usar el reenvío cifrado para poder deshacerme de un estúpido proveedor de enrutador dns enforcer que reescribe los paquetes dns.
  • abrir una nueva pregunta y comentar con mi usuario; de esa manera se documentará y no mezclaremos temas / preguntas.
  • Ok, lo haré 🙂 ¡Primero el café y luego escribiré la nueva pregunta!
  • Lo he visto ahora .. .más complejo de lo que estaba esperando en realidad. Responderá más adelante.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *