Frage
Sie möchten herausfinden, welche Resolver und Nameserver einen Nameserver abfragen.
Antwort
Die Protokollierung von Bindungsabfragen kann sehr praktisch sein, wenn Sie ein Problem beheben. Allerdings erzeugt es sehr schnell viel Output. Stellen Sie daher auf einem ausgelasteten Nameserver sicher, dass Sie ihn für kurze Zeit aktivieren, bis Sie das Problem behoben haben.
Schalten Sie die Protokollierung von Bindungsabfragen ein
1. Um Client-DNS-Abfragen zu identifizieren, muss das Bind-Abfrageprotokoll aktiviert werden. Aktivieren Sie für BIND 9 die Abfrageprotokollierung mit:
# rndc querylog
Verwenden Sie für BIND 8 den folgenden Befehl, um die Abfrageprotokollierung zu aktivieren:
# ndc querylog
2. Die Abfragen werden in der Datei /var/log/messages protokolliert. Der Nameserver protokolliert jedes Mal eine einzeilige Nachricht, wenn er eine Anfrage erhält. Für BIND 9 sehen die Meldungen so aus:
Feb 5 09:12:11 ns1 named[80090]: client 192.168.10.12#3261: query: www.server.example IN A
Dies teilt uns mit, dass unser Nameserver eine Anfrage vom Client unter 192.168.10.12, Port 3261, nach A-Records erhalten hat, die an www.server.example in der Internet-Klasse angehängt sind.
3. Auf einem BIND 8-Nameserver sehen die Nachrichten so aus:
Feb 5 09:53:52 ns1 named[80323]: XX+/192.168.10.12/www.server.example/A/IN
Hier sind die meisten Informationen mit Ausnahme der Formatierung die gleichen wie bei Bind 9. Die „XX+ “ am Anfang zeigt an, dass es sich um eine rekursive Abfrage handelt. Nicht rekursive Abfragen zeigen nur „XX. „.
Bind-Abfrageprotokollierung deaktivieren
Verwenden Sie zum Deaktivieren der Bind-Abfrageprotokollierung denselben Befehl, der zum Aktivieren verwendet wurde.
# rndc querylog
Abfrageprotokoll dauerhaft in der Konfiguration aktivieren
1. Die Abfrageprotokollierung kann auch aktiviert werden, indem die Abfragekategorie explizit an einen Kanal im Protokollierungsabschnitt von named.conf geleitet wird oder indem querylog yes angegeben wird; im Optionsabschnitt von named.conf.
# vi /etc/named.conf ... options { querylog yes; } ... logging { channel querylog { file "/var/log/querylog"; severity debug 3; }; };
Abfragen werden in /var/log/querylog.
protokolliert2. Erstellen Sie die Protokolldatei, in der Abfragen protokolliert werden.
touch /var/log/querylog
3. Ändern Sie den Eigentümer.
# chown named.named /var/log/querylog
4. Named Service neu starten
# service named restart