クラスレスネットワークの小技
Modified: 24 December 2002
クラスCのDNSでは、256個のホストを管理しますが、4つだけ管理するとか、クラスCを細分してDNS管理を行うことを、クラスレスネットワーク(クラスの分類を無視した設定)といいます。
BINDは、クラスA,B,C単位での管理を基本に設計されていますので、IPアドレスを細かく分割し、1つだけ割り付けるとか、4つだけ権限委譲する場合には特殊な、トリッキーな設定が必要です。
(作成予定)
逆引きの動作確認
クラスレスネットワークでは、まず、プロバイダのDNSに問い合わせて、CNAMEで定義された名称を調べ、次に、自分のDNSで、CNAMEで定義された名称で問い合わせを行って、ホスト名を買う任します。
条件
プロバイダのDNSサーバーのIPアドレス(ドメイン名): 11.11.11.11 (provider.tomo.ac)
自分のDNSのIPアドレス(ドメイン名): 22.22.22.22 (dns.tomo.ac)
確認したいIPアドレスとドメイン名: 33.33.33.33 (home.tomo.ac)
digコマンドで確認
まずは、プロバイダのDNSに対して問い合わせます。
$ dig @11.11.11.11 -x 33.33.33.33 PTR ; <<>> DiG 9.2.1 <<>> @11.11.11.11 -x 33.33.33.33 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 12248 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;33.33.33.33.in-addr.arpa. IN PTR ;; ANSWER SECTION: 33.33.33.33.in-addr.arpa. 300 IN CNAME 33.16/31.33.33.33.in-addr.arpa . ;; Query time: 69 msec ;; SERVER: 11.11.11.11#53(11.11.11.11) ;; WHEN: Tue Dec 24 22:51:06 2002 ;; MSG SIZE rcvd: 67 $CNAMEの名称(33.16/31.33.33.33.in-addr.arpa.)が返ってきますので、その名称で、自分のDNS(22.22.22.22)へ問い合わせをします。
$ dig @22.22.22.22 33.16/31.33.33.33.in-addr.arpa. PTR ; <<>> DiG 9.2.1 <<>> @22.22.22.22 33.16/31.33.33.33.in-addr.arpa. PTR ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38662 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1 ;; QUESTION SECTION: ;33.16/31.33.33.33.in-addr.arpa. IN PTR ;; ANSWER SECTION: 33.16/31.33.33.33.in-addr.arpa. 259200 IN PTR home.tomo.ac. ;; AUTHORITY SECTION: 16/31.33.33.33.in-addr.arpa. 259200 IN NS dns.tomo.ac. ;; ADDITIONAL SECTION: home.tomo.ac. 259200 IN A 33.33.33.33 ;; Query time: 67 msec ;; SERVER: 22.22.22.22#53(22.22.22.22) ;; WHEN: Tue Dec 24 22:52:10 2002 ;; MSG SIZE rcvd: 146 $ANSWER SECTIONで、目標の "home.tomo.ac" が返ってきたらOKです。