BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

DNS Cache verwenden

Auf FreeBSD ist es möglich, DNS Abfragen lokal zwischenzuspeichern. Dazu kann ab FreeBSD 7.0 der nscd verwendet werden, welcher bereits im FreeBSD Basissystem vorhanden ist. Dieser muss zuerst in der /etc/rc.conf aktiviert werden:

# echo 'nscd_enable="YES"' >> /etc/rc.conf

Konfiguriert wird nscd in der /etc/nscd.conf. Falls man den nscd nur zum Zwischenspeichern von DNS Lookups verwenden möchte, kann man alle anderen Dienste auf no stellen:

enable-cache passwd no
enable-cache group no
enable-cache hosts yes
enable-cache services no
enable-cache protocols no
enable-cache rpc no
enable-cache networks n

Danach kann der nscd gestartet werden:

# /etc/rc.d/nscd start

Nun muss noch in der /etc/nsswitch.conf mit dem cache-Schlüsselwort angegeben werden, in welcher Reihenfolge DNS Lookups gemacht werden sollen. In folgendem Beispiel wird immer zuerst der DNS Cache abgefragt.

hosts: cache files dns

Falls man irgendwann die gespeicherten DNS Lookups löschen muss, kann die -i Option von nscd verwendet werden:

# nscd -i host 

Mehr Informationen zu nscd findet man in der Manpage nscd(8) und nscd.conf(5).

Comments (1)  Permalink

Comments

Ihsan Dogan @ 29.06.2008 15:31 UTC
Ich würde in der nsswitch.conf das auf "files cache dns" setzen, damit in einem Fehlerfall die Auflösung noch funktioniert.

Ich habe ausserdem festgestellt, dass unter 7.0 der ncsd nach längerer Laufzeit Probleme bekommt. Der Effekt war, dass gewisse Hostnamen nicht mehr aufgelöst wurden. Nach einem restart des nscd war das Problem weg.
No new comments allowed (anymore) on this post.