是否可以使用 DNSSEC 擁有不同的內部和公共 DNS?

是否可以使用 DNSSEC 擁有不同的內部和公共 DNS?

我正在嘗試實現以下目標:

  • 我的網域的公共名稱伺服器指向example.com公用 IP 位址。
  • 在 LAN 內運行的相同網域的私有名稱伺服器,它將用戶端指向同一 LAN 上的私人 IP 位址。
  • DNSSEC 已啟用。

當然,同時實現第一點和最後一點相對容易,因此讓私有元件正常運作才是問題所在。

就我的實際設定而言:

  • 我正在使用 Cloudflare 的 DNS 服務,其中我的網域有 A 記錄,指向公用 IP 位址並啟用了 DNSSEC。
  • 在我的註冊商處,我根據 Cloudflare 提供的內容新增了 DS 記錄,並配置了 Cloudflare 的網域伺服器。正如您所期望的,所有這些都運作良好。
  • 在內部,我正在運行 Pi-Hole(設定為 LAN 上客戶端的 DNS 伺服器),它配置為啟用 DNSSEC,並指向本地 CoreDNS 實例作為上游解析器。
  • 在 CoreDNS 中,我配置了一個區域,example.com該區域使用coredns-keygen.它有一條指向內部 IP 位址的 A 記錄。
  • 我在註冊商處有第二筆 DS 記錄,該記錄是基於 CoreDNS 內部使用的金鑰。

會發生什麼事:

  • 一般設定適用於解析不屬於我的網域。
  • 當我嘗試解析我的網域時,Pi-Hole 會做出回應SERVFAIL並記錄。ABANDONED
  • 但是,如果我將客戶端直接指向 CoreDNS(例如使用dig),我會得到 LAN IP 位址的預期回應。
  • 另外,如果我在 Pi-Hole 中停用 DNSSEC,它也可以正常運作。

所以我的問題是:

  • 我想要實現的目標有可能嗎?
  • 我開始懷疑我的註冊商擁有單獨的 DS 記錄是否錯誤,但我認為我無法檢索 Cloudflare 正在使用的私鑰,也無法上傳自訂金鑰,所以我不確定如何使用公鑰和私鑰相同。
  • 如果我直接將客戶指向 CoreDNS,但 Pi-Hole 拒絕合作,是否有任何原因導致事情似乎有效?

謝謝!

相關內容