Instlation of Domain Name Server 'bind'
DNSサーバー bind の設定
バナー



○hostsファイルばいば〜い.(^^)/~~~

マシンの台数が増えてくると,hostsファイルで名前管理をするのが大変になってきます.(まぢ
そこで,DNSサーバーを建ててコイツで一括して名前管理をしようと思います.



○設定ファイルを自前で作る

named 本体は初めからインストールされているので,後は設定ファイルを用意してあげるだけです.
以下のファイル群が必要となります.

/etc/namedb/
 ・named.root:ルートキャッシュ情報
 ・localhost.rev:ローカルホストの逆引き設定ファイル
 ・named.boot:起動時に読み込む起動設定ファイル
 ・mydomain.db:正引き設定ファイル
 ・mydomain.rev:逆引き設定ファイル
※正引き:ホスト名からIPアドレスを聞き出す
※逆引き:IPアドレスからホスト名を聞き出す

named.root は,このまま使用すると勝手にダイヤルアップしてしまうので,新規作成することにします.
localhost.rev は,同ディレクトリに入っている make-localhost を使用して作成します.
named.boot は雛形があるので,それを修正します.
mydomain.xxx は自前で作成.

それでは順に作成していきましょう.

1.named.root
named.root サンプル

wyvern.griffonworks.or.jp. は貴方のbind が走るPCのFQDNなドメイン名に書き換えます.
なお,アドレスの最後に「.(ドット)」が入っていますが,これを入れないと正引き・逆引きが正確にできません.
192.168.1.2 は貴方の bind が走るPCのIPアドレスに書き換えます.
2.localhost.rev
/etc/namedb/ にて

# sh make-localhost

とすると作成できます.
3.named.boot
named.boot サンプル


directory	/etc/namedb    ; 変更不可

; type    domain		  source host/file	backup file
; タイプ  ドメイン名              ファイル名

cache     .                       named.root
primary   0.0.127.IN-ADDR.ARPA	  localhost.rev

primary   griffonworks.or.jp      gw.db
primary   1.168.192.IN-ADDR.ARPA  gw.rev

forwarders 203.141.98.1   ; このDNSで見つからなかったときに
                          ; 名前を引きに行く次のDNS

ここに出てくるドメイン名の最後には「.」はいりません.
ローカルDNSの設定ファイルである mydomain.dbmydomain.revgw.dbgw.rev に変更しています.
1.168.192.IN-ADDR.ARPA は,ローカルマシンのIPアドレスを逆さまに記述した後に IN-ADDR.ARPA を付けます. 0.0.127.IN-ADDR.ARPA も同じです.
griffonworks.or.jp はドメイン名です.ホスト名はいりません.
4.mydomain.db
正引き辞書ファイルです.
ここでは gw.db とします.

gw.db サンプル


@			IN	SOA	wyvern.griffonworks.or.jp.	root.wyver.griffonworks.or.jp. (
					1998110312	; シリアル番号
					3600		; シリアル番号のチェック間隔(秒)
					1000		; リトライ間隔(秒)
					3600000		; 有効時間(秒)
					3600 )		; 最小値(秒)
;
griffonworks.or.jp.	IN	NS	wyvern.griffonworks.or.jp.    ; DNSサーバーアドレス
; ここまでに記述されるドメイン名の最後には必ず「.」を付けて下さい.

localhost		IN	A	127.0.0.1       ; ローカルホストアドレス
cerberus		IN	A	192.168.1.1     ;--+
wyvern			IN	A	192.168.1.2     ;  |
frontire		IN	A	192.168.1.3     ;  +-- ローカルマシンアドレス
penguin			IN	A	192.168.1.4     ;  |
mirage			IN	A	192.168.1.5     ;  |
unicorn			IN	A	192.168.1.6     ;--+

www			IN	CNAME	wyvern          ;--+
ftp			IN	CNAME	wyvern          ;  +-- 別名定義
mail			IN	CNAME	wyvern          ;--+
GRFNWRKS		IN	CNAME	wyvern          ;ワークグループ辞書引き回避用

シリアル番号は,このファイルを更新した場合にかならずカウントアップさせて下さい.
方法としては,「1から順にカウントアップ」と「年月日+バージョン番号でカウントアップ」の2種類の方法がありますが,何時更新したかすぐわかると便利なので後者を選択します.
記述方法は YYYYMMDDNN (4桁の年(2000年対応(笑))+月+日+バージョン番号(00〜99)) で記述するといいでしょう.

シリアル番号のチェック間隔は秒で指定します.この場合は1時間ですね.
これは,名前辞書データベースが更新されているかチェックする間隔を指定する物で,名前辞書データベースが更新されている場合はゾーン情報が転送されます.

リトライ間隔は,シリアル番号のチェック間隔で指定された間隔でチェックできなかった場合に,ここで指定された間隔でリトライを繰り返します.

有効時間が過ぎてもリトライでチェックできなかった場合は,ゾーン情報を全て破棄します.

ローカルホストアドレスローカルマシンアドレスは見たまんまです.

別名定義は,例えばWebサーバーを持った場合やメールサーバーを持った場合などに使用します.
上記の例では wyvern.griffonworks.or.jp には www.griffonworks.or.jpmail.griffonworks.or.jpftp.griffonworks.or.jp で接続可能になります.

ワークグループ辞書引き回避用は,Samba でドメインコントローラーをサポートした場合に(少なくとも我が家では)設定が必要のようです.
(これは手抜きであって,決していい例とは言えないでしょう :-<)
4.mydomain.rev
逆引き辞書ファイルです.
ここでは gw.rev とします.

gw.rev サンプル


@		IN	SOA	wyvern.griffonworks.or.jp.	root.wyver.griffonworks.or.jp. (
						1998110312	;serial
						3600		;refresh
						1000		;retry
						3600000		;expire
						3600 )		;minimum
;
		IN	NS	wyvern.griffonworks.or.jp.

1		IN	PTR	cerberus.griffonworks.or.jp.
2		IN	PTR	wyvern.griffonworks.or.jp.
3		IN	PTR	frontire.griffonworks.or.jp.
4		IN	PTR	penguin.griffonworks.or.jp.
5		IN	PTR	mirage.griffonworks.or.jp.
6		IN	PTR	unicorn.griffonworks.or.jp.

; ここではFQDN形式で指定します.IPアドレスはドット下1桁のみ記述.
; ここまでに記述されるドメイン名の最後には必ず「.」を付けて下さい.

シリアル番号は必ず同期させて下さい.どちらか一方を更新した場合は,もう片方のファイルのシリアル番号も変更しなければなりません.



○起動時にデーモンで走らせる

/etc/rc.conf を修正します.


named_enable="YES"              # Run named, the DNS server (or NO).




○デバッグモードを有効化する

通常は bind 起動時に

# named -d 2 -b /etc/namedb/named.boot

などとすればデバッグログを吐くようになるのですが,我が家で試してみると処理がお出かけしたままになるので困りました.
しかし,このオプション以外にも kill コマンドで SIGUSR1 をくれてやればデバッグログを吐くようにできるので,今回はそれを使います.

/etc/rc.networknamed を起動させる箇所があるのでそこを修正します.


network_pass2() {
    echo -n 'Doing additional network setup:'
    if [ "X${named_enable}" = X"YES" ]; then
            echo -n ' named';           ${named_program-"named"} ${named_flags}
            kill -USR1 `cat /var/run/named.pid`
            kill -USR1 `cat /var/run/named.pid`
            # これを付け足す.
    fi

2行あるが間違いじゃないです.
kill コマンドによるデバッグレベル格上げは,SIGUSR1 を送れば送るほどレベルがあがります.そのために2行記述してます.
さらにデバッグレベルを上げる場合はそれに見合った行数を増やします.(笑)

なお,デバッグログは /var/tmp/named.run です.



○ named 起動と動作確認

# named -b /etc/namedb/named.boot
# kill -USR1 `cat /var/run/named.pid`
# kill -USR1 `cat /var/run/named.pid`

で,デバッグレベル2動作の bind が起動します.
さて,動作確認.


# nslookup
Default Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

>

ここでまず自分自身を捜してみましょう.


# nslookup
Default Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

> localhost  ←入力
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

Name:    localhost.griffonworks.or.jp
Address:  127.0.0.1

>

こう出ていればちゃんと正引きできています.
もし辞書引きできなければエラーが出るか,外を見に行きます.そのとき iij-ppp デーモンが起動していればダイヤルアップを始めるでしょう.(笑)

こんどはさらに


> wyvern  ←自分のホスト名を入力
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

Name:    wyvern.griffonworks.or.jp
Address:  192.168.1.2

> wyvern.griffonworks.or.jp  ←自分のホスト名をFQDN形式で入力
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

Name:    wyvern.griffonworks.or.jp
Address:  192.168.1.2

> mirage  ←他のマシンのホスト名を入力
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

Name:    mirage.griffonworks.or.jp
Address:  192.168.1.5

> mirage.griffonworks.or.jp  ←他のマシンのホスト名をFQDN形式で入力
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

Name:    mirage.griffonworks.or.jp
Address:  192.168.1.5

>

今度は逆引き.一挙に行きます.(笑)


> set q=ptr  ←逆引きすることを宣言
> 127.0.0.1
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

1.0.0.127.in-addr.arpa  name = localhost.griffonworks.or.jp
0.0.127.IN-ADDR.ARPA    nameserver = wyvern.griffonworks.or.jp
wyvern.griffonworks.or.jp       internet address = 192.168.1.2
> 192.168.1.2
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

2.1.168.192.in-addr.arpa        name = wyvern.griffonworks.or.jp
1.168.192.IN-ADDR.ARPA  nameserver = wyvern.griffonworks.or.jp
wyvern.griffonworks.or.jp       internet address = 192.168.1.2
> 192.168.1.5
Server:  localhost.griffonworks.or.jp
Address:  127.0.0.1

5.1.168.192.in-addr.arpa        name = mirage.griffonworks.or.jp
1.168.192.IN-ADDR.ARPA  nameserver = wyvern.griffonworks.or.jp
wyvern.griffonworks.or.jp       internet address = 192.168.1.2
>

あとはこれと同じ要領で外の世界も検索してみましょう.



○Windows側の設定

DNSの設定を行います.

「コントロールパネル」→「ネットワーク」→「TCP/IP」のプロパティ→「DNS設定」タブで,DNSアドレス欄にWyvernのIPアドレスを入力します.
「ホスト名」にはWindows95/98が動いているマシンのホスト名を,ドメインにはそのマシンが参加しているドメイン名を入力します.

今回の設定では,DNSアドレス欄には 192.168.1.2 を,ホスト名には mirage を,ドメイン名には griffonworks.or.jp を入力することになりますね.

・DNSの設定
DNSの設定



○設定終了

これであとはリブートするだけです.
お疲れさま.


←戻る Made with Original Machine "MIRAGE" Go to ASUS Web Page
Made by HyperEdit for Windows Go to HyperEdit Web Page