IPv6に勤しんでみる bind 逆引き
さて続いてIPv6の逆引きです。
IPv6の逆引きは例えば1234:5678:90AB:CDEF:1234:5678というアドレスがあったとします。この時逆引きを作る手順は以下になります。
コロンを消して1文字ずつ(4bitずつ)ドットで区切る、ただし0が省略されている場合は補完しておく
1.2.3.4.5.6.7.8.9.0.A.B.C.D.E.F.1.2.3.4.5.6.7.8
順番をひっくり返す
8.7.6.5.4.3.2.1.F.E.D.C.B.A.0.9.8.7.6.5.4.3.2.1
最後に.ip6.arpaをつける
8.7.6.5.4.3.2.1.F.E.D.C.B.A.0.9.8.7.6.5.4.3.2.1.ip6.arpa
この様にして逆引きアドレスになるみたいです。これはヒドイ。
わかりやすいアドレス使ってるからアレだけど、実際の設定わかりにくすぎ orz
IPv4だとオクテット区切りだけど、IPv6は4bit区切りみたいですね。
にしてもこれは...
やり方がわかった所でbindの設定ですが、named.confには以下の様に追加
zone "0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa." IN { type master; file "xxxx:xxxx:xxxx:8401::90.rev"; };
xxxx:xxxx:xxxx:8401::90.revはこんな感じ
$TTL 600 @ IN SOA ns.v6. root.v6. ( 20090303 ; serial 3600 ; refresh 1hr 900 ; retry 15min 604800 ; expire 1w 86400 ; min 24hr ) IN NS ns.v6. 2 IN PTR v6server.v6. 3 IN PTR v6client.v6.
新規ゾーンの追加なので「rndc reconfig」してclient側から引けるかテスト
$ dig 3.0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa PTR ; <<>> DiG 9.3.4-P1 <<>> 3.0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa PTR ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7663 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;3.0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa. IN PTR ;; ANSWER SECTION: 3.0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa. 600 IN PTR v6client.v6. ;; AUTHORITY SECTION: 0.9.0.0.0.0.0.1.0.4.8.x.x.x.x.x.x.x.x.x.x.x.x.ip6.arpa. 600 IN NS ns.v6. ;; ADDITIONAL SECTION: ns.v6. 600 IN AAAA xxxx:xxxx:xxxx:8401::902 ;; Query time: 1 msec ;; SERVER: xxxx:xxxx:xxxx:8401::902#53(xxxx:xxxx:xxxx:8401::902) ;; WHEN: Tue Mar 3 16:22:29 2009 ;; MSG SIZE rcvd: 144
IPv6はもう人様が扱うにはちょっとややこし過ぎますね。
今後ますますDNSの役割が大きくなりそうです。
そういえば去年の末についに出たDNS&BIND 第5版(http://www.oreilly.co.jp/books/9784873113906/)に載ってそうですね。見てみるか。