000758:HP ML110 G5にFreeBSD 7.0-RELEASEを導入する(2)
前回の続きです。
7:dns関連の設定
バーチャル山中家のサーバは、
- バーチャル山中家ローカルのdnsサーバ
- インターネット向けのdnsサーバ
- バーチャル山中家の各マシンに対するdnsリゾルバ
を担います。
好みの問題もあり、面倒なBINDではなく、シンプルなdjbdnsを使用します。
まず、portinstall sysutils/daemontools します。
終わったら /etc/rc.conf に svscan_enable="YES" と追記します。
mkdir /var/service して /usr/local/etc/rc.d/svscan.sh start してみると、Starting svscan. と表示されました。OK、OK。
ps -aux | grep svscan してみると、
root 49425 0.0 0.1 3104 600 ?? S 6:19AM 0:00.00 /usr/local/bin/svscan /var/service
となりました。
さて、山中家ではdnsサーバを2つ起動する予定なので、IPアドレスを2つ用意します。
/etc/rc.conf に ifconfigbge0="inet 192.168.1.1 netmask 255.255.255.0" のような行があるはずです。(bge0の部分はネットワークインターフェースの違いで変わります。)
この行の下に、ifconfigbge0_alias0="inet 192.168.1.201 netmask 255.255.255.0" という感じで追記します。
すると、この1つのインターフェースに2つのIPアドレスが割り当てられます。
山中家では192.168.1.1を内部用、192.168.1.201を外部用としました。
外部からのDNSリクエストは、ルーターにて192.168.1.201に向けられます。
次に、portinstall dns/djbdns します。依存性にて sysutils/ucspi-tcp もインストールされます。
/etc/passwd ファイルに
dnscache::71:71::0:0:DNS cache:/noexistent:/usr/sbin/nologin dnslog::72:71::0:0:DNS log:/noexistent:/usr/sbin/nologin tinydns:*:73:71::0:0:DNS server:/noexistent:/usr/sbin/nologin
を追加します。
/etc/group ファイルに
dns:*:71:
を追加します。
7.1:内部用DNSサーバの設定
tinydns-conf tinydns dnslog /usr/local/etc/tinydns-i 127.0.0.1 を実行して、内部用設定を作成します。
/usr/local/etc/tinydns-i/root/data を編集して、アドレスの一覧を作成します。
保存したら make し、data.cdb を作成します。
最後に、ln -s /usr/local/etc/tinydns-i /var/service/tinydns-i を実行して、起動用のシンボリックリンクを作成します。
7.2:外部用DNSサーバの設定
tinydns-conf tinydns dnslog /usr/local/etc/tinydns-o 192.168.1.202 を実行して、外部用設定を作成します。
/usr/local/etc/tinydns-o/root/data を編集して、アドレスの一覧を作成します。
保存したら make し、data.cdb を作成します。
最後に、ln -s /usr/local/etc/tinydns-o /var/service/tinydns-o を実行して、起動用のシンボリックリンクを作成します。
7.3:dnscacheの設定
dnscache-conf dnscache dnslog /usr/local/etc/dnscache 192.168.1.2 を実行して、リゾルバ用設定を作成します。
山中家のローカル(192.168.1.*)からの問い合わせに答えるように、
cd /usr/local/etc/dnscache/root/ip touch 192.168.1
します。
また、ローカル内の問い合わせについては、ローカルで処理するように、
cd /usr/local/etc/dnscache/root/servers echo 127.0.0.1 > yamanakake.com echo 127.0.0.1 > yamanakas.net echo 127.0.0.1 > wty.dyndns.org echo 127.0.0.1 > 1.168.192.in-addr.arpa
さらに、flets については flets に聞くように、
echo 10.60.21.72 > flets
それ以外はプロバイダに聞くように、
cd /usr/local/etc/dnscache/env echo 1 > FORWARDONLY cd ../root/servers ee @
202.224.32.1 202.224.32.2 ・・・
とします。
最後に、ln -s /usr/local/etc/dnscache /var/service/dnscache を実行して、起動用のシンボリックリンクを作成します。
(2008/06/19 18:00より、DNSサービスを新サーバに移行しました。)