DNSサーバー · 1 min read · Oct 02, 2025
CentOS上のクリーンなdjbDNS DNSサーバー - dnscacheとtinydns - AからZ
CentOS上のクリーンなdjbDNS DNSサーバー - dnscacheとtinydns - AからZ
djbDNSとは何ですか?そして、なぜ私たちはdjbDNSを使用するのですか?DNSサービスを提供するための新しい視点があります - 各DNSサーバーの機能は、権威、キャッシュ、フォワードなどの別々のサービスです。もう一つの違いは、ゾンビを防ぐためにサービスを迅速に再起動するデーモンツールです。
要件:
CentOS 5.4のクリーンインストール
rootとしてログインします。
# yum update# yum install gcc# mkdir pkg# cd pkg最初のステップは、デーモンツールをインストールすることです:
# cd ~/pkg# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz# gunzip daemontools-0.76.tar# tar -xpf daemontools-0.76.tar# rm -f daemontools-0.76.tar# cd admin/daemontools-0.76# vi src/conf-ccgcc行の最後に次の行を追加します:
-include /usr/include/errno.h# ./package/installdjbDNSが機能するために準備する必要があるもう一つのパッケージはucspiです:
# cd ~/pkg# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz# gunzip ucspi-tcp-0.88.tar# tar -xf ucspi-tcp-0.88.tar# cd ucspi-tcp-0.88# vi src/conf-ccgcc行の最後に次の行を追加します:
-include /usr/include/errno.h# make# make setup check次のステップはドキュメントの公開です:
# cd ~/pkg# wget http://cr.yp.to/djbdns/doc.tar.gz次に、/docの下にドキュメントを解凍します:
# gunzip < doc.tar.gz | (cd /; tar -xf -)システムドキュメントにマージするためのスクリプトを使用します:
#!/bin/sh
for i in packages commands cfunctions fileformats
do
sort -f /dev/null `find /doc/merge -name $i.html` > /doc/$i.new
mv /doc/$i.new /doc/$i.html
doneスクリプトをファイルに保存します: script.sh
# chmod +x script.sh# ./script.sh# cd ~/pkg# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz# gunzip djbdns-1.05.tar# tar -xf djbdns-1.05.tar# cd djbdns-1.05# vi src/conf-ccgcc行の最後に次の行を追加します:
-include /usr/include/errno.h# make# make setup checkすべてのコンパイルが完了しました。
次のステップはDNSサーバーの設定です。
DNSCACHE
2つのシステムユーザーアカウントを作成します:
# useradd -d /var/dnscache -s /bin/false dnscache# useradd -d /var/dnscache -s /bin/false dnslogキャッシュを設定します:
# dnscache-conf dnscache dnslog /var/dnscache/dnscache 例: dnscache-conf dnscache dnslog /var/dnscache/dnscache 192.168.20.1
ネットワークの残りの部分がdnscacheにクエリできるようにします:
# touch /var/dnscache/dnscache/root/ip/例: touch /var/dnscache/dnscache/root/ip/192.168
dnscacheをsvscanによって監視されるサービスのリストに追加します:
# ln -sf /var/dnscache/dnscache /service/ms-windowsが好きな場合…すべてが正しく配置されていることを確認するために再起動することができます。
ここでのポイントは、キャッシュサーバーからクエリできないことです。なぜなら、クライアントが逆モードで解決できるようになったからです。
前述のように、これはDNSキャッシュのセキュリティ機能の一つで、クライアントを逆チェックします。次のステップでは、私たちのために機能するtinydnsに取り組みます。
DNSTINY
再び、2つのシステムユーザーアカウントが必要です:
# useradd -d /var/dnscache -s /bin/false tinydns# useradd -d /var/dnscache -s /bin/false tinylog# tinydns-conf tinydns tinylog /var/dnscache/tinydns 127.0.0.1今、DNSデータベースにノードを追加する時間です:
# cd /var/dnscache/tinydns/root# ./add-ns internal 192.168.20.1# ./add-ns 20.168.192.in-addr.arpa 192.168.20.1# ./add-mx internal 192.168.20.2# ./add-host ns.internal 192.168.20.1# ./add-host mail.internal 192.168.20.2# ./add-alias unagi.internal 192.168.20.2# makeこれらのノードは、手動で編集できるデータベースファイル/var/dnscache/tinydns/root/dataに保存されます。
最後のステップはDNSサービスの起動です:
# ln -sf /var/dnscache/tinydns /service新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。