用於管理和解析域名與IP地址對應關係的技術。 簡單來講,就是可以接受用戶輸入的域名或IP地址,而後自動查找與之匹配(或者說具備映射關係)的IP地址或域名,即將域名解析爲IP地址(正向解析),或將IP地址解析爲域名(反向解析)。
主服務器:在特定區域內具備惟一性,負責維護該區域內的域名與IP地址之間的對應關係。 從服務器:從主服務器中得到域名與IP地址的對應關係並進行維護,以防主服務器宕機等狀況。 緩存服務器:經過向其餘域名解析服務器查詢得到域名與IP地址的對應關係,並將常常查詢的域名信息保存到服務器本地,以此來提升重複查詢時的效
遞歸查詢:DNS服務器在收到用戶發起的請求時,必須向用戶返回一個準確的查詢結果。若是DNS服務器本地沒有存儲與之對應的信息,則該服務器須要詢問其餘服務器,並將返回的查詢結果提交給用戶。 迭代查詢:DNS服務器在收到用戶發起的請求時,並不直接回複查詢結果,而是告訴另外一臺DNS服務器的地址,用戶再向這臺DNS服務器提交請求,這樣依次反覆,直到返回查詢結果。
如今使用最爲普遍的DNS服務器軟件是BIND(Berkeley Internet Name Domain),最先有伯克利大學的一名學生編寫 DNS服務的名稱稱之爲BIND BIND服務的名稱稱之爲named DNS默認使用UDP、TCP協議,使用端口爲53(domain),953(mdc,遠程控制使用)
名稱 管理單位 地理位置 IP地址 A INTERNIC.NET 美國-弗吉尼亞州 198.41.0.4 B 美國信息科學研究所 美國-加利弗尼亞州 128.9.0.107 C PSINet公司 美國-弗吉尼亞州 192.33.4.12 D 馬里蘭大學 美國-馬里蘭州 128.8.10.90 E 美國航空航天管理局 美國加利弗尼亞州 192.203.230.10 F 因特網軟件聯盟 美國加利弗尼亞州 192.5.5.241 G 美國國防部網絡信息中心 美國弗吉尼亞州 192.112.36.4 H 美國陸軍研究所 美國-馬里蘭州 128.63.2.53 I Autonomica公司 瑞典-斯德哥爾摩 192.36.148.17 J VeriSign公司 美國-弗吉尼亞州 192.58.128.30 K RIPE NCC 英國-倫敦 193.0.14.129 L IANA 美國-弗吉尼亞州 199.7.83.42 M WIDE Project 日本-東京 202.12.27.33
[root@zhangjh ~]# yum -y install bind-chroot
主配置文件(/etc/named.conf):用來定義bind服務程序的運行。 區域配置文件(/etc/named.rfc1912.zones):用來保存域名和IP地址對應關係的所在位置。 數據配置文件目錄(/var/named):該目錄用來保存域名和IP地址真實對應關係的數據配置文件。
把 listen-on port 53 處 和 allow-query處 均修改成any;python
listen-on port 53: 表示服務器上的全部IP地址都可提供DNS域名解析服務;vim
allow-query:容許全部人對本服務器發送DNS查詢請求。緩存
options { listen-on port 53 { any; }; #默認是127.0.0.1 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; }; #默認是localhost
正向解析:將域名解析爲IP地址 反向解析:將IP地址解析爲域名
zone "localhost.localdomain" IN { type master; #服務類型 file "named.localhost"; #域名與IP地址解析規則保存文件的位置 allow-update { none; }; #容許哪些客戶端動態更新解析信息 };
zone "1.0.0.127.in-addr.arpa" IN { #表示爲127.0.0.1的反向解析區域 type master; file "named.loopback"; allow-update { none; }; };
[root@zhangjh ~]# vim /etc/named.rfc1912.zones zone "jianghua.com" IN { type master; #服務類型 file "jianghua.com.zone"; #域名和IP地址解析規則文保存的位置 allow-update { none; }; #容許哪些客戶端動態更新解析信息 };
2. 編輯數據配置文件。【能夠從/var/named目錄中複製一份正向解析的模板文件(named.localhost)】服務器
[root@zhangjh named]# pwd /var/named #這裏須要注意,不是/etc/named目錄,而是/var/named [root@zhangjh named]# vim jianghua.com.zone $TTL 1D #生存週期爲一天 @ IN SOA jianghua.com. root.jianghua.com. ( #受權信息開始: #DNS區域的地址 #域名管理員的郵箱(不要用@符號) 0 ; serial #更新序列號 1D ; refresh #更新時間 1H ; retry #重試延時 1W ; expire #失效時間 3H ) ; minimum #無效解析記錄的緩存時間 NS ns.jianghua.com. #域名服務器記錄 ns IN A 192.168.38.251 #NAMESERVER地址記錄 www IN A 192.168.38.251 #地址記錄(能夠存在多個:www.jianghua.com. bbs.jianghua.com.) bbs IN A 192.168.38.151
3. 重啓named服務,nslookup命令檢驗解析結果,注意先把網卡的DNS地址參數設置爲本機IP地址。網絡
[root@zhangjh ~]# systemctl restart named [root@zhangjh ~]# nslookup > www.jianghua.com Server: 192.168.38.251 Address: 192.168.38.251#53 Name: www.jianghua.com Address: 192.168.38.251 > bbs.jianghua.com Server: 192.168.38.251 Address: 192.168.38.251#53 Name: bbs.jianghua.com Address: 192.168.38.151
在DNS域名解析服務中,反向解析的做用是將用戶提交的IP地址解析爲對應的域名信息,它通常用於對某個IP地址上綁定的全部域名進行總體屏蔽,屏蔽由某些域名發送的垃圾郵件。它也能夠針對某個IP地址進行反向解析,大體判斷出有多少個網站運行在上面。數據結構
[root@zhangjh ~]# vim /etc/named.rfc1912.zones zone "jianghua.com" IN { #正向解析 type master; file "jianghua.com.zone"; allow-update { none; }; }; zone "38.168.192.in-addr.arpa" IN { #反向解析 type master; file "192.168.38.arpa"; };
2.編輯數據配置文件。【能夠從/var/named目錄中複製一份反向解析的模板文件(named.loopback)】dom
[root@zhangjh ~]# vim /var/named/192.168.38.arpa $TTL 1D @ IN SOA jianghua.com. root.jianghua.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.jianghua.com. ns A 192.168.38.251 251 PTR www.jianghua.com. #注意此處寫的是主機位!! 251 PTR bbs.jianghua.com.
3.檢驗解析結果分佈式
[root@zhangjh ~]# systemctl restart named [root@zhangjh ~]# nslookup > 192.168.38.251 Server: 192.168.38.251 Address: 192.168.38.251#53 251.38.168.192.in-addr.arpa name = bbs.jianghua.com. 251.38.168.192.in-addr.arpa name = www.jianghua.com.