SSブログ

BIND9.8.0rc1でDNS64を使ってみる

BIND-9.8.0rc1dns64を試したメモ。

IPv6のみのホストがIPv4のホストにアクセスする場合に、IPv6セグメントとIPv4セグメントの間にNAT64サーバーという変換機能付ゲートウェイを設置してアクセスを可能にする仕組みがあるようですが、その際、DNSがIPv4ホストのAを返してもIPv6セグメントでは海を車で渡れと言われているようなもので使えないので、エンドポイントとなるNAT64サーバーのインターフェースへの繋ぎとなるAAAAをある規則に従って合成して返すのがDNS64の役割みたいです。

named.confに記載するdns64ディレクティブは、そのAから合成変換したAAAAを作る作り方みたいなものを定義するもので、optionsviewに書けるみたいです。具体的には、
acl rfc1918 { 10/8; 192.168/16; 172.16/12; };
...
dns64 64:FF9B::/96 {
    clients {
        2001:BD8:0:1::/64;
    };
    mapped { !rfc1918; any; };
    exclude { 64:FF9B::/96; ::ffff:0000:0000/96; };
    suffix ::;
    recursive-only yes;
    break-dnssec yes;
};
dns64-server "dns64.example.jp.";
dns64-contact "hostmaster.example.jp.";

のように書くようです。合成変換するフォーマットについての詳細はRFC6052を参照することになりますが、dns64の後の64:FF9B::/96のところにIPv6-prefixを定義します。これは合成変換後のAAAAのプレフィックスになります。残りのものについては以下に列挙します。
  • clients…合成変換したAAAAを返す対象となるクライアントを定義します。デフォルトはany;です。
  • mapped…合成変換の対象となるA RRの値を定義します。デフォルトはany;です。
  • exclude…合成変換が適用されたアドレスかどうかの判定から除外するアドレスを記載します。
  • suffixRFC6052の2.2.IPv4-Embedded IPv6 Address Formatに記載されているprefixが96以外のときにsuffixにはめ込む値を定義します。例えば、prefixが64:FF9B::/40でsuffixが::1f2aで変換対象のAが192.0.2.2だとすると、変換後のAAAAは64:ff9b:c0:2:2::1f2aになります。
  • recursive-only…RDビットが起っている問い合わせのみに変換後のAAAAを返すかどうかを定義します。つまりyesにすると再帰クエリーの場合に変換後のAAAAを返します。
  • break-dnssec…DNSSECの問い合わせに対してAAAAを返すかどうかを定義します。noにするとAにDNSSECの署名がある場合にDOビットをセットした問い合わせを行うと変換後のAAAAを返しません。yesにすると変換対象とします。当然ですが変換後のAAAAに署名は付きません。といいますか付けることができません。
  • dns64-server…prefixに対するIP6.ARPA.のマスターサーバーの値を定義します。例えば、prefixが64:FF9B::/32の場合にb.9.f.f.4.6.0.0.ip6.arpa.のSOAを問い合わせると、マスターサーバーのところにここに定義した値が入ります。
  • dns64-contact…prefixに対するIP6.ARPA.の管理者メールアドレスの値を定義します。dns64-serverの例と合わせて具体的なSOAの値を記載すると以下のようになります。
    b.9.f.f.4.6.0.0.ip6.arpa. 86400 IN SOA 
    dns64.example.jp. hostmaster.example.jp. 
    0 28800 7200 604800 86400

ちなみに、dns64は複数記載してクライアント毎にprefixを変えたりできるようです。

上記具体例の設定で
host.example.jp. 86400 IN A 192.0.2.2

のAAAAを問い合わせると
host.example.jp. 10800 IN AAAA 64:ff9b::c000:202

となるようです。変換後のTTLはネガティブキャッシュのものとなるようです。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。