2012-06-22 8 views
31

Sto cercando di trovare la clausola di registrazione perfetta in named.conf che mi consenta di abilitare i registri di livello completo per il servizio denominato. Qualcuno può dare un esempio qui? La mia attuale clausola è riportata qui sotto, ma questo genera log molto minimi.Come abilitare la registrazione completa named/bind/DNS?

logging { 
    channel querylog{ 
      file "/var/log/querylog"; 
      severity debug 10; 
      print-category yes; 
      print-time yes; 
      print-severity yes; 
      }; 
    category queries { querylog;}; 
}; 

risposta

66

Espandendo di solito ogni registro nel proprio canale e quindi in un file di registro separato, è certamente più semplice quando si tenta di eseguire il debug di problemi specifici. Quindi la mia sezione di registrazione è la seguente:

logging { 
    channel default_file { 
     file "/var/log/named/default.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel general_file { 
     file "/var/log/named/general.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel database_file { 
     file "/var/log/named/database.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel security_file { 
     file "/var/log/named/security.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel config_file { 
     file "/var/log/named/config.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel resolver_file { 
     file "/var/log/named/resolver.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-in_file { 
     file "/var/log/named/xfer-in.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-out_file { 
     file "/var/log/named/xfer-out.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel notify_file { 
     file "/var/log/named/notify.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel client_file { 
     file "/var/log/named/client.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel unmatched_file { 
     file "/var/log/named/unmatched.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel queries_file { 
     file "/var/log/named/queries.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel network_file { 
     file "/var/log/named/network.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel update_file { 
     file "/var/log/named/update.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dispatch_file { 
     file "/var/log/named/dispatch.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dnssec_file { 
     file "/var/log/named/dnssec.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel lame-servers_file { 
     file "/var/log/named/lame-servers.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 

    category default { default_file; }; 
    category general { general_file; }; 
    category database { database_file; }; 
    category security { security_file; }; 
    category config { config_file; }; 
    category resolver { resolver_file; }; 
    category xfer-in { xfer-in_file; }; 
    category xfer-out { xfer-out_file; }; 
    category notify { notify_file; }; 
    category client { client_file; }; 
    category unmatched { unmatched_file; }; 
    category queries { queries_file; }; 
    category network { network_file; }; 
    category update { update_file; }; 
    category dispatch { dispatch_file; }; 
    category dnssec { dnssec_file; }; 
    category lame-servers { lame-servers_file; }; 
}; 

Spero che questo aiuti.

+0

Grazie per l'informazione. Ma il problema qui è che ho i file di zona in loop all'interno di una singola cartella, per ogni dominio. Per esempio, ad esempio, ho circa 6 file sottozona che usano la clausola INCLUDE all'interno del file della zona master. Mi piacerebbe conoscere il particolare file di zona da cui la query sta estraendo le informazioni. Ho aggiunto la tua clausola di log nel mio binding. Verificherà e ti farà sapere se è d'aiuto. Grazie per l'aiuto. – deppfx

+2

Dubito che sia effettivamente possibile, e la registrazione standard non ti darebbe quel livello di dettaglio. BIND carica i file di zona in memoria all'avvio in modo che i file stessi non abbiano significato una volta avviato, è solo una zona completa. L'attivazione della modalità di debug in BIND potrebbe fornire ulteriori livelli di dettaglio, ma causerà un'enorme quantità di registrazione che avrà un impatto negativo sulle prestazioni del server DNS. –

+0

Perché pensi che registrare tutto per separare i file è meglio per il debug? Fai attenzione anche ai messaggi di log inutili nella maggior parte dei canali quando il tuo server è occupato. – alexsergeyev

12

Eseguire il comando "rndc querylog on" o aggiungere "querylog yes;" to named.conf "options {};" sezione per attivare quel canale.

Assicurati inoltre di controllare la directory corretta se il bind è in corso.

+0

Ho BIND 9.9.4 su centos7, provo ad aggiungere "querylog on;" alla sezione delle opzioni, ma il nome non è stato riavviato. Nel diario ho avuto '/etc/named.conf:30: booleano atteso vicino 'on'' – DeamonMV

+0

Penso che potrebbe essere querylog sì; nel file di configurazione, potrei aver scambiato param di rndc con l'opzione config. – alexsergeyev

Problemi correlati