DNSサーバーを稼動させる

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

ここでは、DNS サーバーにて登録する情報を下記のように表記します。実際の設定時は各自の環境に合わせて変更してください。

ドメイン名 mydomain
PC PC名 IPアドレス
DNSサーバー(つまり自分) mypc 192.168.0.254
登録するPC pc1 192.168.0.2
登録するPC pc2 192.168.0.3
登録するPC pc3 192.168.0.4

ソフトウェアのインストール

Pather および Leopard の場合は特にインストールは必要なし。

Pather, Leopard ユーザーはここをクリックして次の項目へジャンプ!!

Tiger の場合は下記のように bind9 をインストールする。私が使用した bind は v9.3.1_1。

# port -d selfupdate
# port install bind9

設定

rndc キーの用意

$ su -
Password: ******* ... root のパスワードを入力

# rndc-confgen -a -b 512




named.conf の編集

# vi /etc/named.conf

-- 黄色部分が追加部分
// Declares control channels to be used by the rndc utility.
// It is recommended that 127.0.0.1 be the only address used.
// This also allows non-privileged users on the local host to manage
// your name server.
//
controls {
     inet 127.0.0.1 port 54 allow {any; };
};

options {
	directory "/var/named";
	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND 8.1 uses an unprivileged
	 * port by default.
	 */
	// query-source address * port 53;


	// BIND の利用を許可する範囲を設定。特になくても良いけど
	allow-query {
		127.0.0.1;
		192.168.0.0/24;
	};

	// 提議したホストのみゾーン転送を許可する。特になくても良い
	allow-transfer {
		127.0.0.1;
		192.168.0.0/24;
	};

	// mypc が問い合わせるべき外部の DNS サーバー
	// ルータのアドレスまたは
	// インターネットプロバイダの DNS アドレスを入れる
	// レスポンスに大きく関係するのでぜひ入れるべき
	forwarders {
		XX.XX.XX.XX;	// プライマリ DNS
		XX.XX.XX.XX;	// セカンダリ DNS
	};

};

// 
// a caching only nameserver config
// 
zone "." IN {
	type hint;
	file "named.ca";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "named.local";
	allow-update { none; };
};


// 正引き用の設定
zone "mydomain" {	// 使用するドメイン名
	type master;
	file "named.hosts";
};

// 逆引き用の設定
zone "0.168.192.in-addr.arpa" {	// 使用するアドレスの上位3つの逆
	type master;
	file "named.rev";
};

-- ここまで

mydomain.zone の作成

# vi /var/named/named.hosts

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値
;
	IN	NS	mypc.mydomain.
;
mypc	IN	A	192.168.0.254
pc1	IN	A	192.168.0.2
pc2	IN	A	192.168.0.3
pc3	IN	A	192.168.0.4

; ここから下はお好みで。別名の設定
dns	IN	CNAME	mypc
www	IN	CNAME	mypc
ftp	IN	CNAME	mypc
-- ここまで

named.rev の作成

# vi /var/named/named.rev

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値

	IN	NS	mypc.mydomain.	;最後のピリオド (.) を忘れずに

254	IN	PTR	mypc
2	IN	PTR	pc1
3	IN	PTR	pc2
4	IN	PTR	pc3
-- ここまで

DNS サーバーアドレスの書き換え

ネットワーク設定

mypc の [ネットワーク設定] にて DNS に 127.0.0.1 を設定して、ちゃんと自身の DNS を使用するようにしておく。

設定した後は、ちゃんと resolv.conf にて設定が反映されているか確認しよう。下記のようにすると確認ができる。

$ cat /etc/resolv.conf

-- 上記コマンドにて下記のように表示されれば OK 。
nameserver 127.0.0.1

このように表示されなかったら、もう一度ネットワーク設定を見直そう。

Mac 起動時に自動的に DNS (bind)を起動する

Leopard の場合

# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
ココをクリックして次の章へジャンプ。

Panther (10.3), Tiger (10.4) の場合

# cd /etc
# vi hostconfig

-- ファイル後半にある下記の行を黄色の様にする。
DNSSERVER=-YES- ... -NO- を -YES- にすることで起動時に bind が起動する

これにて、次回起動時より DNS が自動的に起動するようになる。今すぐ立ち上げたいときは下記のようにする。

# /System/Library/StartupItems/BIND/BIND start
BIND を再起動する際にも、いちいち stop してから start すること。もし restart を使った場合、named が追加で起動するようになり、設定を変更したとしても反映されなくなるので注意。
zone, rev (正引き・逆引き設定ファイル)を修正した場合、必ずシリアル番号を上げること。そうでないと設定が正しくロードされない。

テスト

  • BIND 起動時に system.log にて何かエラーが出ていないか確認する。
  • nslookup を起動して mypc や pc1 などと入れてちゃんと IP アドレスが表示されるか確認する。
  • nslookup を起動して 192.168.0.254 や 192.168.0.2 などと入れてちゃんと PC 名が表示されるか確認する。

参考サイト


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です