Vorrei impostare un semplice server di bind in grado di agire come un semplice server di inoltro per OpenDNS server.
Non voglio che il mio bind sia in grado di interrogare i server root, voglio che tutto il traffico vada solo a OpenDNS e magari agisca come “cache” per questo.
Come si può ottenere ciò? Devo disabilitare i suggerimenti dei root server in qualche modo? È questa la procedura corretta?
La mia ipotesi è di commentare la zona “.” Servita dai root server su named.conf.default-zone file. Ho letto tuttavia che i root server non interroganti possono essere raggiunti anche disabilitando la ricorsione, ma disabilitare la ricorsione sembra portare il server a non essere in grado di sfruttare anche i forwarder .. dove la mia conf è sbagliata?
Conf è la seguente:
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-zone
// 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"; };
Risposta
La configurazione di BIND infatti, quando i forwarder sono definiti, invia tutte le richieste che non sono state soddisfatte dal BIND locale ai forwarder.
Inoltre, quando viene utilizzato forward only;
, le zone locali vengono ignorate e tutte le richieste vengono soddisfatte solo dalla cache o dai server di inoltro.
Se è necessario disporre di zone locali (es indirizzi IP privati da RFC 1918 e una zona casa / ufficio locale), allo scopo di avere forwarder, è necessario commentare sia la zona con i suggerimenti di root, sia la direttiva forward only;
.
// forward only; // zone "." { // type hint; // file "/etc/bind/db.root"; // };
Da DNS HowTo
Ma se “forward only” è impostato, BIND si arrende quando non riceve una risposta dai forwarder e gethostbyname () ritorna immediatamente. Quindi non è necessario eseguire giochi di prestigio -hand con i file in / etc e riavvia il server.
Nel mio caso, ho appena aggiunto le righe
forward only; forwarders {193.133.58.5;};
alla sezione delle opzioni {} del mio file named.conf. Funziona molto bene. Lunico svantaggio di questo è che riduce un pezzo incredibilmente sofisticato di software DNS allo stato di una cache stupida.
Quindi, se hai solo bisogno di una cache stupida, puoi solo inoltrare le richieste. Questa è la configurazione appropriata in un ambiente aziendale, ad esempio, quando inoltri le richieste allufficio centrale.
A seconda della tua situazione, in cui le tue richieste inoltrate allesterno, ti consiglio di non fare alla cieca forward only
per non inoltrare le richieste DNS dellintervallo di indirizzi IP privati / DNS locali / domini Windows per le gerarchie superiori / server dei nomi principali.
Commenti
- btw, OpenDNS (e altri) supportano linoltro crittografato. Lo faccio a casa.
- Oh fantastico, per favore fornisci le modifiche quando puoi ^^ Vorrei usare linoltro crittografato così posso sbarazzarmi di uno stupido provider router dns enforcer che riscrive i pacchetti dns!
- apri una nuova domanda e commenta con il mio utente; in questo modo verrà documentato e non confonderemo argomenti / domande.
- Ok lo farò 🙂 Prima caffè poi scriverò la nuova domanda!
- Lho visto ora .. .più complesso di quanto stavo aspettando in realtà. Risponderò più tardi.