HAYAGUI

FreeBSD 4.4 + BIND8

このページ内で使用しているメールアドレスは架空のものです。

はじめに

家庭内LAN機器の名前解決ができるように DNS を設定しました。 環境は以下のとおり。

OS FreeBSD 4.4
named のバージョン 8.2.4-REL
ネットワーク構成 こちらを参照
ドメイン名 hayagui.com
DNSサーバ名とIPアドレス chaco: 192.168.0.5

ドメインを取得していないは、家庭内の閉ざされた環境なのでどのような名前でもいいと思いますが、 私の場合は、hayagui.comドメインを取得して、 http://www.netgroove.ne.jp/に ホスティングしてもらっているので、ちょっと設定を注意する必要があります。

ファイル一覧

BINDの設定ファイルは、次の 6 つのファイルが必要です。 ファイル名と格納先は決まっているものではなく、named.conf は /etc/rc.conf 内に書けばいいですし、 その他のファイルは named.conf 内に書けばいいと思います。 named.conf の格納先はデフォルトで /etc/namedb/ です。

ファイル名(パス付) 一言でいうと 説明
/etc/namedb/named.conf named設定ファイル named が起動するときに読み込む設定ファイルです。以下のファイル名とディレクトリが記述されています。環境に合わせて設定する必要があります。
/etc/namedb/named.root ルートキャッシュファイル ルートネームサーバを設定するファイルです。入っているやつをそのまま使います。
/etc/namedb/localhost.zone localhostの正引きファイル localhostで、ホスト名からIPアドレスを引く為のファイルです。新規に作成する必要があります。
/etc/namedb/localhost.rev localhostの逆引きファイル localhostで、IPアドレスからホスト名を引く為のファイルです。make-localhost を実行すると、作ってくれます。
/etc/namedb/hayagui.zone ホストの正引きファイル hayagui.com ドメインで、ホスト名からIPアドレスを引く為のファイルです。新規に作る必要があります。
/etc/namedb/hayagui.rev ホストの逆引きファイル hayagui.com ドメインで、IPアドレスからホスト名を引く為のファイルです。新規に作る必要があります。

設定内容

/etc/namedb/named.conf
; ディレクトリパス
options {
        directory "/etc/namedb";
};

; ルートネームサーバに関する情報を named.root  から読みとるように設定
zone "." {
        type hint;
        file "named.root";
};

; localhostのホスト名からIPアドレスを引く為のファイルを設定
zone "localhost" {
        type master;
        file "localhost.zone";
};

; localhostのIPアドレスからホスト名を引く為のファイルを設定
zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "localhost.rev";
};

; localhostのIPv6アドレスからホスト名を引く為のファイルを設定
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
        type master;
        file "localhost.rev";
};

; hayaguiドメイン内のホスト名からIPアドレスを引く為のファイルを設定
zone "hayagui.com" {
        type master;
        file "hayagui.zone";
};

; hayaguiドメイン内のIPアドレスからホスト名を引く為のファイルを設定
zone "0.168.192.in-addr.arpa" {
        type master;
        file "hayagui.rev";
};
>

4行目と6行目の IN-ADDR-ARPA というのは、逆引きを指定する際の特別なドメインです。

/etc/namedb/localhost.zone
; (Time to Live) キャッシュ時間
$TTL    3600

; SOA(Start Of Authority)レコードといって、ネームサーバがドメインでの
; オーソリティを持っていることを宣言するのと、セカンダリネームサーバに対して制御する。
; @ は、デフォルトドメインを指す。root.chaco.hayagui.comは、
; ドメインの管理者のメールアドレス( root@chaco.hayagui.com )の、@ を . に変更したものである。 

@       IN      SOA     chaco.hayagui.com. root.chaco.hayagui.com. (
                2002011101      ; シリアル番号。
                                ; 2002年01月11日01番目)
                604800          ; ゾーンファイルを得る間隔(単位:秒)。
                                ; 60秒 * 60分 * 24時間 * 7日 = 604800
                28800           ; ゾーンファイルを得るのに失敗した時に再試行する間隔(単位:秒)。
                                ; 60秒 * 60分 * 8時間 = 28800
                3600000         ; ゾーンファイルがオーソリティを保持している時間(単位:秒)。
                                ; 60秒 * 60分 * 1000時間 = 3600000 
                2419200 )       ;各レコードの有効期限のデフォルト値(単位:秒)。
                                ;60秒 * 60分 * 24時間 * 30日 = 2419200 
;
; NSレコードで、ネームサーバを定義。
        IN      NS      chaco.hayagui.com.

; A(Address)レコード。ホスト名をIPアドレスに定義するためのレコード。

        IN      A       127.0.0.1

/etc/namedb/localhost.rev 以下のように実行すると、雛型を作成してくれるので、環境に合わせて設定します。
chaco# sh make-localhost
各意味は、上と同じ。
$TTL    3600

