dns64

原始碼

dns64 啟用 DNS64 IPv6 過渡機制。

描述

當請求網域的 AAAA 紀錄時,dns64 外掛程式只找到 A 紀錄時,會從 A 紀錄合成 AAAA 紀錄。

只有在查詢是透過 IPv6 傳入時,才會執行合成。

此轉換適用於具有 NAT64 的純 IPv6 網路。

語法

dns64 [PREFIX]
  • PREFIX 定義自訂前綴,而不是預設的 64:ff9b::/96

或使用此稍微較長的表單,具有更多選項

dns64 [PREFIX] {
    [translate_all]
    prefix PREFIX
    [allow_ipv4]
}
  • prefix 指定要使用的任何本機 IPv6 前綴,而不是眾所周知的前綴 (64:ff9b::/96)
  • 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 功能會將翻譯應用於來自雙堆疊用戶端的請求。這表示對於發送 AAAA 的用戶端請求,正常情況下會導致 NXDOMAIN 的情況,會獲得翻譯後的結果。當雙堆疊用戶端正常情況下會使用 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 節

另請參閱

請參閱 RFC 6147 以取得有關 DNS64 機制的更多資訊。