你輸入一個網址。毫秒后,一個網站出現了。這就是DNS在幕后運作,將 bestsiteever.com 轉換為計算機實際用來查找服務器的數字IP地址66.249.70.11。
沒有DNS,你得為每個訪問的網站記住一串串數字。更糟的是,當DNS失敗時,網站無法加載,郵件退信,應用也無法連接到服務器。
以下是DNS的實際功能,以及它對任何運營網站或排查連接問題的人來說的重要性。
每次訪問網站時都會進行DNS查詢。你的瀏覽器需要一個IP地址。它會在詢問互聯網前查三處。
第一站:你的主機文件。這個純文本文件可以直接將域名映射到作系統上的IP地址。可以把它看作一本覆蓋一切的個人電話簿。
第二站:你的藏寶點。瀏覽器和互聯網服務提供商會臨時存儲DNS記錄。如果你最近訪問過某個網站,IP地址很可能就在那兒。不需要再繼續尋找。
當本地來源一無所獲時,DNS解析就會加速。你的電腦通過專門設計的服務器網絡發送DNS查詢。
整個過程只需毫秒。除非有東西壞了,否則你不會注意到它發生。然后你只能盯著超時錯誤,瀏覽器還在搜索一個永遠找不到的IP地址。
當你訪問一個網站時,四個DNS服務器協同工作。每個人都有特定的職責。
DNS解析器充當你的中間人。它會接收你的請求,然后搜索其他所有地方。大多數人在使用ISP的解析器時并不知情。有些人為了速度轉用谷歌或Cloudflare。
根名稱服務器位于DNS層級的頂端。它們不存儲IP地址。相反,他們會根據你尋找的是.com、.org還是.net地址,指向正確的頂層域名服務器。
頂級域名服務器管理其擴展內的所有域名。.com服務器知道每個.com域名的權威名稱服務器在哪里。.org、.net 以及其他所有擴展也是如此。
權威的名稱服務器保存著實際答案。它會存儲你要找的具體域名的IP地址。一旦解析器找到該服務器,它會獲取IP地址并發送回你的瀏覽器。
遞歸DNS服務器負責搜索。權威的DNS服務器能給出最終答案。第一種類型會提問。第二種類型會回答這些問題。
遞歸解析器在找到一次IP地址后,會將其緩存。下次有人問同一個域時,解析器會直接跳到答案。這種DNS緩存將查詢時間從數百毫秒縮短到幾乎瞬間。
域名服務器存儲特定域名的所有DNS記錄。當有人訪問你的網站時,這些服務器會響應連接瀏覽器到托管服務器所需的信息。
每個域名至少需要兩個名稱服務器以實現冗余。它們看起來就像域名本身:
ns1.example-dnsprovider.com
ns2.example-dnsprovider.com
當你從同一家公司購買主機和域名時,名稱服務器會自動設置。要單獨買嗎?你需要手動更新名稱服務器,讓域名指向你的主機。
名稱服務器查詢工具顯示當前控制你域名的名稱服務器。這些工具查詢全球DNS系統并反饋發現情況。用它們來驗證更改或排查問題。
不同運營商使用不同的名稱服務器地址。你的注冊商會提供一套。你的網絡主機也提供另一種服務。內容分發網絡提供了第三種。每套裝備都具備不同的功能和特色。
你只能更改域名注冊地的名稱服務器。登錄你的域名注冊商控制面板,找到DNS或名稱服務器的設置。
大多數注冊商會將這些內容歸入域管理或域設置。可以找“名稱服務器”、“DNS設置”或“名稱服務器管理”等選項。
你會看到兩個選項:使用默認名稱服務器或輸入自定義名稱服務器。默認的名稱服務器屬于你的注冊商。自定義名稱服務器來自你的托管服務提供商或CDN。
你的托管服務提供商在你注冊時會給你名稱服務器地址。它們看起來像 ns1.yourhost.com 和 ns2.yourhost.com。完全復制這些。一個打錯字就毀了一切。
保存更改后,DNS 傳播開始。您的新名稱服務器信息會在全球范圍內傳播到DNS服務器。這需要幾分鐘到24小時不等。
一旦名稱服務器指向你的主機提供商,你就可以通過主機控制面板管理所有DNS設置,而不是注冊商。這包括A唱片、MX唱片以及其他所有品牌。
DNS區域是由特定組織或管理員管理的域名空間的一部分。你域名的區域包含所有控制流量如何到達服務器的DNS記錄。
DNS設置是實時存在的區域文件中。這些文件包含記錄,告訴互聯網應將不同類型的流量發送到哪里。郵件會發送到郵件服務器。網頁流量流向的是網頁服務器。每種記錄類型都有特定的用途。
大多數主機提供商都會給你一個DNS區域編輯器。該工具允許你添加、修改或刪除DNS記錄,而無需觸及原始區域文件。你可以選擇創建A記錄、CNAME記錄、MX記錄等。
DNS記錄的類型決定了每個條目的作用:
記錄指向域名的IPv4地址
CNAME記錄在域之間創建別名
MX 記錄將郵件路由到郵件服務器
TXT記錄存儲文本信息,如SPF數據
SRV 記錄將服務連接到特定端口
DNS區域的變更觸發傳播。新記錄在全球DNS服務器上分散數小時。在此期間,一些游客會看到舊記錄,而另一些則會看到新的記錄。
A 記錄將域名映射到 IPv4 地址。當有人輸入你的域名時,這個記錄會告訴他們的電腦該聯系哪個服務器。
格式很簡單。主機名或@符號(代表你的根域名)指向一個IP地址,比如104.19.187.120。就是這樣。
大多數域名至少有兩個A記錄。一個用于根域(example.com),一個用于 www(www.examplex.com)。兩者通常指向同一個IP地址。
你可以添加多個A記錄用于負載均衡或備份。如果一臺服務器故障,DNS會自動將流量路由到另一臺。這需要特殊配置,但提供了冗余。
AAAA記錄的工作原理和A記錄完全一樣,但使用IPv6地址而不是IPv4。隨著互聯網向IPv6過渡,越來越多的站點在A記錄之外添加AAAA記錄。
TTL(存活時間)控制DNS服務器緩存你A條記錄的時間長短。設置3600為一小時,14400為四小時,或86400為一天。值越低,換服務器時傳播越快。更高的值可以減少DNS查詢負載。
CNAME記錄會創建一個別名。它會將一個域名指向另一個域名,而不是直接指向IP地址。
比如你想 blog.yourdomain.com,shop.yourdomain.com 指向 main.yoursuperdomain.com。為每個指向主域名的子域創建一個CNAME。當主IP地址變更時,兩個別名都會自動更新。不需要編輯多個A記錄。
DNS CNAME記錄不能存在于你的根域中。你只能用它們來管理子域名。這是DNS協議的限制。對于你的根域名,建議使用A記錄。
當有人訪問CNAME別名時,DNS解析器會遵循鏈條。他們看到CNAME記錄,查找目標域名,然后找到該域名的A記錄,獲取最終IP地址。這增加了一次查詢,但管理變得簡單。
內容分發網絡非常喜歡CNAME記錄。他們會給你一個指向他們網絡的CNAME。當你需要更新服務器或更換基礎設施時,他們會處理。你的CNAME永遠不會改變。
MX記錄告訴互聯網該把你的域名郵件發送到哪里。沒有這些,發給 you@yoursuperdomain.com 的消息會退回給發件人。
每個 MX 記錄包含兩部分:郵件服務器地址和優先級編號。優先級決定了哪個服務器先收到郵件。數字較低者獲勝。
把主郵件服務器設置為優先級10。把備份服務器設置為20臺、30臺,依此類推。如果優先級10的服務器故障,發送方嘗試優先級20。如果失敗,他們會嘗試優先級30。
使用像Google Workspace這樣的第三方郵箱?他們提供特定的MX記錄供你添加。你會刪除主機提供商默認的MX記錄,并用谷歌的替換。通常總共五張專輯,每張都有不同的優先級。
MX記錄查詢工具可以驗證你的配置。他們會查詢DNS服務器,并顯示你的域名設置了哪些郵件服務器。利用這些工具排查郵件發送問題。
錯誤的MX記錄會導致郵件混亂。消息會丟失、退回,或者進入垃圾郵件箱。輸入郵件服務器地址時,請仔細核對每個字符。
TXT記錄存儲關于你域名的文本信息。它們不會影響路由或連接。相反,他們向電子郵件系統、驗證服務和安全工具提供數據。
SPF錄音在TXT唱片中實時播放。SPF代表發送方政策框架。它列出了哪些服務器可以代表你的域名發送電子郵件。
一個基本的SPF記錄如下:
v=spf1 include:_spf.mail.myprovider.com ~all
這會告訴接收服務器檢查來電郵件是否與你的授權發件人匹配。末尾的 ~all 指定了對未通過檢驗的消息處理方式。 意味著軟失敗(標記為可疑)。-全是表示硬失敗(完全拒絕)。~all
域名驗證也需要TXT記錄。當你將域名連接到第三方服務時,他們會給你一個特定的TXT值來添加。這證明你控制了這個領域。
DNS TXT 查詢工具會檢查你域名存在哪些文本記錄。用它們來驗證SPF記錄、DKIM簽名或驗證碼。
你可以擁有多個TXT記錄。添加一個用于SPF,一個用于域名驗證,一個用于DMARC策略。每個記錄都有不同的用途,且不會沖突。
SRV記錄將特定服務連接到服務器和端口。與僅指向IP地址的A記錄不同,SRV記錄包含協議信息和端口號。
格式技術性很快。即時通訊的典型SRV記錄如下:
_xmpp-client._tcp.example.com
下劃線前綴表示服務(xmpp-client)和協議(tcp)。記錄隨后指定優先級、權重、端口和目標服務器。
優先權的運作方式類似于MX唱片。較低的數字會先試。重量有助于平衡優先級相同的服務器之間的負載。
大多數網站不需要SRV記錄。它們常見于VoIP服務、即時通訊服務器和特定應用協議。你的主機提供商默認不會創建這些。
在設置需要SRV記錄的服務時,服務提供商會給出你輸入的精確數值。仔細復制。一個錯誤的字符會斷開連接。
DNS傳播是指DNS變更在全球所有服務器上傳播所需的時間。更改A記錄或切換名稱服務器,你就在等待傳播完成。
標準線說是24到48小時。現實?大多數變化在幾小時內傳播。有些幾分鐘內就完成了。這取決于TTL設置以及你檢查的DNS服務器。
在傳播過程中,不同的人會看到不同版本的DNS記錄。紐約的人可能會看到你的新IP地址,而東京的人仍然能看到舊的。這會造成暫時的不一致,但無法避免。
DNS傳播檢查工具,查詢全球服務器,并顯示哪些服務器更新了。輸入你的域名,工具會反饋來自數十個地點的結果。
你的網站在傳播過程中保持可訪問性。有些訪客會訪問你的舊服務器。其他人會抵達你的新家。只要內容同時存在于兩個地方,就沒人會看到停機時間。
在更改前先降低TTL值。切換服務器前每天將TTL設置為300(5分鐘)。這縮短了服務器緩存舊記錄的時間。傳播完成后,將TTL恢復正常。
用多種工具檢查DNS傳播。使用WhatsMyDNS、DNS檢查器或類似服務。他們會實時更新你的變更在全球范圍內傳播。
DNSSEC為DNS記錄添加加密簽名。這些簽名驗證了DNS響應來自合法服務器,且傳輸過程中未被篡改。
標準DNS沒有認證功能。攻擊者可以攔截查詢并發送假回復,引導你訪問惡意網站。DNSSEC通過要求每個響應都必須有有效簽名來防止這種情況。
啟用DNSSEC后,每個區域都有加密密鑰。公鑰會被發布在DNS記錄中。私鑰在名稱服務器上保持安全。名稱服務器用私鑰簽署響應。解析器使用公鑰驗證簽名。
并非所有注冊商或 DNS 提供商都支持 DNSSEC。在確定是否可用之前,先咨詢你的服務提供者。有些公司提供免費服務。還有些會額外收費。有些甚至完全不提供。
啟用DNSSEC需要你的注冊商和DNS提供商之間的協調。你需要生成密鑰,將記錄添加到你的區域,并在注冊商那里注冊數據存儲記錄。只要一步錯,DNS就會完全失效。
DNSSEC 檢查工具驗證你的配置。他們測試簽名是否正確驗證,以及信任鏈是否延伸到根區。
DNS安全隨著DNSSEC的提升,但采用率仍然有限。很多主流網站還沒用到。這項技術是有效的,但實施復雜性減緩了廣泛部署。
DNS性能會影響你網站的速度。慢速的DNS查詢會在訪客連接服務器前延遲數百毫秒。對不同資源進行多次查詢會增加延遲。
郵件投遞取決于正確的DNS配置。錯誤的MX記錄意味著退信。缺少防曬記錄會讓你的郵件進入垃圾郵件。DMARC策略保護你的域名免受冒充,但需要正確的DNS設置。
一旦DNS崩潰,一切都會停止。網站無法加載。郵件失敗。應用無法連接API。用戶看到“DNS 服務器無響應”錯誤,就會把責任推給你的網站,而不是他們的解析器。
DNS服務器中斷是有發生的。服務提供者會有停機時間。DDoS攻擊針對DNS基礎設施。擁有多個名稱服務器會分散風險。如果一個網站宕機,其他網站則保持可訪問。
DNS配置錯誤導致性能變慢,而非完全失敗。頁面加載,但時間非常長。出現間歇性連接問題。這些問題讓用戶感到沮喪,卻沒有明顯的錯誤信息。
業務連續性需要DNS冗余。如果需要正常運行時間,請使用高級DNS服務。他們提供多重全球接入點、DDoS防護,以及比普通服務提供商更快的解決方案。
你的電腦會在本地緩存DNS記錄。打開命令提示符或終端查看存儲內容。
在Windows上,輸入ipconfig /displaydns并按回車。輸出顯示你系統中當前緩存的所有DNS記錄。
在Mac或Linux上,DNS緩存的位置因系統和版本而異。有些存儲在mDNSResponder中。還有些根本不維護持久緩存。
刷新DNS緩存會清除舊記錄,并強制電腦重新查詢DNS服務器。這修復了因緩存數據過時引起的問題。
Windows:ipconfig /flushdns
麥克:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Linux:sudo systemd-resolve --flush-caches
在線DNS檢查工具提供更詳細的信息。它們直接查詢權威名稱服務器,顯示全球存在的記錄,而不僅僅是本地緩存的內容。
在 DNSChecker.org 或MXToolbox等網站上檢查你域名的DNS記錄。輸入您的域名并選擇記錄類型。這些工具查詢全球服務器并即時顯示結果。
排查DNS問題通常意味著對比你配置的內容和實際發布的內容。使用檢查工具驗證更改是否正確傳播。如果記錄與預期不符,問題出在你的DNS區域配置或名稱服務器設置上。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站


