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の部分はネットワークインターフェースの違いで変わります。)
この行の下に、ifconfig
bge0_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サービスを新サーバに移行しました。)