逆引きのためのネームサーバの設定について説明します。

おかしな説明: http://www.editnet.ad.jp/jimu/dns-3.htm

見本/クラスレス委譲


クラスレスの逆引きについての以下の内容は古いものです。
 現在の筆者の考えとは異なりますので、(黒)歴史だと思ってください。

1. 逆引き用ネームサーバの設定(クラスレスの場合)

まず、 http://D/dot-arpa.html 逆引き(in-addr.arpa)の委譲 をよく読んでください。

逆引きの設定が本当に必要なのか、よく考えてください。

クラスレスの場合、 逆引き用の in-addr.arpa ドメインを委譲するには IPアドレスを1つずつ委譲するのが素直な方法です。 http://D/notes/delegation.html tinydnsならこういう設定も簡単です。

しかし、委譲を受ける側がBINDの場合には IPアドレス数ぶんのゾーンファイルを作ることになります。 ゾーンファイルをひとつですませるために、 逆引きのためのゾーンを作って、 それを委譲するという方法がよく使われてます。 この時に、 ISPごとに異なる名前の付けかたをしているため、 間違い易くなっています。設定には注意が必要です。

1.1. 設定例

委譲する側(OCN)のネームサーバでは以下のように設定されています。 個々のIPアドレスに関して:

193.202.11.211.in-addr.arpa は  193.192.202.11.211.in-addr.arpa の別名(CNAME)
194.202.11.211.in-addr.arpa は  194.192.202.11.211.in-addr.arpa の別名(CNAME)
195.202.11.211.in-addr.arpa は  195.192.202.11.211.in-addr.arpa の別名(CNAME)
  1. xxx.192.202.11.211.in-addr.arpa が属するドメイン(zone) 192.202.11.211.in-addr.arpaを新たに作る。 [割りあてた IP アドレス群のひとつを代表としてドメイン名に使う。]
  2. 192.202.11.211.in-addr.arpaのネームサーバを客に委譲する。

193.202.11.211.in-addr.arpa を検索する状況を推測してみましょう。 クライアントは以下の検索を順に行う必要があります。

  1. in-addr.arpa (のネームサーバ)
  2. 211.in-addr.arpa (のネームサーバ)
  3. 11.211.in-addr.arpa (のネームサーバ)
  4. 202.11.211.in-addr.arpa (のネームサーバ)
  5. 193.202.11.211.in-addr.arpa 193.202.11.211.in-addr.arpaを検索したところで、 193.192.202.11.211.in-addr.arpa の別名であると分ります。

注意: nslookup 193.202.11.211.in-addr.arpa だけでは不十分です。 (nslookup は時代遅れの DNS ツールです。)

nslookup 193.202.11.211.in-addr.arpa           
Server:  localhost
Address:  127.0.0.1
           
Non-authoritative answer:
*** localhost can't find 193.202.11.211.in-addr.arpa: Non-existent host/domain

dig / host などを使うか、 (djbdnsがインストールしてあれば)dnsnameを使いましょう。

%dnsname 211.11.202.193
gw.minz.org

そこで今度は別名の本名だと分った 193.192.202.11.211.in-addr.arpa の検索をすることになります。

同様の手順を繰返し、 今度は 192.202.11.211.in-addr.arpa のネームサーバを検索することになります。 このネームサーバが客に委譲されてるものです。

1.2. サイト(客)側のネームサーバ('''tinydns''')の設定

委譲されたゾーンについての NS レコードなどを定義します。

  .192.202.11.211.in-addr.arpa::ns.minz.org::
  .192.202.11.211.in-addr.arpa::ns-tk021.ocn.ad.jp::

このサーバには実体とされたもの "193.192.202.11.211.in-addr.arpa"などに対する問い合わせが来ますので、 逆引きデータを以下のように定義しておきます。

  ^193.192.202.11.211.in-addr.arpa:gw.minz.org
  ^194.192.202.11.211.in-addr.arpa:ns.minz.org
  ^195.192.202.11.211.in-addr.arpa:fw.minz.org

正しく設定できたか、dnsq コマンドで調べてみましょう。

質問: tinydns サーバを相手に nslookup x.x.x.x とやっても、 タイムアウトして返事がもらえません。

答: nslookup を使ってはいけません。dnsname を使ってください。 :-)

設定の確認法(作業中): dnscacheを動かしていれば、こうなります。

%dnsname 211.11.202.193
gw.minz.org

2. 逆引きドメイン(ゾーン)を委譲してもらう

クラスレス逆引きの委譲方法は ISP ごとに対応方法が異なっています。 個々の IP アドレスを委譲するという一番単純な方法を採用している ISP を御存知の方はご一報ください。

CNAME を使った複雑な方式のゾーン名の例 と ISP例