@       IN      SOA     chaco.hayagui.com. root.chaco.hayagui.com.  (
                                2002011101      ; Serial
                                3600            ; Refresh
                                900             ; Retry
                                3600000         ; Expire
                                3600 )          ; Minimum
        IN      NS      chaco.hayagui.com.

; IPアドレスをホスト名に定義するためのPTR(Pinter)レコード。 
; localhostのIPアドレス 127.0.0.1 の最後の値 1 を表す。

1       IN      PTR     localhost.hayagui.com.   

/etc/namedb/hayagui.zone
$TTL 3600

@       IN      SOA     chaco.hayagui.com. root.chaco.hayagui.com. (
                        2002011101      ; Serial
                        10800           ; Refresh
                        3600            ; Retry
                        604800          ; Expire
                        86480   )       ; Minimun TTL
                IN      NS      chaco.hayagui.com.

; MX(Mail exchange)レコード。ドメインに配送されたメールを送るメールサーバを指定する。
; メールサーバ名の前の数字は、優先順位を意味する。

                IN      MX      10 chaco.hayagui.com.

; ホスト名
chaco           IN      A       192.168.0.5
jhon            IN      A       192.168.0.6
mico            IN      A       192.168.0.7
mimi            IN      A       192.168.0.10
; ルータ
brl04f          IN      A       192.168.0.1

; CNAME(Canonical NAME)レコード。
; AレコードでIPアドレスを定義したホストに別名を設定する。
gw              IN      CNAME   brl04f.


; 無線LAN
gwap11s1f       IN      A       192.168.0.3
gwap11s2f       IN      A       192.168.0.4
; ホスティングしている www.hayagui.com へ行くように設定
; これを www IN CNAME chaco. と書くと、家庭内のhayagui.com にアクセスすることになる。
www             IN      A       211.13.192.20

/etc/namedb/hayagui.rev
$TTL    3600

@       IN      SOA     chaco.hayagui.com. root.chaco.hayagui.com.  (
                                2002011110      ; Serial
                                3600            ; Refresh
                                900             ; Retry
                                3600000         ; Expire
                                3600 )          ; Minimum
        IN      NS      chaco.hayagui.com.
;
5       IN      PTR     chaco.hayagui.com.
6       IN      PTR     jhon.hayagui.com.
7       IN      PTR     mico.hayagui.com.
10      IN      PTR     mimi.hayagui.com.
;
1       IN      PTR     brl04f.hayagui.com.
;
3       IN      PTR     gwap11s1f.hayagui.com.
4       IN      PTR     gwap11s2f.hayagui.com.

  

クライアントの設定(FreeBSD)

DNSサーバであるマシンもDNSを参照するクライアントになるわけですから、DNSを参照する設定が必要です。 /etc/resolv.conf を次のように設定してください。DNS順序の最初にローカルのDNSを設定し、2番目以降にISPのDNSを設定してください。 この設定は、このDNSを使用する他のOSも同じようにしてください。

domain hayagui.com
nameserver 192.168.0.5
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

次に、名前解決の順序を設定するため、/etc/host.conf を次のように設定してください。

# $FreeBSD: src/etc/host.conf,v 1.6 1999/08/27 23:23:41 peter Exp $
# First try the /etc/hosts file
hosts
# Now try the nameserver next.
bind
# If you have YP/NIS configured, uncomment the next line
# nis
これは、hostsファイル->bindの順に検索するような設定です。

動かしてみましょ

FreeBSD起動時に named が起動するように設定します。
/etc/rc.conf を開き、以下のように追加します。
named_enable="YES"
ここで、再起動すると named が起動しますが、/usr/sbin/ndc というものを使用することで再起動なしでも起動できます。

chaco# /usr/sbin/ndc start
/var/log/message を見て、エラーになっていないかを確認してください。
start のところを stop にすれば「停止」。restart とすれば「再起動」となります。

次に動作のテストをしてみましょう。

chaco# nslookup
Default Server:  chaco.hayagui.com
Address:  192.168.0.5

> jhon
Server:  chaco.hayagui.com
Address:  192.168.0.5

Name:    jhon.hayagui.com
Address:  192.168.0.6

> 192.168.0.6
Server:  chaco.hayagui.com
Address:  192.168.0.5

Name:    jhon.hayagui.com
Address:  192.168.0.6

> www.jp.freebsd.org
Server:  chaco.hayagui.com
Address:  192.168.0.5

Name:    www.jp.freebsd.org
Address:  203.139.121.132

  1. jhon と入力して、ホスト名からIPアドレスに変換されることを確認。
  2. 192.168.0.6 と入力して、IPアドレスからホスト名に変換されることを確認。
  3. www.jp.freebsd.org と入力して、お外のホスト名の名前が解決されることを確認。

戻る



(C)1999 - 2002 Kenji Ito All rights reserved.