pdnsd で DNS キャッシュサーバの構築
BIND は度々セキュリティーホールが見つかる ( ユーザ数が多いのである意味必然かもしれませんが ) し、 djbdns は設定に難があるし・・・と DNS ( キャッシュ ) サーバの導入に躊躇していた方はこの pdnsd で解決できるかもしれません。
また、本記事は jail 環境下での構築例になります。
pdnsd のインストール
ports からインストールします。
# cd /usr/ports/dns/pdnsd/
# make -DBATCH WITHOUT_IPV6=yes install clean
# chmod 644 /usr/local/etc/pdnsd.conf
基本的な設定
# vi /usr/local/etc/pdnsd.conf
global {
perm_cache=2048;
cache_dir="/var/db/pdnsd";
# pid_file = /var/run/pdnsd.pid;
run_as="nobody";
server_ip = jailのIP; # Use eth0 here if you want to allow other
# machines on your network to query pdnsd.
status_ctl = on;
# paranoid=on; # This option reduces the chance of cache poisoning
# but may make pdnsd less efficient, unfortunately.
query_method=udp_tcp;
min_ttl=15m; # Retain cached entries at least 15 minutes.
max_ttl=1w; # One week.
timeout=10; # Global timeout option (10 seconds).
}
自動起動の設定
# printf "\n# pdnsd\npdnsd_enable=yes\n" >> /etc/rc.conf
起動
# /usr/local/etc/rc.d/pdnsd start