Esempio di configurazione delle View con Bind

Segue un esempio di configurazione del server DNS Bind con il supporto delle View per risolvere gli indirizzi del dominio "miodominio.it" in diverso modo a seconda se i client hanno IP 192.168.0.0/24 o no.
Ovviamente l'esempio č configurabile ed adattabile a diversi casi, sono inoltre inclusi settaggi particolari, adatti per ogni occasione, per il logging e la gestione di chi puņ eseguire query sul server.
Sono evidenziati i parametri che vanno cambiati e adattati al proprio caso, altri parametri  non usati sono generalmente validi ma possono comunque essere rifiniti.

Esempio di /ETC/NAMED.CONF
options {
// Directory di default in cui vanno scritti i file di zona e altri dati. DA SPECIFICARE
    directory "/var/named";

// Eventuale Indirizzo IP del server DNS a cui il server locale rivolge tutte le query (commentato)
    // forwarders {
    //    10.42.42.1;
    //    };
    
// File in cui viene registrato il dump della cache quando si esegue "rndc dump"
    dump-file "/var/named/dumpdb";

// File in cui sono scritte varie statistiche quando si esegue "rndc stat"
    statistics-file "/var/named/stats";
    
// IP da cui di DEFAULT si accettano query DNS
// Attenzione: Per domini di cui si è autoritativi, si deve accettare query da ogni IP
    allow-query {
        10.42.42.0/24;
        192.168.0.0/24;
        };
    
// IP da cui si accettano query ricorsive: il server locale effettua query in rete per conto del client
    allow-recursion {
        10.42.42.0/24;
        192.168.0.0/24;
        };

// IP di default da cui si accettano zone-transfer: sono gli IP dei server secondari
    allow-transfer {
        10.42.42.1;
        };

// Notifica ai server secondary eventuali modifiche ai file di zone per cui si è primari
    notify yes;

// Modifica la visualizzazione della versione di Bind (possibile tramite query tipo:
dig @ns.miodominio.it version.bind chaos txt . In questo caso non si visualizza nulla

    version "" ;
};

// Abilita il logging di TUTTE le query DNS sul file /var/log/named-query.log e di ogni informazioni relative la sicurezza (in particolare zone transfer negati) su /var/log/named-auth.log
logging {
        channel "security_info" {
                file "/var/log/named-auth.log" versions 3 size 20m;
                severity info;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "query_logging" {
                file "/var/log/named-query.log" versions 3 size 20m;
                severity info;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
category "security" { "security_info"; };
category "queries" { "query_logging"; };
};

// View per client Pubblici - Usa un file di zona con gli IP pubblici: /var/named/miodominio.it-public
// Si applica a tutti gli IP esclusi 192.168.0.0/24
// Include, come la view private, un file di configurazione con impostazioni comuni


view public {
    match-clients {
        ! 192.168.0.0/24 ;
        any;    
        };
    zone "miodominio.it" {
        type master;
        file "/var/named/miodominio.it-public";
        allow-query {
        0/0;
        };
    };
    include "/etc/named.common" ;
};

// View per client Interni - Usa un file di zona separato: /var/named/miodominio.it-private

view inter {
    match-clients {
        192.168.0.0/24;
        };
    zone "miodominio.it" {
        type master;
        file "/var/named/miodominio.it-private";
        };
    };
    include "/etc/named.common" ;
};


Esempio di file di configurazione che viene incluso (in comune alle diverse view): /ETC/NAMED.COMMON
    zone "." {
        type hint;
        file "/var/named/db.cache";
        };
    zone "localhost" {
        type master;
        file "localhost";
        allow-update{none;};
        };
    zone "0.0.127.in-addr.arpa" {
        type master;
        file "localhost.reverse";
        allow-update{none;};
        };


Esempio di file di zona /VAR/NAMED/MIODOMINIO.IT-PUBLIC
Questo è un esempio di file di zona, configurato per la view pubblica. Da notare:
- I due server NS autoritativi sono su due reti separate per migliore ridondanza
- I CNAME (alias) e gli altri record in cui si usa un hostname, hanno un punto alla fine del nome dell'hostname
- Tutti i parametri relativi a nomi di host, dominio e indirizzi IP vanno ovviamente modificati e adattati al proprio caso

$ORIGIN .
$TTL 86400      ; 1 day
miodominio.it                IN SOA  ns.miodominio.it. root.miodominio.it. (
                                2004102501 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                2592000    ; expire (4 weeks 2 days)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.miodominio.it.
                        NS      ns2.miodominio.it.
                        MX      10 mail.miodominio.it.
                        MX      20 mailbackup.miodominio.it.

$ORIGIN miodominio.it.
ftp                     CNAME   www.miodominio.it.
www                     A       213.215.144.244
ns                      A       213.215.144.245
ns2                     A       217.56.35.9
mail                    A       213.215.144.242
mailbackup              CNAME   ns.miodominio.it.


Esempio di file di zona /VAR/NAMED/MIODOMINIO.IT-PRIVATE
Analogo al file di zona precedente, quello che segue risolve alcuni hst con indirizzi diversi (potrebbero essere IP privati che vengono nattati con gli IP pubblici precedentemente indicati.
$ORIGIN .
$TTL 86400      ; 1 day
miodominio.it                IN SOA  ns.miodominio.it. root.miodominio.it. (
                                2004102501 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                2592000    ; expire (4 weeks 2 days)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.miodominio.it.
                        NS      ns2.miodominio.it.
                        MX      10 mail.miodominio.it.
                        MX      20 mailbackup.miodominio.it.

$ORIGIN miodominio.it.
ftp                     CNAME   www.miodominio.it.
www                     A       192.168.0.244
ns                      A       192.168.0.245
ns2                     A       217.56.35.9
mail                    A       192.168.0.242
mailbackup              CNAME   ns.miodominio.it.

Privacy Policy