Domain-Name-System

@和ns記錄有什麼區別

  • October 30, 2019

我試圖了解 A 記錄與記錄之間的@區別ns

我試圖將一個子域 testing.example.com 指向另一台伺服器,該伺服器將擁有自己的DNS伺服器、mail伺服器,並且能夠發布其dkim, spf&dmarc記錄。

據我從這裡 sysadmin1138 提供的答案中了解到:膠水記錄子域?

我需要在example.com域中有以下粘合記錄

example.com:
[...]
testing.example.com.     IN NS ns1.testing.example.com.
testing.example.com.     IN NS ns2.testing.example.com.
ns1.testing.example.com. IN  A 113.197.55.206
ns2.testing.example.com. IN  A 113.197.55.206

那麼我還應該添加A記錄@並將其指向113.197.55.206嗎?

@ 是一個簡單的“起源”。它用於域名語法上應該去的地方,但該名稱與原始集相同。即在您所說的 BIND 配置中zone "domain.com",原點是domain.com(直到由區域文件中的 $ORIGIN 指令重新設置)並且@ NS nsdomain.com. NS ns.domain.com.. 請注意,任何沒有尾隨點的記錄都會自動附加一個來源,但是要利用此功能,您必須為 NS 記錄留下“空名稱”,這意味著其他事情(對於這種情況,請認為語法不正確)。於是發明了符號@。

這意味著,它與粘合記錄或委託記錄無關。您甚至可以選擇在任何地方都不使用它,您可以明確地編寫所有內容。像這樣:如果你想創建 A 記錄,你可以使用 @ 來表示,like @ A 192.0.2.1,但你也可以不使用它並寫 as domain.com. A 192.0.2.1(前提是 origin 仍然是domain.com)。

閱讀http://www.zytrax.com/books/dns/apa/origin.html

當子域在其區域內具有 DNS 伺服器名稱時,需要使用 Glue。讓我們委託sub.example.com哪個ns.sub.example.com有地址192.0.2.2。為此,我們需要ns.sub.example.com事先解析該 A 記錄,但誰應該回答查詢?我們委託一個區域的伺服器不能,因為在我們解決這個查詢之前我們仍然不知道它的地址。這個雞與蛋的問題由膠水記錄解決:委託伺服器將儲存一條ns.sub.example.com A 192.0.2.2記錄。然後,我們還可以使用名稱伺服器委託記錄,sub.example.com. NS ns.sub.example.com..

或者,如果您的來源是example.com,那將是ns.sub A 192.0.2.2- 粘合和sub NS ns.sub- 委託。@ 符號在這裡沒有使用,因為我們在任何地方都沒有遇到“空名”。

或者,您可以設置$ORIGIN sub.example.com然後必須使用@:我們的記錄將被寫為ns A 192.0.2.2and @ NS ns

請注意,儘管我提出了三種用膠水記錄表達這個委託的方法,但所有三種情況都表達了完全相同的資訊,並且工作方式相同。它只是語法上的差異,而不是主要的。

如果您將該區域委託給在該區域內沒有其名稱的伺服器,則不需要粘合。例如,如果sub.example.com被委派給ns.example.org,則sub.example.com. NS ns.example.org.需要一個,因為ns.example.org’ 的地址將以其他方式解析。

和一句話。DNS 註冊商要求您至少指定兩個 DNS 伺服器這一事實並不意味著您還必須要求多個 DNS 伺服器。如果您兩次指定相同的伺服器,它不會有任何改進。對於您的特定情況,一張膠水和一張委託記錄就足夠了。

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