一、dns域名名稱解析
結構:域名是一個具有層次結構的名稱,從右到左依次為頂級域名(TLD)、二級域名、三級域名等。
域名命名規則:
例如,在 “www.example.com” 這個域名中,“com” 是頂級域名,表示這是一個商業性質的域名;“example” 是二級域名,通常由域名所有者註冊並使用;“www” 是三級域名,一般用於指定特定的服務,如網站服務。
另,對www進一步解釋:“www” 通常是伺服器上的一個子域名。它可以被配置為指向伺服器上特定的目錄或者虛擬主機。這意味著網站管理員可以將與網頁相關的檔案(如 HTML、CSS、JavaScript 檔案等)放置在伺服器上 “www” 對應的目錄下,這樣當使用者透過 “www.example.com” 訪問時,伺服器就知道要從這個特定的目錄中獲取檔案並返回給使用者。
二、dns伺服器型別
1、根 DNS 伺服器
最高層級伺服器,儲存著頂級域名(如.com、.org、.net 等)伺服器的 IP 地址資訊。當使用者在瀏覽器中輸入一個網址時,DNS 查詢首先會訪問根 DNS 伺服器,以獲取能夠解析該域名所屬頂級域名的伺服器資訊。
全球共有13個IPV4根伺服器,中國有多個ipv4根伺服器映象,IPV6根伺服器全球共有25個,中國有4臺,包括 1 臺主根伺服器和 3 臺輔根伺服器
工作方式:當本地 DNS 伺服器(由網際網路服務提供商提供給使用者的 DNS 伺服器)無法從快取中獲取域名對應的 IP 地址時,它會首先向根 DNS 伺服器發起查詢。
2、頂級域名伺服器
頂級域名伺服器負責管理和維護特定頂級域名下的域名資訊。比如,.com 頂級域名伺服器管理所有以.com 結尾的域名相關資訊。它們儲存了所屬頂級域名下二級域名註冊商的 DNS 伺服器資訊,就像是圖書館中各個主要分類(頂級域名)下的子目錄,知道每個二級域名所屬的更詳細的位置(二級域名註冊商的 DNS 伺服器)。
中國有.cn的頂級域名伺服器(包括.com.cn),沒有com的頂級域名
工作方式:在根 DNS 伺服器返回頂級域名伺服器的 IP 地址後,本地 DNS 伺服器會向頂級域名伺服器查詢。頂級域名伺服器根據請求域名中的二級域名部分,返回該域名對應的權威 DNS 伺服器(Authoritative DNS Server)的 IP 地址。
3、權威 DNS 伺服器
權威 DNS 伺服器是對特定域名具有最終解析權的伺服器。它由域名所有者或其託管服務提供商維護,儲存著域名對應的實際 IP 地址以及其他 DNS 記錄(如 MX 記錄用於郵件交換,CNAME 記錄用於別名等)。這就好比是圖書館中具體書籍所在的書架,包含了域名最準確的資訊。
中國的權威dns伺服器型別:1、CNNIC(中國網際網路絡資訊中心),維護著.cn 頂級域名的權威 DNS 伺服器,負責管理和解析所有以.cn 結尾的域名相關資訊;2、運營商提供的權威 DNS 伺服器,電信四川:
工作方式:本地 DNS 伺服器在收到頂級域名伺服器返回的權威 DNS 伺服器的 IP 地址後,會向權威 DNS 伺服器查詢。權威 DNS 伺服器根據域名查詢對應的 IP 地址(或其他相關的 DNS 記錄)並返回給本地 DNS 伺服器。本地 DNS 伺服器將這個資訊快取起來,以便後續相同域名的查詢,同時把 IP 地址返回給發出請求的客戶端(如使用者的計算機),使得客戶端能夠與目標伺服器建立連線。
4、本地 DNS 伺服器
本地 DNS 伺服器是使用者接入網際網路的入口 DNS 伺服器,通常由網際網路服務提供商(ISP)提供。它的主要作用是接收使用者的 DNS 查詢請求,並嘗試從自己的快取中獲取域名對應的 IP 地址
天翼雲成都3的本地dns伺服器IP地址為:100.125.108.51。成都4資源池內網dns伺服器ip地址為:100.95.0.1
工作方式:使用者在瀏覽器或其他網路應用中輸入域名後,計算機會首先向本地 DNS 伺服器傳送查詢請求。本地 DNS 伺服器先檢查自己的快取,若有匹配記錄則直接返回 IP 地址;若沒有,則開始遞迴查詢,即代替使用者依次向根 DNS 伺服器、頂級域名伺服器、權威 DNS 伺服器查詢,最後將獲取到的 IP 地址返回給使用者,並快取該記錄以備後續查詢。
三、DNS記錄型別
DNS 記錄是儲存在 DNS 伺服器上的一組文字指令,用於將域名與各種網路資源相關聯,是域名系統(DNS)中的核心資料,它就像是網際網路的地址簿,記錄著域名與 IP 地址、郵件伺服器等資源之間的對應關係,使得使用者能夠透過方便記憶的域名來訪問網路資源
1、A 記錄
功能:用於將域名對映到一個 IPv4 地址,是最常見和最常用的 DNS 記錄型別之一。當使用者在瀏覽器中輸入域名時,計算機透過查詢 DNS 伺服器的 A 記錄來獲取對應的 IPv4 地址,從而建立與伺服器的連線
2、AAAA 記錄
功能:與 A 記錄類似,但用於將域名解析到 IPv6 地址
3、CNAME 記錄
功能:用於建立域名別名,將一個域名(別名)指向另一個域名(真實名稱),而不是直接指向一個 IP 地址。當使用者訪問別名域名時,實際上是訪問了被指向的真實域名所對應的伺服器資源1.
應用場景:在網站更新、伺服器遷移或者需要多個域名指向同一資源的場景中非常有用,可以方便地對域名進行重定向和統一管理,避免因為伺服器變更而需要逐個更新域名的指向.
4、MX 記錄
功能:郵件交換記錄,用於指定負責接收郵件的郵件伺服器。當傳送郵件時,傳送方的郵件伺服器會查詢接收方域名的 MX 記錄,以確定將郵件傳送到哪個郵件伺服器
5、NS 記錄
功能:用於指定域名的權威 DNS 伺服器,一個域名的權威 DNS 伺服器是對該域名解析資訊具有最終決定權的伺服器。NS 記錄指向所有該域名持有的其他記錄,沒有 NS 記錄,使用者將無法訪問網站1.
應用場景:在域名註冊和管理過程中使用,當註冊一個域名時,需要指定該域名的權威 DNS 伺服器,透過設定 NS 記錄來實現。同時,在進行域名解析時,其他 DNS 伺服器會根據 NS 記錄找到權威 DNS 伺服器來獲取最準確的域名解析資訊.
6、PTR 記錄
功能:主要用於反向解析,即將 IP 地址解析為域名,與 A 記錄和 AAAA 記錄的作用相反。它可以實現透過 IP 地址訪問域名,在一些網路安全和驗證場景中很有用,比如檢查郵件伺服器的合法性等1.
應用場景:在網路安全領域,特別是郵件伺服器的反垃圾郵件驗證和一些網路訪問控制機制中應用,透過反向解析 IP 地址來驗證其對應的域名是否符合預期,有助於防止非法訪問和垃圾郵件的傳送.
四、dns正向解析過程
五、dns反向解析過程
- 確定反向解析域:DNS 反向解析使用特殊的頂級域 “in-addr.arpa”。對於一個 IP 地址,如 117.78.61.19,其對應的反向域名是 19.61.78.117.in-addr.arpa。
- 查詢本地 DNS 快取:客戶端首先會檢查自己本地的 DNS 快取,看是否已經存在該 IP 地址的反向解析結果。如果快取中有對應的域名資訊,則直接返回結果,無需再向其他 DNS 伺服器查詢。
- 向本地 DNS 伺服器查詢:如果本地 DNS 快取中沒有找到結果,客戶端會向其配置的本地 DNS 伺服器傳送反向解析請求,請求查詢指定 IP 地址對應的域名。
- 本地 DNS 伺服器查詢:
- 檢查自身快取:本地 DNS 伺服器收到請求後,先檢查自己的快取中是否有該 IP 地址的反向解析記錄。若有,則直接將結果返回給客戶端。
- 遞迴查詢或迭代查詢:若本地 DNS 伺服器快取中無相應記錄,它會根據自身的配置進行遞迴查詢或迭代查詢。在遞迴查詢中,本地 DNS 伺服器會代替客戶端向其他 DNS 伺服器查詢,直到獲得最終結果並返回給客戶端;而在迭代查詢中,本地 DNS 伺服器會向根 DNS 伺服器或其他權威 DNS 伺服器傳送查詢請求,並根據收到的響應逐步查詢,直到找到負責該反向解析域的權威 DNS 伺服器7.
- 權威 DNS 伺服器查詢:最終,查詢請求會到達負責該反向解析域的權威 DNS 伺服器。權威 DNS 伺服器會查詢其配置的 PTR 記錄,PTR 記錄用於將 IP 地址對映到對應的域名,找到與請求的 IP 地址對應的域名後,將結果返回給查詢的 DNS 伺服器235.
- 結果返回:查詢結果沿著查詢路徑依次返回,最終由本地 DNS 伺服器將反向解析得到的域名返回給客戶端。
六、CDN
七、dns應用於網路排障
1、nslookup
-
- 格式:
nslookup -type=[記錄型別] [域名]
。例如,要查詢www.baidu.com
的 CNAME 記錄,輸入nslookup -type=cname www.baidu.com
。 - 記錄型別說明:
- A 記錄:是最常見的記錄型別,用於將域名對映到 IP 地址,這是預設查詢的記錄型別。
- CNAME 記錄:即別名記錄,用於將一個域名別名指向另一個域名。比如,
www.example.com
的 CNAME 記錄可能指向example.com
,表示www.example.com
是example.com
的別名。 - MX 記錄:用於指定郵件伺服器,用於電子郵件的傳送和接收。例如,查詢一個公司域名的 MX 記錄,可以知道該公司的郵件伺服器地址。
- NS 記錄:即域名伺服器記錄,用於指定該域名的 DNS 伺服器。
- 格式:
-
- 格式:
nslookup [域名] [DNS伺服器地址]
。例如,你知道某個可靠的 DNS 伺服器(如谷歌的公共 DNS 伺服器8.8.8.8
),想要使用它來查詢www.example.com
的 IP 地址,可以輸入nslookup www.example.com 8.8.8.8
- 格式:
清除 DNS 快取
DNS 快取中儲存了之前查詢過的域名及其對應的 IP 地址等資訊,有時快取中的資料可能會出現錯誤或過時,進而引發網路故障。在 Windows 系統下,可以在命令提示符中輸入 “ipconfig /flushdns” 命令來清除 DNS 快取;在 Linux 系統中,可使用 “sudo systemctl restart NetworkManager” 或 “sudo /etc/init.d/networking restart” 等命令來重新整理 DNS 快取,使裝置重新獲取最新的域名解析資訊。