PTR記錄和A記錄應該匹配。如果沒有A紀錄怎麼辦?

PTR記錄和A記錄應該匹配。如果沒有A紀錄怎麼辦?

如果我明白的話RFC1912第 2.1 節正確,這些規則適用於 PTR 記錄:

1)每個工作IP都應該有PTR紀錄

2)PTR和A記錄應該匹配(儘管通常不檢查)

現在,如果我有一個可用的 IP(在我的例子中是 IPv6)並且想要設定正確的 PTR 記錄(這是我的 ISP 能夠做到的),但 IP 不支持,該怎麼辦?不是有 A 或 AAAA 記錄嗎?它只是一個連接到互聯網的客戶端,沒有自己的網域,而不是伺服器(但它是不是在任何 NAT 後面,我在這裡談論的是 IPv6)

它有一個工作IP,所以它應該定義一個PTR記錄(1),但它應該指向什麼(2)?

答案1

您在評論中寫道:

我沒有 A 或 AAAA 記錄 - 只是一個完全沒有主機名稱的客戶端。然而,它仍然是一個有效的 IP 位址,並且根據標準應該有一個 PTR 記錄。

首先,請注意RFC 1912、「常見 DNS 操作和設定錯誤」是資訊性的。也就是說,它提供資訊和指導,但不嘗試指定標準或編纂要求。其他類別的 RFC 對如何完成工作提出了實際要求;例如,您不能編寫 HTTP/1.1 伺服器,然後為回應代碼 301 指定除中指定的任何意義RFC 2616 第 10.3.2 節;如果你這樣做了,那麼你就不是在實作 HTTP/1.1,而是在實作其他東西,也許是模仿它的。

由於 RFC 1912 比 RFC 1912 早一年左右RFC 2119(「Keywords for use in RFCs to Indicate Requirement Levels」),我們不能將後者專門應用於 RFC 1912,但 RFC 2119 仍然可以提供一定程度的指導如何解釋「應該」、「必須」等術語。特別是,RFC 2119 指出我們應該解釋如下:

必須這個詞,或術語“要求”或“應當”,意味著該定義是規範的絕對要求。

應該這個詞或形容詞「推薦」意味著在特定情況下可能存在忽略特定項目的正當理由,但在選擇不同的路線之前必須理解並仔細權衡其全部含義。

RFC 1912,第 2.1 節部分指出(我的重點):

每個可存取 Internet 的主機應該有名字。這樣做的後果越來越明顯。如果您沒有在 DNS 中正確註冊,Internet 上提供的許多服務將不會與您通訊。

確保您的 PTR 和 A 記錄相符。對於每個 IP 位址,都有應該是 in-addr.arpa 域中匹配的 PTR 記錄。 如果一台主機是多宿主的(多個 IP 位址)確保所有 IP 位址都有對應的 PTR 記錄(而不僅僅是第一個)。如果 PTR 和 A 記錄不匹配,可能會導致 Internet 服務遺失,類似於根本沒有在 DNS 中註冊。另外,PTR 記錄必須指向有效的 A 記錄,而不是 CNAME 定義的別名。

首先,第一個陳述是“應該”,這立即意味著這不是絕對的要求。這可能是一個要求在某些特定情況下,這就是為什麼提到它,但在一般情況下這不是必需的。

我認為以“確保”開頭的第二段對管理員提出了更嚴格的要求。請注意,下一句話又說應該, 不是必須或其任何變體。

這裡的底線有兩個:

  1. 如果您不需要對應到您的 IP 位址的全球唯一主機名,則無需向 DNS 新增主機名稱。 (如果它是一個僅客戶端的系統,不公開任何服務,並且使用所需的服務沒有問題,那麼您顯然至少暫時不需要它。)
  2. 如果 DNS 中沒有對應到您的 IP 位址的主機名,則您的 IP 位址的 PTR 記錄無法指向任何內容,因此您無法為您的 IP 位址新增或已新增 PTR 記錄。 (這是根據 PTR 記錄指向具有相應位址記錄的主機名稱的要求得出的。)

順便說一句,請注意,實際上,主機、IP 位址和 DNS 名稱之間不需要存在一對一的對應。例如,我負責一台伺服器主機,它有三個不同的IP 位址,多個名稱透過直接位址記錄和CNAME 指向這些IP 位址中的不同位址,但這些IP 位址中只有一個具有正確的反向名稱(具有到相關 IP 位址的等效正向映射)。

答案2

對於創建哪些記錄沒有嚴格的規則。可以有許多 A 和/或 AAAA 記錄指向相同 IP 位址,也可以沒有。地址可能有反向 (PTR) 記錄,也可能沒有。這些情況都沒有有效或無效之分,因為沒有真正的規則。

然而,也有一定的期望。其中之一是,如果您執行郵件伺服器,則郵件伺服器用於連接到其他郵件伺服器的 IP 位址應該具有指向主機名稱的 PTR 記錄,而該主機名稱又具有該 IP 位址的 A 或 AAAA 記錄。

讓我們來看一個例子:

  • 您的郵件伺服器有 IPv4 位址192.0.2.1
  • 有一條1.2.0.192.in-addr.arpa指向 blabla.example.com 的PTR 記錄
  • blabla.example.com 上有一條 A 記錄指向192.0.2.1

這樣,PTR 記錄可用於基於網域的基於信譽的過濾,因為如果名稱是假的,網域的持有者將無法在其區域內建立正確的 A 記錄。

由於這種驗證策略,如果您的 PTR 記錄與 A 或 AAAA 記錄不匹配,「信任」就會減少。每個人都可能建立指向該名稱的 PTR 記錄something.important.google.com,但只有 Google 會為該名稱建立相符的 A/AAAA 記錄(如果該名稱確實存在)。 A/AAAA 記錄的不存在並不能證明該位址不是來自 Google,但也不能確認這一點。

對於所有此類記錄也是如此:建立匹配的 A/AAAA 和 PTR 記錄是一種良好的常見做法,但這不是必需的。主要是從該 IP 位址接收郵件的伺服器將強制執行比對記錄。

RFC1912 是描述常見做法的資訊性 RFC,而不是網路標準。從技術上講,您的 PTR 記錄可以指向您希望的任何地方,但如果您將其指向不屬於您的域名,那就是不禮貌的行為。如果您確實想要擁有 PTR 記錄,並且不想建立符合的 A/AAAA 記錄(無法想像為什麼,但沒關係),則將其指向您自己的網域之一內不存在的名稱。如果您沒有自己的域名,那麼您可能應該詢問擁有自己域名的人是否可以指向他們的域名。

答案3

RFC1912 很舊且資訊豐富......它從未發展為標準,因此不需要實施,因此一般沒有人關心它。您會發現,除了郵件伺服器和安全 FTP 伺服器之外,大多數人大多數時候都會忽略該建議。它也不涵蓋 AAAA 記錄。

最重要的是,您無需擔心它。

相關內容