dns64

ソース

dns64 により、DNS64 IPv6 トランジションメカニズムが有効になります。

概要

dns64 プラグインは、ドメインの AAAA レコードが要求された場合、A レコードのみが検出されると、A レコードから AAAA レコードを合成します。

合成は、クエリが IPv6 経由で送信された場合のみ実行されます。

この変換は、NAT64 を備えた IPv6 専用ネットワーク向けです。

構文

dns64 [PREFIX]
  • PREFIX は、既定の 64:ff9b::/96 の代わりに、カスタムのプレフィックスを定義します。

または、もう少し長い形式で、より多くのオプションを使用します。

dns64 [PREFIX] {
    [translate_all]
    prefix PREFIX
    [allow_ipv4]
}
  • prefix は、既知のプレフィックス (64:ff9b::/96) ではなく、使用するローカル IPv6 プレフィックスを指定します。
  • translate_all は、AAAA 結果がある応答も含めて、すべてのクエリを変換します。
  • allow_ipv4 は、クエリが IPv4 経由で送信された場合に、変換を許可します。既定では IPv6 のみの変換です。

既定の既知のプレフィックスを使用して変換します。すべてのクエリに適用されます (IPv6 経由で送信された場合)。

. {
    dns64
}

カスタムプレフィックスを使用します。

. {
    dns64 64:1337::/96
}

または

. {
    dns64 {
        prefix 64:1337::/96
    }
}

既存の AAAA レコードが存在する場合でも、変換を有効にします。

. {
    dns64 {
        translate_all
    }
}

IPv4 ネットワーク経由で届いたリクエストにも変換を適用します。[警告] allow_ipv4 機能は、デュアルスタッククライアントからのリクエストに変換を適用します。つまり、通常 NXDOMAIN になる AAAA を送信するクライアントのリクエストは、変換された結果を受け取ることになります。これにより、デュアルスタッククライアントが通常は A レコードリクエストの結果を使用する場合に、望まれない IPv6 dns64 トラフィックが発生する可能性があります。

. {
    dns64 {
        allow_ipv4
    }
}

メトリクス

監視が有効になっている場合 (prometheus プラグインを使用して)、以下のメトリクスがエクスポートされます。

  • coredns_dns64_requests_translated_total{server} - 変換された DNS リクエストのカウント

server ラベルの詳細については、prometheus プラグインのドキュメントを参照してください。

バグ

DNS64 で必要なすべての機能が実装されているわけではなく、基本的な AAAA 合成のみです。

  • 「別々の IPv4 範囲の別の IPv6 プレフィックスへのマッピング」のサポート
  • PTR レコードの解決
  • レゾルバー DNSSEC 対応を行います。参照:RFC 6147 第 3 セクション

参照

DNS64 メカニズムの詳細については、RFC 6147 を参照してください。