-
DNS
-
DNS是什么
-
為什么要用DNS
-
域名
-
BIND
DNS是什么
DNS:Domain Name System,域名系統
DNS作為域名和IP地址相互映射的一個分布式數據庫,能夠讓用戶更方便的訪問互聯網。它的正向映射是吧一個主機和IP地址關聯起來,它的反向映射則是IP地址到主機名。
DNS協議運行在UDP協議上,使用53端口。
為什么要用DNS
-
連接到互聯網上的主機不計其數。當我想要訪問
www.magedu.com
這臺主機的時候,是如何查找到它的呢?
假如,我的電腦想要訪問www.magedu.com
這個網站。由于底層網絡是只能理解IP地址,而我的電腦不知道www.magedu.com
這臺主機的IP地址。所以我的電腦會向最近的遠端DNS服務器發送請求查詢www.magedu.com
的IP地址。DNS服務器收到查詢請求之后,把查詢到的結果(IP:101.200.188.230)再返還給我的電腦。然后我的電腦再通過IP地址進行訪問。
如圖所示: -
我的電腦向DNS服務器發送查詢請求
-
DNS服務器將查詢的結果返還給我的電腦
-
我的電腦通過IP地址訪問
www.magedu.com
域名
-
DNS名字空間
DNS名字空間被組織成一個“樹”形結構。每個完整的域名(例如,www.magedu.com)是這棵樹的分支上的一個結點。
完整限定域名(FQDN,Fully Qualified Domain Name)是到一個DNS對象的完整路徑,包括最后的一個點。例如,magedu.com
域里的一臺為www
的主機,其FQDN就是www.baidu.com
。
以上述的域名為例說明,magedu
網址是由兩部分組成,標號magedu
是這個域名的主體,而最后的標號com
則是該域名的后綴,代表的這是一個com國際域名,是頂級域名。而前面的www
是網絡名,為www的域名。
DNS規定,域名中的標號由英文字母和數字組成,每個組成部分(標號)不能超過63個字符,整個FQDN(完整域名)全長不超過256個字符。FQDN不區分大小寫,但是它們通常都采用小寫。RFC2181對域名放開了限制。 -
域名級別
域名分為:
國際頂級域名:.com,.net,.org,.edu等
國家地區頂級域名:.cn,.de,.jp,.hk,.uk,.us等
除了頂級域名外,還有二級域名,就是靠近頂級域名的左側的字段。如:www.magedu.com
中,.magedu
就是二級域名。接下來還有三級域名,即靠近二級域名的左側的字段,以此類推還有四級域名等等。 -
DNS查詢類型
遞歸查詢:客戶機向根服務器發送請求,根服務器并不返回真實的答案,而是推薦它下級的服務器,以此類推,直到查詢IP地址返回給客戶機。
迭代查詢:客戶機向DNS服務器發送請求,DNS服務器直接回復答案給客戶機。 -
域名解析
正向解析:FQDN到IP地址的解析。
反向解析:IP地址到FQDN的解析。 -
域名服務器的分類
服務器的類型 說明 主服務器 維護所負責解析的域內解析庫的服務器 從服務器 從主DNS服務器或其它從DNS服務器“復制”(區域傳送)一份解析庫 緩存服務器 緩存以前的查詢,通常沒有本地的區 轉發服務器 負責非本地域名的本地查詢 -
一次完整的查詢過程
以上述域名www.magedu.com
為例。客戶機向最近的遠端DNS服務器發送查詢請求,DNS服務器首先查看緩存中是否有www.magedu.com
這條記錄。如果沒有就向根服務器發送查詢請求,根服務器會告訴你要去請求.com
頂級服務器。之后DNS服務器再向頂級域名服務器發送查詢請求,得到的回復是向.magedu
這個二級域名服務器發送查詢請求。最終,DNS服務器向二級域名發送請求并得到正確答案返回給客戶機。同時將此次查詢的結果寫入緩存之中,以便下次的查詢。 -
資源記錄
DNS層次結構中的每一個區(zone),都有與之相關的一組資源記錄。資源記錄的基本格式是:name [TTL] IN rr_type value
記錄的類型類型 名稱 功能 SOA Start Of Authority 定義一個DNS區 NS Name Server 標識服務器,授權子域 A IPv4 Address 名字到地址的轉換 AAAA IPv6 Address 名字到IPv6地址的轉換 PTR Pointer 地址到名字的轉換 MX Mail Exchanger 控制郵件的路由 CNAME Canonical Name 主機的昵稱或別名 -
記錄類型解釋
SOA
一個SOA記錄標記出一個區,即位于DNS域名空間中相同位置的一組資源記錄的開始位置。一個DNS域的數據通常至少包括兩個區:一個區用來把主機名轉換成IP地址,稱為正向區,其他一些區把IP地址反向映射到主機名,稱為反向區。
例如: magedu.com. 86400 IN SOA ns.magedu.com. admin.magedu.com. ( 2016040201 ; 序列號 2H ;刷新時間 10M ;重試時間 1W ;過期時間 1D ;否定答案的TTL值 )
NS
NS(域名服務器)記錄標識一個區的權威服務器(主服務器和從服務器),并把子域授權給其他機構。NS記錄通常直接放在這個區的SOA記錄后面
注意:一個區域可以有多條NS記錄
例如: magedu.com. IN NS ns1.magedu.com. magedu.com. IN NS ns2.magedu.com. 注意: 相鄰的兩個資源記錄的name相同時,后續的可以省略。 對NS記錄而言,任何一個NS記錄后面的服務器名字,都應該在后續有一個A記錄。
MX
電子郵件系統使用MX記錄來更有效地路由郵件。MX記錄優先于郵件發送方所指定的目的地址,在大多數情況下,它將郵件指向接收方網點的郵件主機。
一個區域內,MX記錄可有多個,但是每個記錄的value之前應該有一個數字(0-99)。表示此服務器的優先級,數字越小優先級越高。 例如: magedu.com. IN MX 10 mx1.magedu.com. IN MX 20 mx2.magedu.com. 注意: 對MX記錄而言,任何一個MX記錄后面的服務器名字,都應該在后續有一個A記錄。
A
A記錄是DNS數據庫的核心。它們提供了主機名到IP地址的映射,而這以前實在/etc/hosts
文件中指定的。一個主機通常給它的每個網絡接口都有一條A記錄。
例如: ns1 IN A 101.200.188.230
AAAA
AAAA記錄提供主機名到IPv6地址的映射。
PTR
PTR記錄提供IP地址到主機名的反向映射。反向映射記錄存在于in-addr.arpa
這個域,并且以IP地址各字節逆序的形式命名。
例如: 101 IN PTR www.magedu.com.
CNAME
CNAME記錄為之際多分配幾個名字。通常,這些別名要么用來將某項功能與主機關聯起來,要么用來縮短一個長主機名。
例如: web.magedu.com. IN CNAME www.magedu.com.
BIND
BIND指Berkeley Internet Name Domain(伯克利因特網域名)系統,它是ISC提供的一種開源軟件包,為Linux、UNIX、Mac OS和Windows系統實現了DNS協議。
BIND安裝
BIND需要兩個包:bind
和bind-utils
,通過yum來進行安裝:
~]# yum install bind bind-utils -y
主DNS的配置
一、修改/etc/named.conf
[root@ns1 ~]# vim /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; // dnssec-enable yes; // dnssec-validation yes; // dnssec-lookaside auto; /* Path to ISC DLV key */ // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
二、編輯/etc/named.rfc1912.zones文件,在最后添加如下兩項
[root@ns1 ~]# vim /etc/named.rfc1912.zones ......省略...... zone "iamyanglei.com" IN { #正向解析 type master; #類型為主DNS file "iamyanglei.com.zone"; #正向解析文件位置 }; zone "1.168.192.in-addr.arpa" IN { #反向解析 type master; #類型為主DNS file "192.168.1.zone"; #反向解析文件位置 };
三、在/var/named/目錄中添加正向解析文件iamyanglei.com.zone
[root@ns1 named]# vim iamyanglei.com.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( #SOA字段 2016051101 #版本號,同步一次+1 1H #更新時間 2M #更新失敗,重試更新時間 3D #更新失敗多長時間后此DNS失效時間 1D #解析不到請求不予回復的時間 ) IN NS ns1.iamyanglei.com. #域名服務器 IN MX 10 mx1.iamyanglei.com. #定義郵件服務器,10指優先級 ns1 IN A 192.168.1.104 #ns1域名服務器的IP地址 mx1 IN A 192.168.1.111 #mx1郵件服務器的IP地址 www IN A 192.168.1.121 #www.iamyanglei.com的IP地址 cname IN CNAME www #別名
檢查語法錯誤
[root@ns1 named]# named-checkconf [root@ns1 named]# named-checkzone "iamyanglei.com.zone" /var/named/iamyanglei.com.zone zone iamyanglei.com.zone/IN: loaded serial 2016051101 OK
四、在/var/named/目錄中添加反向文件192.168.1.zone
[root@ns1 named]# vim 192.168.1.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051101 1H 2M 2D 1D ) IN NS ns1.iamyanglei.com. 104 IN PTR ns1.iamyanglei.com. 111 IN PTR mx1.iamyanglei.com. 121 IN PTR www.iamyanglei.com.
檢查語法錯誤
[root@ns1 named]# named-checkconf [root@ns1 named]# named-checkzone "192.168.1.zone" /var/named/192.168.1.zone zone 192.168.1.zone/IN: loaded serial 2016051101 OK
五、更改兩個自定義區域文件的權限為640和屬組為named
[root@ns1 named]# chmod 640 iamyanglei.com.zone 192.168.1.zone [root@ns1 named]# chown :named iamyanglei.com.zone [root@ns1 named]# chown :named 192.168.1.zone
六、重啟DNS,然后進行正向方向解析測試
[root@ns1 named]# service named restart [root@ns1 named]# dig -t A www.iamyanglei.com @192.168.1.104 #正向解析 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t A www.iamyanglei.com @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12805 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.iamyanglei.com. IN A ;; ANSWER SECTION: www.iamyanglei.com. 86440 IN A 192.168.1.121 ;; AUTHORITY SECTION: iamyanglei.com. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ;; Query time: 0 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 04:48:38 2016 ;; MSG SIZE rcvd: 86 [root@ns1 named]# dig -x 192.168.1.104 @192.168.1.104 #反向解析 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -x 192.168.1.104 @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37907 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;104.1.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 104.1.168.192.in-addr.arpa. 86440 IN PTR ns1.iamyanglei.com. ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ;; Query time: 0 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 04:51:18 2016 ;; MSG SIZE rcvd: 106
從DNS的配置
一、從服務器的/etc/named.conf
文件配置和主DNS一樣。
二、編輯區域文件/etc/named.rfc1912.zones
,在后面添加正反解析
zone "iamyanglei.com" IN { #正向解析 type slave; #類型從DNS master { 192.168.1.104; }; #主DNS的IP地址 file "slaves/iamyanglei.com.zone"; #iamyanglei.com.zone拷貝到slaves目錄下 }; zone "1.168.192.in-addr.arpa" IN { #反向解析 type slave; #類型從DNS master { 192.168.1.104; }; #主DNS的IP地址 file "slaves/192.168.1.zone"; #192.168.1.in-addr.arpa拷貝到slaves目錄下 };
三、重啟DNS,查看/var/named/slaves目錄,會出現192.168.1.zon
和iamyanglei.com.zone
兩個文件
[root@ns2 ~]# service named restart Stopping named: [ OK ] Starting named: [ OK ] [root@ns2 ~]# ls /var/named/slaves/ 192.168.1.zone iamyanglei.com.zone
四、測試正向解析
[root@ns2 ~]# dig -t NS iamyanglei.com @192.168.1.104 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t NS iamyanglei.com @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46687 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2 ;; QUESTION SECTION: ;iamyanglei.com. IN NS ;; ANSWER SECTION: iamyanglei.com. 86440 IN NS ns2.iamyanglei.com. iamyanglei.com. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ns2.iamyanglei.com. 86440 IN A 192.168.1.106 ;; Query time: 1 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 05:08:38 2016 ;; MSG SIZE rcvd: 100
主從同步
在主DNS的/var/named/iamyanglei.com.zone中添加一條A記錄
[root@ns1 named]# cat iamyanglei.com.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051102 #版本號+1 1H 2M 3D 1D ) IN NS ns1.iamyanglei.com. IN NS ns2.iamyanglei.com. IN MX 10 mx1.iamyanglei.com. ns1 IN A 192.168.1.104 ns2 IN A 192.168.1.106 mx1 IN A 192.168.1.111 www IN A 192.168.1.121 cname IN CNAME www img IN A 192.168.1.104 #添加的A記錄
主DNS重讀配置文件
[root@ns1 named]# service named reload Reloading named: [ OK ]
到從DNS上查看是否同步復制過來
[root@ns2 ~]# cat /var/named/slaves/iamyanglei.com.zone $ORIGIN . $TTL 86440 ; 1 day 40 seconds iamyanglei.com IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051102 ; serial #版本號跟隨主DNS 3600 ; refresh (1 hour) 120 ; retry (2 minutes) 259200 ; expire (3 days) 86400 ; minimum (1 day) ) NS ns1.iamyanglei.com. NS ns2.iamyanglei.com. MX 10 mx1.iamyanglei.com. $ORIGIN iamyanglei.com. cname CNAME www img A 192.168.1.104 #新的A記錄 mx1 A 192.168.1.111 ns1 A 192.168.1.104 ns2 A 192.168.1.106 www A 192.168.1.121
原創文章,作者:黑白子,如若轉載,請注明出處:http://www.www58058.com/16152
已置頂
寫的不錯
@wangquan8628:Infidelity sttitsaics?Can someone provide a link to a REPUTABLE website showing the infidelity statistics of men vs. that of women. I’m writing a college paper and need a reputable survey. I need to know what percentage of men cheat in their marriage compared to how many women do the same.Reputable website + the right statistics WILL get best answer.Thanks
對實驗很有幫助,再加上原理就更好了
0801+簡單明了,通俗易懂,解釋很詳細!對我幫助很大!不錯!不錯
@sky138170:回復在原始博客下是無效評論哦,要評論在《馬哥教育首屆IT技術博客大賽–復審階段》帖子下才有效哦!