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-cc

gcc行の最後に次の行を追加します:

-include /usr/include/errno.h
# ./package/install

djbDNSが機能するために準備する必要があるもう一つのパッケージは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-cc

gcc行の最後に次の行を追加します:

-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-cc

gcc行の最後に次の行を追加します:

-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
Share: X/Twitter LinkedIn

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

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