nsupdetaで逆引き情報の更新。

BINDではnsupdateというコマンドでDNSレコードの更新が出来るんだけど、逆引きに関してやりかたが無いんだよね。日本語に限って調べた感じでは@ITに載っていたけどやり方では出来なくて2時間くらい無駄にした。orz

@ITに載っていたやり方はこんな感じ。(zoneファイルは正しく書いてあるという前提)

# nsupdate -d デバッグモードで実行
> server 127.0.0.1
> update add 192.168.10.10 3600 IN PTR penguin.tabekko-zoo.com


Reply from SOA query:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 49370
;; flags: qr rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;192.168.10.10. IN SOA


response to SOA query was unsuccessful … 他所に問い合わせ行った挙句SOAレコードが返ってこない。

nsupdateはzoneの指定がないと自動的に解決を試みるんだけど、アドレス指定の方法が間違っているため自分自身が管理しているところへの更新じゃないと思っちゃうみたいで。
試した環境ではこうなったけど、他のところでは一番上位のネームサーバ(A.ROOTSERVERS.NET等)に更新を掛けにいってNOTAUTHが返ってきたりしてた。えー


多分、正しいと思われるやり方はこんな感じ。

# nsupdate -d
> server 127.0.0.1

> send
Reply from SOA query: … 権威サーバの問い合わせ
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40490
;; flags: qr aa rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;10.10.168.192.in-addr.arpa. IN SOA

;; AUTHORITY SECTION:
10.168.192.in-addr.arpa. 0 IN SOA dns.tabekko-zoo.com. root.tabekko-zoo.com. 1 604800 86400 2419200 604800


Found zone name: 10.168.192.in-addr.arpa … ゾーンの解決ができた
The master is: dns.tabekko-zoo.com
Sending update to 127.0.0.1#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 1817
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 0
;; ZONE SECTION:
;10.168.192.in-addr.arpa. IN SOA

;; UPDATE SECTION:
10.10.168.192.in-addr.arpa. 3600 IN PTR penguin.tabekko-zoo.com.


Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 40928 … UPDATE成功
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0

> quit
# dig @localhost -x 192.168.10.10


; <<>> DiG 9.3.4-P1.1 <<>> @localhost -x 192.168.10.10
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55411
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;10.10.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
10.10.168.192.in-addr.arpa. 3600 IN PTR penguin.tabekko-zoo.com.

;; AUTHORITY SECTION:
10.168.192.in-addr.arpa. 604800 IN NS dns.tabekko-zoo.com.

;; Query time: 7 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Jan 8 23:36:43 2009
;; MSG SIZE rcvd: 99

digコマンドはドメイン名付けてくれないけど、hostコマンドは付けてくれるとか、バラバラなのなんとかして欲しいわー。
あと、digコマンドで逆引き調べるときは-xつけないといけないとかね、もう罠かと。


しかし…このままの設定で自宅内サーバを外に更新に行ったりしないんだろうか?どっちみち排除はされると思うけど。


エンタープライズ向けできちんとドメイン持っているシステム、うちみたいに自宅内のLANの管理とキャッシュサーバというシステム…用途が広範すぎてむずかしいわ。