Domain-Name-System

更改提供商後 DNS 僅部分工作

  • August 3, 2020

我的網站是ecoguardfilters.com.

我從 GoDaddy 購買了一個域名,並使用 Hostinger 進行託管。

我將名稱伺服器更改為 Hostinger,但兩週後仍未完全傳播。

可能是什麼問題呢?

DNS 不會傳播,但​​會被記憶體。每個遞歸名稱伺服器首先從它自己的記憶體中查找它是否已經解析了它的 TTL 內的記錄,然後請求權威伺服器。這就是為什麼你應該總是通過查詢權威伺服器開始調試,然後是父母。

DNSSEC 已啟用,但 Hostinger DNS 不支持

在這種情況下,whois ecoguardfilters.com顯示:

Name Server: NS1.DNS-PARKING.COM
Name Server: NS2.DNS-PARKING.COM
DNSSEC: signedDelegation

父區域有 DNSSECDS記錄:

;; ANSWER SECTION:
ecoguardfilters.com.  86400  IN  DS  54169 8 2 BA98A4F1210C30B65DA7C01E6B4A3385DBF1345E84FC7B635D3EB29D 8E187E4C
ecoguardfilters.com.  86400  IN  DS  54169 8 1 8F44699EA5A178F74071A349FAF0069527F9E9BC
ecoguardfilters.com.  86400  IN  DS  28279 8 1 0DB878191AAF675C098C0A71660EE20D09C7204E

但是Hostinger 域名伺服器沒有使用相應的密鑰對區域進行簽名:

; <<>> DiG <<>> ecoguardfilters.com RRSIG @ns1.dns-parking.com

;; ANSWER SECTION:
ecoguardfilters.com.    3789    IN      HINFO   "RFC8482" ""

從那個答案看來,他們的域名伺服器甚至不支持 DNSSEC。他們的支持告訴我們:

你們提供 DNSSEC 嗎?

如果您的域在 Hostinger 上註冊並託管在其他地方,則可以在某些域上啟用 DNSSEC。並非所有域都支持 DNSSEC,因此有關詳細資訊,請通過線上聊天聯繫我們的客戶支持。

無法在 Hostinger 託管的域上啟用 DNSSEC。

為了測試和視覺化 DNSSEC,有兩個很棒的工具:


DNSSEC 遷移

通常,您可以在新名稱伺服器上配置 DNSSEC 並更新DS記錄。使用 DNSSEC,正確的順序很重要!從Junior Payne的DNSSEC 和 DNS 遷移中縮短和修改了一點:如何在不中斷 DNSSEC 的情況下遷移您的 DNS

  1. 在新提供商上準備 DNSSEC:配置區域並對其進行簽名。
  2. 添加獲取 DNS 服務提供商的 DS 記錄並等待 TTL。

目前狀態將驗證失去和獲得的 DNS 服務提供商的 ZSK。此時,對新名稱伺服器的委託尚未更改。在此配置中,需要與獲得的 DNS 服務提供商重新簽署區域並等待記憶體過期(DS 記錄的 TTL)。 3. 將區域委派更改為獲得 DNS 服務提供商。 4. 刪除失去的 DNS 服務提供商的 DS 記錄

一旦您確定不再有任何記憶體的 DS 記錄引用失去的 DNS 服務提供商,則可以從失去的 DNS 服務提供商的 DS 記錄中刪除系統資料庫。

Erlend Eide沒有意識到這種可能性,提供了另一條關於如何在 DNSSEC 處於活動狀態的情況下為 DNS 區域遷移名稱伺服器的路徑。儘管 Junior Payne 更正確,但如果新提供商不支持配置 DNSSEC 事先授權,則此替代方案可能是唯一的可能性:

  1. 在註冊商處禁用 DNSSEC
  2. 等待 24 小時
  3. 在名稱伺服器上禁用 DNSSEC(刪除 DS 記錄)
  4. 切換名稱伺服器
  5. 等待 24 小時
  6. 重新啟用 DNSSEC

為您提供解決方案

  • 由於 Hostinger 不支持 DNSSEC,使用他們的 DNS,您應該在註冊商處禁用 DNSSEC。
  • 如果您希望繼續使用 DNSSEC,請不要將您的 DNS 移至 Hostinger(即移回或尋找其他 DNS 提供商),而僅將您的網站指向他們的伺服器。

引用自:https://serverfault.com/questions/1026856