dnscache
研究室が新たに立ち上がったので,ドメインを取ったり,メールサーバあげたり,
DNS サーバあげたりと大忙し. とりあえず MTA は qmail でいけばいいんだけど,
DNS サーバはどうしよう. ってことで誰も試していない, 高速,簡単,堅牢な
dnscache
を入れてみた. 以下, install log.
dnscache の install
用意するもの
以下のものは必要に応じて入れる
下準備
-
daemontools の install
- % tar xvzf daemontools-0.70.tar.gz
% cd daemontools-0.70
% vi conf-home (prefix を指定. default は /usr/local)
% make
% su
# make setup check
# mkdir /service
# chmod 755 /service
# vi /usr/local/etc/rc.d/svscan.sh
# chmod +x /usr/local/etc/rc.d/svscan.sh
# /usr/local/etc/rc.d/svscan.sh
make, install
-
- % tar xvzf dnscache-1.00.tar.gz
% cd dnscache-1.00
% vi conf-home (prefix を指定. default は /usr/local. 以下, vipw
での赤字の部分をこれに合わせて変更する)
------------------------------------------------
/usr/local/dns
This is the dnscache home directory. Programs will be installed in
.../bin.
------------------------------------------------
% make
# make setup check
-
document の install (optional)
- # cd /usr/local/
# tar xvzf $somewhere/doc.tar.gz
# cd doc
# sort -ft'>' +1 merge/*/packages.html > packages.html.new
# mv packages.html.new packages.html
# sort -ft'>' +1 merge/*/commands.html > commands.html.new
# mv commands.html.new commands.html
# sort -ft'>' +1 merge/*/libraries.html > libraries.html.new
# mv libraries.html.new libraries.html
設定
- local cache
- local cache は localhost のみの為の dns の cache を行なう.
(要するに /etc/resolv.conf に 127.0.0.1 と記述して利用する)
ノートで起動しておく時にお勧め.
- external cache
- local cache と異なり,他のマシンへの名前引きのサービスを
提供する.
- DNS server
- hoge.com 等のドメイン以下の全てのマシン名を管理する時に使う.
逆引きも当然設定可能.
local cache の設定
- dnscache, dnslog というアカウントを用意.
# vi /etc/group
------------------------------------------------
dns:*:2100:
------------------------------------------------
# vipw
------------------------------------------------
dnscache:*:8000:2100::0:0::/usr/local/dns:/usr/bin/true
dnslog:*:8001:2100::0:0::/usr/local/dns:/usr/bin/true
------------------------------------------------
- /etc/dnscache 以下を用意.
# dnscache-conf dnscache dnslog /etc/dnscache
- svscan(daemontools で install して,起動中のもの)に
dnscache の service が加わったことを伝える.
# ln -s /etc/dnscache /service
- 確認
# vi /etc/resolv.conf
----------------------------
nameserver 127.0.0.1
----------------------------
# nslookup funa.org.
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: funa.org
Address: 133.72.40.68
おしまい. 一度 cache されると次からはかなり高速. 快適.
external cache の設定
- dnscache, dnslog というアカウントを用意.
# vi /etc/group
------------------------------------------------
dns:*:2100:
------------------------------------------------
# vipw
------------------------------------------------
dnscache:*:8000:2100::0:0::/usr/local/dns:/usr/bin/true
dnslog:*:8001:2100::0:0::/usr/local/dns:/usr/bin/true
------------------------------------------------
- /etc/dnscachex 以下を用意.
# dnscache-conf dnscache dnslog /etc/dnscachex 1.2.3.4
最後の IP は external cache を起動するマシン(つまりはこの作業をし
ているマシン)の IP を記述する.
- svscan(daemontools で install して,起動中のもの)に
dnscachex の service が加わったことを伝える.
# ln -s /etc/dnscachex /service
- このままでは全てからのアクセスを拒否しているので,
アクセス(名前の問い合わせ)を許可するネットワークアドレスを
設定する.
# touch /etc/dnscachex/root/ip/1.2.3
- 確認
# vi /etc/resolv.conf
----------------------------
nameserver 1.2.3.4
----------------------------
# nslookup funa.org.
Server: gw.geho.com
Address: 1.2.3.4
Non-authoritative answer:
Name: funa.org
Address: 133.72.40.68
おしまい.
DNS server の設定
- tinydns, dnslog というアカウントを用意.
# vi /etc/group
------------------------------------------------
dns:*:2100:
------------------------------------------------
# vipw
------------------------------------------------
dnslog:*:8001:2100::0:0::/usr/local/dns:/usr/bin/true
tinydns:*:8002:2100::0:0::/usr/local/dns:/usr/bin/true
------------------------------------------------
- /etc/tinydns 以下を用意.
# tinydns-conf tinydns dnslog /etc/tinydns 1.2.3.4
最後の IP は DNS server を起動するマシン(つまりはこの作業をしてい
るマシン)の IP を記述する.
- svscan(daemontools で install して,起動中のもの)に
tinydns の service が加わったことを伝える.
# ln -s /etc/tinydns /service
- geho.com の問い合わせにはこのマシンが答える様に
設定する.
# cd /service/tinydns/root
# ./add-ns geho.com 1.2.3.4
# ./add-ns 3.2.1.in-addr.arpa 1.2.3.4
# make
- geho.com の MX を設定する.
# cd /service/tinydns/root
# ./add-mx geho.com 1.2.3.5
# make
- {gw,funasoul,daemon}.geho.com の IP を登録
# ./add-host gw.geho.com 1.2.3.4
# ./add-host funasoul.geho.com 1.2.3.5
# ./add-host daemon.geho.com 1.2.3.6
# make
注意点
- external cache と DNS server を同じマシン(1 NIC)で起動することがで
きない. (UDP の 53番をどちらも使用するため)
- local cache と DNS server は同時に使用可能.
Generated with
mkdiary.pl
Back to
my diary