部落格建站6 - 一文搞懂域名解析(保姆級教程和原理講解)

陌尘(MoChen)發表於2024-08-15
  • 1. 本網站的系統架構
  • 2. (阿里雲)域名解析配置
    • 2.1. 快速配置
    • 2.2. 自定義配置
      • 2.2.1. 記錄型別
      • 2.2.2. 主機記錄
      • 2.2.3. 記錄值
      • 2.2.4. 解析請求來源
  • 3. 域名解析原理
    • 3.1. 什麼是DNS
    • 3.2. DNS的解析原理
      • 3.2.1. 1.本地查詢
      • 3.2.2. 2.客戶機到伺服器查詢
      • 3.2.3. 3.伺服器到伺服器查詢
    • 3.3. 遞迴查詢與迭代查詢
      • 3.3.1. 遞迴查詢
      • 3.3.2. 迭代查詢
  • 4. 常用的公共DNS伺服器

1. 本網站的系統架構

  • 網站示例: sunlogging.com
  • 伺服器: 阿里雲ECS
  • 伺服器系統: Ubuntu 24.04 LTS
  • 部落格框架: Hexo
  • 網站主題: Volantis

2. (阿里雲)域名解析配置

2.1. 快速配置

對阿里雲購買的域名進行,使其指向自己購買的雲伺服器的IP。也就是域名與IP繫結。

操作路徑:
阿里雲控制檯 -> 產品與服務 -> 域名 -> 域名列表 -> 解析

示例:

  1. 進入域名配置頁面

file

  1. 選擇新手引導進行快速配置

file

  1. 填寫域名和IP

file

sunlogging.comwww.sunlogging.com 解析(繫結)到自己的伺服器的公網IP

2.2. 自定義配置

除了新手引導進行快速配置外,還可以點選新增記錄進行自定義配置域名解析。

file

2.2.1. 記錄型別

記錄型別指解析記錄的用途,例如:網站、郵箱等。

記錄型別 含義 備註
A 將域名指向一個IPV4地址 最常用的一種方式
AAAA 將域名指向一個IPV6地址
CNAME 將域名指向另外一個域名 CDN加速時需要用到
NS 將子域名指定其他DNS伺服器解析
MX 將域名指向郵件伺服器地址
SRV 記錄提供特定的服務的伺服器
TXT 文字長度限制512,通常做SPF記錄(反垃圾郵件)
CAA CA證書頒發機構授權校驗
顯性URL 將域名重定向到另外一個地址
隱性URL 與顯性URL類似,但是會隱藏真實目標地址

2.2.2. 主機記錄

主機記錄指域名字首,例如:www、mail等。

主機記錄 含義 備註
@ 表示主域名,如: sunlogging.com @是一個固定值,不能用其他字元代替
. 泛解析,表示滿足格式*.sunlogging.com的所有域名 記錄型別為顯性URL時不允許設定泛解析
abc 表示二級域名abc.sunlogging.com 這裡的abc可以替換成任意自定義的子域名,常見的二級域名參加下個表格
abc.def 表示三級域名abc.def.sunlogging.com 這裡的abc.def可以替換成任意自定義的二級和三級域名

常用的二級域:

常用二級域 含義
www 表示域名: sunlogging.com,常用於網際網路的網站業務
mail 表示域名: mail.sunlogging.com,常用於郵箱業務
m 表示域名: m.sunlogging.com,常用於手機網站

2.2.3. 記錄值

記錄值指解析記錄的具體內容,例如:IP地址、域名等。

記錄型別不同,記錄值填寫的內容也不一樣,具體如下:

記錄型別 記錄值
A 填寫 IPv4 的地址
AAAA 填寫 IPv6 的地址
CNAME 填寫 CNAME 指向的域名
NS 填寫 要授權的 DNS 伺服器域名,例如騰訊雲解析的DNS伺服器域名ns3.dnspod.net
MX 輸入內容透過聯絡郵箱註冊商提供。例如阿里雲郵提供的需要配置的解析記錄值是mx1.qiye.aliyuncom
SRV 格式為優先順序權重 埠目標地址 ,每項中間需以空格分隔;例如:0 5 5060 www.cloud-example.com
TXT 常用情況 TXT 記錄是用來做驗證類的操作,比如託管子域名時需要新增TXT記錄驗證,記錄值5d597b2c12464a7a8d0dde6b858ce543
CAA CA證書頒發機構授權校驗
顯性URL 填寫具體的URL
隱性URL 填寫具體的URL,如:http://www.aliyun.com:80

2.2.4. 解析請求來源

指域名訪問者所在的地區和使用的運營商網路。如:中國聯通、中國電信、百度、必應、谷歌等。

非必填項,可以不用管,選預設值就可以了。

3. 域名解析原理

3.1. 什麼是DNS

DNS(Domain Name System,域名系統)是因特網上作為域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP地址。

