DNSサーバを立てる(続き)

設定ファイル(/etc/bind/db.internal)の作成

5-55.jpの『内部からの正引き』ゾーン情報のファイルを新しく作ります。内部から引けなくてもいいやと思えばいらないですが、named.confに書いちゃっているのでね。

$ sudo nano /etc/bind/db.internal
$TTL  86400
@     IN SOA   5-55.jp. root.5-55.jp.(
                             2008041701 ; Serial  = today
                             28800      ; Refresh = 8 hours
                             14400      ; Retry   = 4 hours
                             3600000    ; Expire  = 1000 hours
                             86400 )    ; Minimum = 1 day
      IN NS    ns1.5-55.jp.
      IN MX 10 mail.5-55.jp.

@     IN A     192.168.1.xxx ; 5-55.jp
*     IN A     192.168.1.xxx ; *.5-55.jp

追記:メールサーバを立てたので『IN MX 10 mail.5-55.jp.』を追加しました。

設定ファイル(/etc/bind/db.1.168.192)の作成

同じく、192.168.1.xxxの『内部からの逆引き』ゾーン情報のファイルを新しく作ります。

$ sudo nano /etc/bind/db.1.168.192
$TTL  86400
@     IN SOA   5-55.jp. root.5-55.jp.(
                             2008041701 ; Serial  = today
                             28800      ; Refresh = 8 hours
                             14400      ; Retry   = 4 hours
                             3600000    ; Expire  = 1000 hours
                             86400 )    ; Minimum = 1 day
      IN NS    ns1.5-55.jp.
      IN MX 10 mail.5-55.jp.

xxx   IN PTR   satake7.net
ns1   IN A     192.168.1.xxx
mail  IN A     192.168.1.xxx

192.168.1.xxx がきたら『satake7.net』を返すようにしておきました。あとのチェックで『ns1.5-55.jpのレコードがない』というエラーがでたので、『IN A』の行も追加してみました。エラーはなくなりましたが、効果のほどはわからず。
追記:メールサーバを立てたので『IN MX 10 mail.5-55.jp.』と『mail IN A 192.168.1.xxx』を追加しました。

設定ファイル(/etc/bind/db.5-55.jp)の作成

5-55.jpの『外部からの正引き』ゾーン情報のファイルを新しく作ります。

$ sudo nano /etc/bind/db.5-55.jp
$TTL    86400
@     IN SOA   5-55.jp. root.5-55.jp.(
                             2008041701 ; Serial  = today
                             28800      ; Refresh = 8 hours
                             14400      ; Retry   = 4 hours
                             3600000    ; Expire  = 1000 hours
                             86400 )    ; Minimum = 1 day

      IN NS    ns1.5-55.jp.
;     IN NS    ns2.5-55.jp.             ; セカンダリネームサーバ
      IN MX 10 mail.5-55.jp.

@     IN A     219.117.201.xxx          ; サーバの固定IPを指定  5-55.jp
*     IN A     219.117.201.xxx          ; サーバの固定IPを指定  *.5-55.jp

セカンダリはまだないので、コメントアウトしてあります。ホスト名ごとに分けるときはここに『IN A』レコードを書くんでしょうけど、まだDNSが浸透していないので、使えるようになってから書くことにします。
追記:メールサーバを立てたので『IN MX 10 mail.5-55.jp.』を追加しました。

設定ファイルの確認

$ sudo named-checkzone 5-55.jp /etc/bind/db.internal
zone 5-55.jp/IN: loaded serial 2008041701
OK
$ sudo named-checkzone 5-55.jp /etc/bind/db.1.168.192
zone 5-55.jp/IN: loaded serial 2008041701
OK
$ sudo named-checkzone 5-55.jp /etc/bind/db.5-55.jp
zone 5-55.jp/IN: loaded serial 2008041701
OK

再起動

$ sudo /etc/init.d/bind9 start
 * Starting domain name service... bind
   ...fail!

あれ、エラーになったぞ。特に悪いところはないと思うが。すでに起動していたのかもしれないので、いったんnamedを殺してもう一度やり直す。

