dns迭代查询配置_dns解析?瞅瞅这篇文章
dns(?Domain Name System),顧名思義,就是用來將主機名和域名轉換為IP地址的系統,那么dns是怎么運作的呢,本文簡單記錄下龍叔的理解
1·研究環境
為了研究dns,當然要自己搭建一個dns服務器去做模擬實驗了,我這里準備了三個服務器做實驗。
192.168.30.135作為正常的服務器,192.168.30.128,192.168.30.133用bind搭建成dns服務器,搭建步驟如下:
1·安裝:yum install bind
2·修改/etc/named.conf 文件,對下面幾個配置做修改:
listen-on port 53 { any; };【表示服務器上所有ip地址都可提供dns域名解析】
allow-query ? ? { any; };【表示允許所有人對本服務發送dns查詢的請求】
dnssec-validation no;【表示當我們查詢dns時系統不做檢測】
3·修改/etc/named.rfc1912.zones文件,新增一個zone,
zone "wxl" IN {
? ? ? ? type master;
? ? ? ? file "wxl.zone";
? ? ? ? allow-update { none; };
};
訪問上級域名wxl.com的時候,去找wxl.com.zone文件,zone文件都放在/var/named目錄下面
4·在/var/named目錄下新增wxl.zone文件,可以復制原有文件,然后修改,wxl.com.zone文件內容如下:
$TTL 1D
@ ? ? ? IN SOA ?@ rname.invalid. (
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 ? ? ? ; serial
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1D ? ? ?; refresh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1H ? ? ?; retry
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1W ? ? ?; expire
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3H ) ? ?; minimum
? ? ? ? NS ? ? ?@
? ? ? ? A ? ? ? 127.0.0.1
? ? ? ? AAAA ? ?::1
wxl135 ?A ? ? ? 192.168.30.135
wxldns ?A ? ? ? 192.168.30.128
wxl133 ?A ? ? ? 192.168.30.133
5·重啟named服務:systemctl restart named
6·修改的192.168.30.135主機的/etc/resolv.conf文件,將其dns服務器改為192.168.30.128
# Generated by NetworkManager
search localdomain
nameserver?192.168.30.128
這個時候在192.168.30.135主機上nslookup wxl135,就會發現解析出來的IP 就是wxl.zone文件中配置的192.168.30.135了,dns服務器也看到是192.168.30.128了
2·知識點
2.1·域名解析類型
2.1.1·A記錄
最簡單的域名解析,就是將域名解析到你的服務的IP上
下面這種就是A記錄
wxl.zone文件內容
dig命令可以看到是A記錄
2.1.2·CNAME記錄
別名指向解析;,可以將注冊的不同域名轉到主域名上,與A記錄解析不同的是,CNAME記錄設置的是域名而不是ip地址。
如果需要將域名指向另一個域名,再由另一個域名提供 ip 地址,就需要添加 CNAME 記錄。
在wxl.zone文件中加入下面CNAME記錄
dig也可以看到xxx.wxl.com CNAME 解析到了wxl.a.wxl.com,然后wxl.a.wxl.com A記錄 解析到了192.168.30.135和127.0.0.1
nslookup也可以看到CNAME解析過程
我們熟悉的百度域名其實也是一樣,做了CNAME記錄
2.1.3·NS記錄
name server,顧名思義,就是域名服務器記錄,指定域名由哪個DNS服務器進行解析。注冊域名時,總有默認的DNS服務器,每個注冊的域名都是由一組DNS域名服務器來解析的。
如果需要把子域名交給其他 DNS 服務器解析,就需要添加 NS 記錄。
例如192.168.30.128作為父dns服務器,192.168.30.133作為子域名服務器,做子域授權
192.168.30.128【主dns服務器】wxl.zone文件如下,將dragon域內的解析工作交給192.168.30.133
192.168.30.133【子dns服務器】dragon.wxl.zone文件如下
在192.168.30.135(配置的dns服務器是192.168.30.128)上就可以正常解析出來在192.168.30.133上配置的子域名解析了
2.1.4·AAAA記錄
和A記錄類似,只不過獲取的是IPv6的地址。
2.1.5·MX記錄
郵件交換記錄,用于電子郵件系統發郵件時根據收信人的地址后綴來定位郵件服務器。這里不多講
2.2·域名結構
域名是有層次的,以“.”分割
2.3·域名服務器
根域名服務器:最高層次的域名服務器,所有的根域名服務器都知道所有的頂級域名服務器的域名和IP地址。不管是哪一個本地域名服務器,若要對因特網上任何一個域名進行解析,只要自己無法解析,就首先求助根域名服務器。
頂級域名服務器:負責管理在該頂級域名服務器注冊的二級域名。
權限域名服務器:負責一個“區”的域名服務器。
本地域名服務器:當一個主機發出dns查詢時,就會發送給本地域名服務器。
一個服務器所負責管轄(或有權限)的范圍叫做區(zone)。DNS服務器的管轄范圍不是以“域”為單位,而是以“區”為單位。區是DNS服務器實際管轄的范圍。區 <= 域。
圖a表示域abc.com只設一個區abc.com。這時,區abc.com和域abc.com指的是同一件事。
圖b表示域abc.com劃分為兩個區:abc.com和y.abc.com。這兩個區都隸屬于域abc.com,都各設置了相應的權限域名服務器。不難看出,區是域的子集。
2.4·遞歸查詢與迭代查詢
(1)遞歸查詢:本機向本地域名服務器發出一次查詢請求,就靜待最終的結果。如果本地域名服務器無法解析,自己會以DNS客戶機的身份向其它域名服務器查詢,直到得到最終的IP地址告訴本機
(2)迭代查詢:本地域名服務器向根域名服務器查詢,根域名服務器告訴它下一步到哪里去查詢,然后它再去查,每次它都是以客戶機的身份去各個服務器查詢。
2.5·緩存
簡單來說,一條域名的DNS記錄會在本地有兩種緩存:瀏覽器緩存和操作系統(OS)緩存。在瀏覽器中訪問的時候,會優先訪問瀏覽器緩存,
如果未命中則訪問OS緩存,最后再訪問DNS服務器(一般是ISP提供),然后DNS服務器會遞歸式的查找域名記錄,然后返回。
DNS記錄會有一個ttl值(time to live),單位是秒,意思是這個記錄最大有效期是多少。經過實驗,OS緩存會參考ttl值,但是不完全等于ttl值,
而瀏覽器DNS緩存的時間跟ttl值無關,每種瀏覽器都使用一個固定值。
總結
以上是生活随笔為你收集整理的dns迭代查询配置_dns解析?瞅瞅这篇文章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同外置模拟器用Android Stud
- 下一篇: json的格式和简单例子