Domanda
Vuoi scoprire quali risolutori e server dei nomi stanno interrogando un server dei nomi.
Risposta
La registrazione delle query di associazione può essere molto utile se si sta risolvendo un problema. Tuttavia genera un sacco di output molto rapidamente. Quindi su un server dei nomi occupato assicurati di abilitarlo per un breve periodo di tempo fino a quando non risolvi il problema.
Attiva la registrazione delle query di collegamento
1. Per identificare le query DNS dei client, è necessario abilitare il registro delle query di associazione. Per BIND 9, attiva la registrazione delle query con:
# rndc querylog
per BIND 8, utilizzare il comando seguente per abilitare la registrazione delle query:
# ndc querylog
2. Le query verranno registrate nel file /var/log/messages. Il server dei nomi registrerà un messaggio di una riga ogni volta che riceve una query. Per BIND 9, i messaggi hanno il seguente aspetto:
Feb 5 09:12:11 ns1 named[80090]: client 192.168.10.12#3261: query: www.server.example IN A
Questo ci dice che il nostro server dei nomi ha ricevuto una query dal client a 192.168.10.12, porta 3261, per i record A allegati a www.server.example nella classe Internet.
3. Su un server dei nomi BIND 8, i messaggi hanno il seguente aspetto:
Feb 5 09:53:52 ns1 named[80323]: XX+/192.168.10.12/www.server.example/A/IN
Qui la maggior parte delle informazioni sono le stesse di Bind 9, eccetto la formattazione. Il "XX+ ” all'inizio indica che si tratta di una query ricorsiva. Le query non ricorsive mostrano solo "XX. “.
Disattivazione della registrazione delle query di Bind
Per disattivare la registrazione della query Bind, utilizza lo stesso comando utilizzato per abilitarla.
# rndc querylog
Abilita querylog permanentemente in config
1. La registrazione delle query può essere abilitata anche indirizzando esplicitamente la categoria delle query a un canale nella sezione di registrazione di named.conf o specificando querylog yes; nella sezione delle opzioni di named.conf.
# vi /etc/named.conf ... options { querylog yes; } ... logging { channel querylog { file "/var/log/querylog"; severity debug 3; }; };
Le query verranno registrate in /var/log/querylog.
2. Crea il file di registro in cui verranno registrate le query.
touch /var/log/querylog
3. Cambia la proprietà.
# chown named.named /var/log/querylog
4. riavviare il servizio denominato
# service named restart