DNSキャッシュ · 1 min read · Oct 03, 2025

djbdnsを使用したDNSキャッシュの作成

djbdnsを使用したDNSキャッシュの作成

ローカルDNSキャッシュを構築すると、インターネット接続が速くなります。これは、「翻訳作業」(ドメイン名をIPアドレスに変換する)の時間が無視できるほど短くなるためです。DNSキャッシュが親DNSから情報を取得することを前提としています。

FreeBSDはすでに各リリースにbindを含んでいますが、私はdjbdnsを使用することを好みます。

FreeBSDでポートを使用してローカルDNSキャッシュを構築する簡単な方法:

1. djbdnsポートのインストール

su-2.05b# whereis djbdns  
djbdns: /usr/ports/dns/djbdns  
su-2.05b# cd /usr/ports/dns/djbdns && make install clean

OKを押すと、インストールプロセスが始まります。

2. 設定

# pw groupadd nofiles -g 800  
# pw useradd dnslog   -g nofiles -u 810 -d /nonexistent -s /sbin/nologin  
# pw useradd dnscache -g nofiles -u 811 -d /nonexistent -s /sbin/nologin

これらのコマンドは、nofilesグループとdnslogおよびdnscacheユーザーを追加します。

# dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1  
# ln -s /etc/dnscache /var/service  
# echo ‘nameserver 127.0.0.1? >/etc/resolv.conf

これらのコマンドは、IPアドレス127.0.0.1をそのコンピュータ専用のDNSキャッシュにします。

ネットワーク内でDNSキャッシュを使用できるようにするために、さらにコマンドを発行する必要があります:

# dnscache-conf dnscache dnslog /etc/dnscache 192.168.1.1  
# touch /etc/dnscache/root/ip/192.168.1  
# ln -s /etc/dnscache /var/service

これで、各クライアントは192.168.1.1を有効なDNSリゾルバとして追加できます:

「daemontools」の機能を使用するには、rc.confにこのエントリを追加する必要があります:

svscan_enable=”YES”

最初は手動で起動する必要があります:

su-2.05b# /usr/local/etc/rc.d/svscan.sh start

実行中のサービスを確認:

su-2.05b# ps -ax | grep dns
338  ??  I      0:00.03 supervise dnscache  
90515  ??  S      0:03.51 /usr/local/bin/dnscache

dnscacheが「本当に動作している」かどうかを確認するには:

su-2.05b# tail -f /etc/dnscache/log/main/current

出力例:

su-2.05b# tail -f /etc/dnscache/log/main/current  
@4000000046375a22168f3ee4 cached 1 i.gtld-servers.net.  
@4000000046375a22168fcf6c cached 1 j.gtld-servers.net.  
@4000000046375a2216905ff4 cached 1 k.gtld-servers.net.  
@4000000046375a221690ec94 cached 1 l.gtld-servers.net.  
@4000000046375a2216917d1c cached 1 m.gtld-servers.net.  
@4000000046375a22169209bc cached 1 a.gtld-servers.net.  
@4000000046375a221692c154 cached 1 b.gtld-servers.net.  
@4000000046375a22169351dc cached 1 c.gtld-servers.net.  
@4000000046375a221693de7c cached 1 d.gtld-servers.net.  
@4000000046375a2216945794 tx 0 255 mx44.alanistz.com. com. c005061e c0304f1e c036701e c023331e c037531e c02a5d1e c01a5c1e c0210e1e c029a21e c00c5e1e c02bac1e c01f501e c034b21e  
@4000000046375a222673d964 rr cc4a7021 86400 1 mx74mi.clarmu.info. d035034a  
@4000000046375a2226787514 rr cc4a7021 86400 1 mx144pb.clarmu.info. 42212090  
@4000000046375a222678889c rr cc4a7021 86400 1 mx174hi.clarmu.info. 42f890ae  
@4000000046375a222678983c rr cc4a7021 86400 1 mx187tr.clarmu.info. 416f11bb  
@4000000046375a222678abc4 rr cc4a7021 86400 1 mx204pa.clarmu.info. 42217dcc  
@4000000046375a222678bb64 rr cc4a7021 86400 ns clarmu.info. mx74mi.clarmu.info.  
@4000000046375a222678ceec rr cc4a7021 86400 ns clarmu.info. mx204pa.clarmu.info.  
@4000000046375a222678de8c rr cc4a7021 86400 ns clarmu.info. mx187tr.clarmu.info.  
@4000000046375a222679059c rr cc4a7021 86400 ns clarmu.info. mx174hi.clarmu.info.  
@4000000046375a222679153c rr cc4a7021 86400 ns clarmu.info. mx144pb.clarmu.info.  
@4000000046375a22267924dc stats 379 144625 13 0  
@4000000046375a2226793864 cached 1 mx74mi.clarmu.info.  
@4000000046375a2226794804 cached 1 mx204pa.clarmu.info.  
@4000000046375a22267957a4 cached 1 mx187tr.clarmu.info.  
@4000000046375a2226796744 cached 1 mx174hi.clarmu.info

おめでとうございます。あなたのDNSキャッシュは正常に動作しています。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。