$ sudo killall named
$ sudo /etc/init.d/bind9 start
 * Starting domain name service... bind
   ...done.

今度はOKだ。最初から restartでやればよかったんじゃね。

動作確認(内部からの正引き)

まず、内部からの正引きを試してみる。

$ dig 5-55.jp
; <<>> DiG 9.4.1-P1 <<>> 5-55.jp
;; QUESTION SECTION:
;5-55.jp.                       IN      A
;; AUTHORITY SECTION:
jp.                     900     IN      SOA     z.dns.jp. root.dns.jp. 1208412001 3600 900 604800 900
;; Query time: 17 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)

ちゃんと引けてない。『192.168.1.1』がDNSサーバとしてアドレスを探しにいってるようだ。『resolv.conf』の設定を削除する。

$ sudo nano /etc/resolv.conf
#nameserver 192.168.1.1

nameserverをコメントにした。もう一度、内部からの正引きをやってみる。

$ dig 5-55.jp
; <<>> DiG 9.4.1-P1 <<>> 5-55.jp
;; QUESTION SECTION:
;5-55.jp.                       IN      A
;; ANSWER SECTION:
5-55.jp.                86400   IN      A       192.168.1.250
;; AUTHORITY SECTION:
5-55.jp.                86400   IN      NS      ns1.5-55.jp.
;; ADDITIONAL SECTION:
ns1.5-55.jp.            86400   IN      A       192.168.1.250
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

今度はいいようだ。内部から『5-55.jp』を引くと『192.168.1.xxx』が返ってきてる。

動作確認(内部からの逆引き)

$ dig -x 192.168.1.xxx
; <<>> DiG 9.4.1-P1 <<>> -x 192.168.1.250
;; QUESTION SECTION:
;250.1.168.192.in-addr.arpa.    IN      PTR
;; ANSWER SECTION:
250.1.168.192.in-addr.arpa. 86400 IN    PTR     satake7.net.1.168.192.in-addr.arpa.
;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400   IN      NS      ns1.5-55.jp.
;; ADDITIONAL SECTION:
ns1.5-55.jp.            86400   IN      A       192.168.1.250
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

後ろにごちゃごちゃこんなもん(.1.168.192.in-addr.arpa.)が付いてくるのは気になるが、まぁいいんじゃないかな。あまり自信はないが。

動作確認(外部からの正引き)

$dig satake7.net
; <<>> DiG 9.4.1-P1 <<>> satake7.net
;; QUESTION SECTION:
;satake7.net.                   IN      A
;; ANSWER SECTION:
satake7.net.            1800    IN      A       219.117.201.xxx
;; AUTHORITY SECTION:
satake7.net.            3600    IN      NS      dns2.name-services.com.
satake7.net.            3600    IN      NS      dns5.name-services.com.
satake7.net.            3600    IN      NS      dns3.name-services.com.
satake7.net.            3600    IN      NS      dns4.name-services.com.
satake7.net.            3600    IN      NS      dns1.name-services.com.
;; Query time: 693 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

これはちゃんとIPアドレスが返ってきてる。OKだ。

動作確認(外部からの逆引き)

$ dig -x 219.117.201.xxx
; <<>> DiG 9.4.1-P1 <<>> -x 219.117.201.xxx
;; QUESTION SECTION:
;xxx.201.117.219.in-addr.arpa.  IN      PTR
;; ANSWER SECTION:
xxx.201.117.219.in-addr.arpa. 20719 IN  PTR     satake7.net.
;; AUTHORITY SECTION:
201.117.219.in-addr.arpa. 50159 IN      NS      ddns2.interlink.or.jp.
201.117.219.in-addr.arpa. 50159 IN      NS      ddns1.interlink.or.jp.
;; ADDITIONAL SECTION:
ddns2.interlink.or.jp.  41430   IN      A       203.141.128.40
ddns1.interlink.or.jp.  59331   IN      A       203.141.128.39
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

これもちゃんと名前が引けてるみたい。
この項、続く。