next up previous contents
Next: 4.7 演習問題 Up: 4. DNS Previous: 4.5 リゾルバ

4.6 DNSへの問い合わせツール、メンテナンスツール

DNSに対して実際に問い合わせを送り、その結果をチェックすることは重要である。 通常、こうした問い合わせのツールとしては nslookup が一般的に用いられ てきたが、最近では dig が標準となりつつある。 その他に、dnsquery のようなフリーのツールなどもある。

nslookup の簡単な使い方は以下の通りである。

    # nslookup - pc2f001.summer01.wakhok.ac.jp
ネームサーバを指定する際には、- server_name とする。省略した 場合には、デフォルト(/etc/resolv.confの設定)に従う。 起動すると、インタラクティブモードに移るので、
    > dns2.summer.wakhok.ac.jp
のようにホスト名を入力すれば、その情報が返ってくる。 MXなどのタイプを指定して検索をしたい場合には、
    > set type=mx
    > summer00.wakhok.ac.jp
のようにする。 ネームサーバを変更するには、
    > server dns2.summer00.wakhok.ac.jp
とする。 終了するにはexitコマンドを入力する。

一方、dnsqueryも良く似たコマンドであるが、インタラクティブでは なく一度の問い合わせで終了する。
    dnsquery  [-n namesever]  [-t type]  hostname

なお、DNSのゾーンファイルを作成するときには良くタイプミスをする ために、ゾーンファイルの自動生成プログラムを利用し、その出力結果 を編集するのが効率的である。dnsutl は netカテゴリーに納められて おり、以下のようにホストファイルをまず作成する。

# sample host file
202.11.97.17    dns    pc2f001
202.11.97.18    dns2   pc2f002
202.11.97.19    mail   pc2f003
202.11.97.20    www    pc2f004

このファイルを host.sample とすると、表引きのゾーンファイルは以下の ようにして生成出来る。

    # dns-hosts-import  host.sample  > summer00.zone

生成された summer00.zone は以下のようになっている。

$origin example.com.
@    in      soa     example.com. hostmaster.example.com. (
                                3       ; serial
                                10800   ; refresh: 3 hours
                                1800    ; retry: 30 minutes
                                604800  ; expire: 1 week
                                86400 ) ; minimum: 1 day
dns             in      a       202.11.97.17
pc2f001         in      cname   dns
dns2            in      a       202.11.97.18
pc2f002         in      cname   dns2
mail            in      a       202.11.97.19
pc2f003         in      cname   mail
www             in      a       202.11.97.20
pc2f004         in      cname   www

最初の行の $origin が不要だが次の工程では必要とされるので、ここでは 置いておいて、次の行の example. com. を summer00. wakhok. ac. jp. に書き換え、NS および、MX レコードを 追加すれば良い。

次に、こうして作成した表引きのファイルから裏引きのファイルは次のように 生成出来る。

     # dns-rev  summer00.zone > 202.11.97.16-31.rev

この結果次のようなファイルが得られる。

; Do not edit this file.  It is generated
; by a 'dns-rev summer00.zone -' command.
$origin 97.11.202.in-addr.arpa.
@ in soa summer00.wakhok.ac.jp. hostmaster.summe00.wakhok.ac.jp. (
                                3       ; serial
                                10800   ; refresh: 3 hours
                                1800    ; retry: 30 minutes
                                604800  ; expire: 1 week
                                86400 ) ; minimum: 1 day
                in      ns      dns.summer00.wakhok.ac.jp.
                in      ns      dns2.summer00.wakhok.ac.jp.
17              in      ptr     dns.summer00.wakhok.ac.jp.
18              in      ptr     dns2.summer00.wakhok.ac.jp.
19              in      ptr     mail.summer00.wakhok.ac.jp.
20              in      ptr     www.summer00.wakhok.ac.jp.

ホストの数が多い場合や、なれていないためにタイプミスが心配な場合には こうしたツールが役に立つだろう。

その他の便利なツールとして、パッケージに dns/dlint や、dns/zonecheckがある。 dlint は、DNS の設定エラーをチェックしてくれるツールで、 逆引きが設定されていないなど様々な問題を指摘してくれるが、 万能ではないのでその点では注意しなければならない。 インストールすると、/usr/local/sbin/dlint あるいは、 /usr/local/sbin/zonecheckに 入るので試して見ると良い。



Noriyo Kanayama