不同類型的 DNS 記錄實際上如何運作以及可以將它們配對嗎

不同類型的 DNS 記錄實際上如何運作以及可以將它們配對嗎

我有幾個關於 dns 工作原理的問題。

我是否能夠將 A 記錄連接到我想要的任何 IP 位址,例如 Google 的 IP?

其實我不知道這一點,並且對此感到非常驚訝。我只是認為您可以重定向到您擁有的網站,或者只能將您的網域轉發到實際的目標連結。如果這是真的,那麼 CNAME 記錄一定是相同的,對嗎?

換句話說,我可以讓我自己的網域被點擊並顯示Google的網站,而不顯示google的網域名稱而是我自己的網域?

我是否能夠將多個記錄連接到一個網域,例如 A 記錄、txt 記錄或 AAAA 記錄和 CNAME 記錄?

txt記錄實際上是如何工作的,你真的只是在瀏覽器中輸入url,螢幕上就會彈出文本,還是必鬚髮出特殊的get請求或其他什麼?

答案1

我是否能夠將 A 記錄連接到我想要的任何 IP 位址,例如 Google 的 IP?

是的。這實際上並不是「所有權」的問題,而是網域所有者和伺服器運營商之間協議的問題。

如果您指向的伺服器沒有,那麼它對您沒有用同意為您想要的網域提供服務 – DNS 項目將會起作用,但 Web 伺服器只會回覆一個錯誤頁面。 (這對網路或電子郵件很重要,因為伺服器知道所要求的網域是什麼,或任何基於 TLS 的伺服器必須擁有正確的憑證。)

但總的來說,這就是付費網站託管的工作原理,例如 - 通常您不擁有 IP 位址,並且使用「共享」計劃您不擁有伺服器的任何內容,但您仍然將 A/AAAA 記錄指向它,因為它已配置為識別該網域並對其執行一些有用的操作。

其實我不知道這一點,並且對此感到非常驚訝。我只是認為您可以重定向到您擁有的網站,或者只能將您的網域轉發到實際的目標連結。如果這是真的,那麼 CNAME 記錄一定是相同的,對嗎?

也是的。與上面相同,所有權並不重要,唯一重要的是伺服器是否配置為執行您想要的操作(同樣,當討論專門針對網站時,目標伺服器將知道它正在被訪問的網域 - 並且它可能只是響應“不,我沒有配置為服務該網域」)。

一般來說,DNS 首先並不關心「網站」或「連結」——它只關心網域名稱和 IP 位址。但即便如此,DNS 記錄也是單向的;你可以將任何東西指向任何東西。

換句話說,我可以讓我自己的網域被點擊並顯示Google的網站,而不顯示google的網域名稱而是我自己的網域?

它將與一些網路伺服器。對於谷歌來說——可能不會。

同樣,如上所述:網頁伺服器知道它們被稱為哪個網域(它包含在每個 HTTP 請求中)。較大的虛擬主機依靠在這一點上,因為他們為同一 IP 位址的不同網域的許多網站提供服務。

因此,如果您只是為自己的網域建立一條指向此類網頁伺服器的 A 記錄,它將找不到匹配的「虛擬主機」配置,並且通常會提供通用錯誤頁面而不是您想要的網站。但對於只有一個「預設」虛擬主機的小型網頁伺服器來說,它確實可以工作。

它也不適用於 HTTPS 或其他基於 TLS 的內容。即使在最簡單的情況下,伺服器也必須提供對正在存取的網域有效的證書,否則瀏覽器將顯示「證書不符」錯誤頁面。

但對於許多其他(非網路)服務來說,它工作,伺服器甚至不會注意到。例如,SSH 或 FTP 根本不報告主機名稱。

我是否能夠將多個記錄連接到一個網域,例如 A 記錄、txt 記錄或 AAAA 記錄和 CNAME 記錄?

一般來說,是的,每個服務只會查看它想要的記錄類型,而忽略其餘的,因此您可以擁有記錄類型的任意組合(無論是否有意義)——但有一些例外。

例如,A+AAAA 是非常正常的 - 這就是託管雙堆疊 IPv4+IPv6 服務的方式,而同一台伺服器具有兩種位址類型。在網域根目錄中,您通常會在這些 A+AAAA 記錄旁邊放置用於郵件的 MX(以及用於內部 DNS 作業的 NS+SOA)。

有一些記錄類型,例如 SSHFP原意是要與地址記錄一起使用,許多類型具有“描述性”用途並且可以放置在任何地方(TXT、HINFO、RP、LOC…)。

(我認為這就是首先存在不同記錄類型的全部意義。)

然而,一個很大的例外是 CNAME,它通常是不允許與其他記錄類型一起使用。名稱或別名或者不是,但不是同時。 (這就是為什麼您通常無法將 CNAME 放在您的網域根目錄中 - 因為您已經在那裡擁有 SOA 和 NS。)

txt記錄實際上是如何工作的,你真的只是在瀏覽器中輸入url,螢幕上就會彈出文本,還是必鬚髮出特殊的get請求或其他什麼?

不,Web 瀏覽器根本不與 TXT 記錄互動。他們在那裡有其他目的。

(DNS作為一個整體早於網路幾年了,所以很多都是用於 HTTP 以外的其他目的。 Web 瀏覽器僅使用許多其他服務已經使用的相同通用 A/AAAA 記錄。

雖然 TXT 記錄沒有 URL,但您可以使用以下工具透過直接發出 DNS 請求來查看此類記錄的內容:“挖掘”、“主機”或“nslookup”。例如,在 Windows 上,您可以運行nslookup -q=txt example.comResolve-DnsName -Type TXT example.com,而在 Linux 或 macOS 上,host -t txt example.com或是dig example.com txt首選。

(實際上example.com 上有兩個TXT 記錄——一條以「v=spf1」開頭的記錄用於郵件伺服器進行SPF 檢查,另一筆可能用於DigiCert 的網域驗證。現在大多數TXT 用途都是用於自動請求,儘管有時您仍然可以找到供系統管理員閱讀的 TXT 記錄。

相關內容