HE Free IPv6 Tunnel Broker: IPv6 逆引き設定メモ

Hurricane Electric Free IPv6 Tunnel Broker」では、割り当てられた「Routed /64」または「Routed /48」のネットワークに対して、逆引き設定が出来ます。ここでは、その設定方法を記載します。

■前提

今回は、HE より「2001:DB8:1:1::/64」のネットワークが割り当てられているものとして、「2001:DB8:1:1::1」の逆引きとして www.example.jp をあてます。 また、上記逆引きを設定するサーバは、ns.example.jp であるとします。

■必要なもの

HE から割り当てられた「Routed /64」または「Routed /48」のネットワーク。
IPv6 の逆引きが設定できる DNS サーバ。

■自前の DNS サーバに逆引きゾーンを設定する。

ゾーン名は、IPv6 の場合、コロン以外の 1 文字 (4 bit) ずつ、ピリオド区切りで逆から並べて、最後に「ip6.arpa.」を付けます。

「2001:DB8:1:1::/64」は、「2001:0DB8:0001:0001::」なので、ゾーン名は「1.0.0.0.1.0.0.0.8.B.D.0.1.0.0.2.ip6.arpa.」となります。

BIND9 の場合、named.conf 等に以下のようにゾーンとゾーンファイルの読み込み設定を行います。

zone "1.0.0.0.1.0.0.0.8.B.D.0.1.0.0.2.ip6.arpa." {
	type master;
	file "/etc/bind/zones/2001:db8:1:1::.rev";
	allow-query { any; };
};

次に、「/etc/bind/zones/2001:db8:1:1::.rev」ファイルに対して、逆引きそのものを設定します。 こちらも、下位の 64 bit のインターフェイス ID のコロン以外の 1 文字 (4 bit) ずつ、ピリオド区切りで逆から並べます。

IPv6 アドレス「2001:DB8:1:1::1/64」を分解すると、「2001:0DB8:0001:0001」のネットワークプレフィックス、「0000:0000:0000:0001」のインターフェイス ID となります。ですので、ゾーンファイル中で指定するインターフェイス ID の部分は「1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0」となり、これに対して PTR レコードで割り当てる FQDN を設定します。

「/etc/bind/zones/2001:db8:1:1::.rev」ファイルの例

$TTL 43200
@			IN	SOA	ns.example.jp. root.example.jp. (
			2013081601
			86400
			7200
			1209600
			7200
)

			IN	NS	ns.example.jp.

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0	IN	PTR	www.example.jp.

ここまで出来たら、ネームサーバを再起動します。

■ローカルでの確認

逆引きチェック (設定を行ったネームサーバ上で)

$ dig @localhost 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.1.0.0.0.8.B.D.0.1.0.0.2.ip6.arpa. ptr

「;; ANSWER SECTION:」で以下のように逆引きが帰ってくれば OK です。

;; ANSWER SECTION:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.1.0.0.0.8.B.D.0.1.0.0.2.ip6.arpa. 43200 IN PTR www.example.jp.

■ Hurricane Electric Free IPv6 Tunnel Broker のトンネルの設定

「rDNS Delegations」の項目の「Edit」をクリックすると「rDNS Delegated NS1 〜 NS5」まで逆引き DNS サーバの設定が出来るので、今回は「rDNS Delegated NS1」に「ns.example.jp」を入力し、「Save」します。

なお、上記で基本的に完了するのですが、フォーラムで「/48 rDNS delegation works, /64 rDNS doesn’t」なるトピックがあり、割当が /64 のネットワークの場合、逆引きが上手くいかない場合があるようです。私の場合も、設定を行うと、確かに HE 側 DNS サーバのシリアル値は上がっていくのですが、設定が反映されなくて、HE 側に問い合わせたところ、修正をしてもらえました。

■最終確認

自分が使用している ISP 等の DNS サーバなどを参照する環境において、逆引きチェックを実行。

$ dig -x 2001:DB8:1:1::1

「;; ANSWER SECTION:」で以下のように逆引きが帰ってくれば OK です。

;; ANSWER SECTION:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.1.0.0.0.8.B.D.0.1.0.0.2.ip6.arpa. 43200 IN PTR www.example.jp.

なお、これを書いている現在 (2013/08/16) 、HE 側のネームサーバの TTL 値は 3 時間程度になっているので、上記の確認は、HE 側で逆引き DNS サーバの設定してから、3 時間程度経過しないと正しい値が返ってこない可能性があることに注意が必要です。

■その他

IPv4 のサブネットで分割された逆引きより、とってもシンプルでわかりやすいけど、桁数が半端無いので面倒・・・。
dig IPアドレス +trace って便利だと思いました。

■参考

実用 BIND 9で作るDNSサーバ(12):IPv6対応DNSサーバの実現 (1/2) – @IT