というわけで、まずはTigerBINDを常時動かすようにしてみる。

tiger-network-pref.png

ここでは、単にDNS cacheとして動かすに留める。要はDNS Serverとして127.0.0.1を指定できるようにするわけだ。Network Preferenceは左の図のようになる。「DNS サーバ」のみ、デフォルトの「自動」(ないし英語環境では"Automatic")から変更している。

はじめに

以下の作業は、当然であるがroot権限が必要である。sudo -sでroot権限を取得しておく。

さらに当然であるが、私、小飼 弾は以下の作業に関して一切の保証を謝絶する。おのおのの責任において利用して頂きたい。

/etc/named.conf

まずは、BINDの設定ファイルである/etc/named.confを設定する。残念ながらPantherの頃のように、デフォルトの設定では動かない。

cp -p /etc/named.conf /etc/named.conf.dist

とBackupを取った上で編集。diffだと以下のとおりとなる。

# diff -u /etc/named.conf.dist /etc/named.conf 
--- /etc/named.conf.dist        2005-04-30 02:21:39.000000000 +0900
+++ /etc/named.conf     2005-04-30 02:41:43.000000000 +0900
@@ -1,7 +1,7 @@
 //
 // Include keys file
 //
-include "/etc/rndc.key";
+//include "/etc/rndc.key";
 
 // Declares control channels to be used by the rndc utility.
 //
@@ -13,8 +13,8 @@
 // Default controls
 //
 controls {
-       inet 127.0.0.1 port 54 allow {any;}
-       keys { "rndc-key"; };
+       inet 127.0.0.1 port 54 allow {any;};
+       //keys { "rndc-key"; };
 };
 
 options {

要はrndc-keyに関する部分をコメントアウトしてしまうということだ。

/System/Library/LaunchDaemons/org.isc.named.plist

次は/System/Library/LaunchDaemons/org.isc.named.plistだ。こちらも
cp -p /System/Library/LaunchDaemons/org.isc.named.plist /System/Library/LaunchDaemons/org.isc.named.plist.dist

とBackupをとった上で編集する。

# diff -u  /System/Library/LaunchDaemons/org.isc.named.plist.dist /System/Library/LaunchDaemons/org.isc.named.plist 
--- /System/Library/LaunchDaemons/org.isc.named.plist.dist      2005-04-30 02:08:46.000000000 +0900
+++ /System/Library/LaunchDaemons/org.isc.named.plist   2005-04-30 02:09:34.000000000 +0900
@@ -3,7 +3,7 @@
 <plist version="1.0">
 <dict>
        <key>Disabled</key>
-       <true/>
+       <false/>
        <key>Label</key>
        <string>org.isc.named</string>
        <key>OnDemand</key>

見てのとおり、変更箇所は一カ所。LaunchDaemons以下のplist形式のファイルをつかむため、ここではファイル全体も以下に。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>Label</key>
        <string>org.isc.named</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/sbin/named</string>
                <string>-f</string>
        </array>
        <key>ServiceIPC</key>
        <false/>
</dict>
</plist>

launchctlで再スタート

あとは、以下のとおり。

# launchctl stop org.isc.named  # そもそも動いていないが念のため
# launchctl unload org.isc.named
# launchctl load org.isc.named # 念のため
# launchctl start org.isc.named

Dan the Tiger Tamer