網路上計算機之間的通訊是透過IP地址來完成的,但IP地址並不便於記憶,我們需要一個方便記憶的名字來識別每一臺計算機,這就是域名,而維護域名的系統就叫做域名系統域名系統其實就是名字系統。域名是唯一的,IP也是唯一的,給你一個域名要知道它對應的IP地址,就需要有一個域名到IP的對映。 由域名去找IP地址的查詢過程就是DNS的解析,進行DNS解析的伺服器叫DNS伺服器,而DNS伺服器便充當了“翻譯官”的角色,將域名翻譯成IP地址。

3.2. DNS的解析原理

DNS的解析也就是透過域名查詢主機的過程,其查詢過程主要有三個步驟:

  1. 本地查詢(客戶機的DNS解析器)
  2. 客戶機到伺服器查詢
  3. 伺服器到伺服器查詢

file

3.2.1. 1.本地查詢

  1. 在瀏覽器中輸入www.microsoft.com域名,作業系統會先檢查自己本地的hosts檔案是否有這個域名的對映關係,如果有,就先呼叫這個IP地址對映,完成域名解析。
    Win7系統下本地的hosts檔案在C:\Windows\System32\drivers\etc\hosts,Linux系統下在:/etc/hosts
  2. 如果hosts裡沒有這個域名的對映,則查詢本地DNS解析器快取,是否有這個網址對映關係,如果有,直接返回,完成域名解析。
  3. 如果hosts與本地DNS解析器快取都沒有相應的網址對映關係,首先會找TCP/IP引數中設定的首選DNS伺服器,在此我們叫它本地DNS伺服器(也就是上圖中中間部分的DNS Server),在本地DNS伺服器中查詢 。
    Win7系統下TCP/IP引數的設定在:控制皮膚 ->網路和 Internet ->網路連線 ->本地連結 ->屬性 ->網路 ->Internet協議版本4(TCP/IPv4)

file

3.2.2. 2.客戶機到伺服器查詢

  1. 本地DNS伺服器收到查詢時,如果要查詢的域名,包含在本地配置的區域資原始檔中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
  2. 如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已快取了此網址對映關係,則呼叫這個IP地址對映,完成域名解析,此解析不具有權威性。
  3. 如果本地DNS伺服器區域資原始檔解析 與快取解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢。

3.2.3. 3.伺服器到伺服器查詢

  1. 如果未用轉發模式,本地DNS就把請求發至根DNS伺服器根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名管理的伺服器的IP。本地DNS伺服器收到IP資訊後,將會聯絡"負責.com域名解析的這臺伺服器“。這臺“負責.com域名解析的伺服器”收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(microsoft.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找microsoft.com域伺服器,重複上面的動作,進行查詢,直至找到www.microsoft.com主機。
  2. 如果用的是轉發模式,本地DNS伺服器就會把請求轉發至上一級DNS伺服器(microsoft.com),由上一級伺服器進行解析,上一級伺服器如果不能解析,會把轉請求轉至上上級(.com)或找根DNS伺服器,以此迴圈。不管是本地DNS伺服器用是是轉發模式,還是非轉發模式,最後都是把結果返回給本地DNS伺服器,由此DNS伺服器再返回給客戶機。

3.3. 遞迴查詢與迭代查詢

3.3.1. 遞迴查詢

主機向本地域名伺服器的查詢一般都是採用遞迴查詢。所謂遞迴查詢就是:如果主機所詢問的本地域名伺服器不知道被查詢的域名的IP地址,那麼本地域名伺服器就以DNS客戶的身份,向其它根域名伺服器繼續發出查詢請求報文(即替主機繼續查詢),而不是讓主機自己進行下一步查詢,即:完全代理掉主機的查詢請求。因此,遞迴查詢返回的查詢結果要麼是所要查詢的IP地址,要麼是報錯(表示無法查詢到所需的IP地址)。

3.3.2. 迭代查詢

本地域名伺服器向根域名伺服器的查詢的迭代查詢。迭代查詢的特點:當根域名伺服器收到本地域名伺服器發出的迭代查詢請求報文時,要麼給出所要查詢的IP地址,要麼告訴本地伺服器:“你下一步應當向哪一個域名伺服器進行查詢”。然後讓本地伺服器進行後續的查詢。根域名伺服器通常是把自己知道的頂級域名伺服器的IP地址告訴本地域名伺服器,讓本地域名伺服器再向頂級域名伺服器查詢。頂級域名伺服器在收到本地域名伺服器的查詢請求後,要麼給出所要查詢的IP地址,要麼告訴本地伺服器下一步應當向哪一個許可權域名伺服器進行查詢。最後,知道了所要解析的IP地址或報錯,然後把這個結果返回給發起查詢的主機。

file

4. 常用的公共DNS伺服器

參見文件: 部落格建站 - 常用的公共DNS伺服器


大家好,我是陌塵。

IT從業10年+, 北漂過也深漂過,目前暫定居於杭州,未來不知還會飄向何方。

搞了8年C++,也幹過2年前端;用Python寫過書,也玩過一點PHP,未來還會折騰更多東西,不死不休。

感謝大家的關注,期待與你一起成長。



【SunLogging】
部落格建站6 - 一文搞懂域名解析(保姆級教程和原理講解)
掃碼二維碼,關注微信公眾號,閱讀更多精彩內容

相關文章