1、什么是DNS,? DNS( Domain Name System)是“域名系統(tǒng)”的英文縮寫,,是一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng),使用的是UDP協(xié)議的53號(hào)端口,,它用于TCP/IP網(wǎng)絡(luò),,它所提供的服務(wù)是用來將主機(jī)名和域名轉(zhuǎn)換為IP地址的工作。DNS就是這樣的一位“翻譯官”,,它的基本工作原理可用下圖來表示,。 2、DNS服務(wù)基本概念在介紹DNS服務(wù)器工作原理之前我們先來了解幾個(gè)DNS相關(guān)的概念: 1,、FQDN:Full Qualified Domain Name,,完全限定域名,即每個(gè)域在全球網(wǎng)絡(luò)都是唯一的,;另外值得提到的一點(diǎn)是域并不是指諸如www.google.com這樣的域名,,而google.com才是域;
2,、域的分類 (1)根域:標(biāo)識(shí)為(.)點(diǎn) ,全球13組根域名服務(wù)器以英文字母A到M依序命名,,域名格式為“字母.root-servers.net”。其中有11個(gè)是以任播技術(shù)在全球多個(gè)地點(diǎn)設(shè)立鏡像站,。比如中國大陸在北 京有兩臺(tái)編號(hào)為L的鏡像,,編號(hào)為F、I,、J的鏡像各一臺(tái),,共5臺(tái);香港有編號(hào)為D,、J的鏡像各2臺(tái),,編號(hào)為A、F,、I,、L的鏡像各一臺(tái),共8臺(tái),;臺(tái)灣則有編號(hào)為F,、I、J各一臺(tái),,共3臺(tái),。 (2)頂級(jí)域:頂級(jí)域(Top Level Domain,簡稱TLD)分為三類 1> 通用頂級(jí)域:諸如 .com(商業(yè)機(jī)構(gòu)) .org(非營利性組織) .net(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu))等 2> 國家頂級(jí)域:諸如 .cn(中國) .uk(英國) .us(美國) .jp(小日本) 3> 反向域(基礎(chǔ)建設(shè)頂級(jí)域):.arpa,即從IP到FQDN的反向解析
3,、DNS服務(wù)器查詢的類型: (1)遞歸:客戶端僅發(fā)出一次請(qǐng)求,,讓DNS服務(wù)器去查詢返回結(jié)果,; (2)迭代:要發(fā)出多次請(qǐng)求去分別查詢不同的DNS服務(wù)器;
4,、DNS名稱解析方式: (1)正向解析:即將FQDN轉(zhuǎn)化為IP,。 (2)反向解析:即將IP轉(zhuǎn)化為FQDN。
5,、DNS服務(wù)器類型: (1)主DNS服務(wù)器:負(fù)責(zé)解析至少一個(gè)域,。 (2)輔助(從)DNS服務(wù)器:負(fù)責(zé)解析至少一個(gè),是主DNS服務(wù)器的輔助,。 (3)緩存DNS服務(wù)器:不負(fù)責(zé)解析域,,只是緩存域名解析結(jié)果。
6,、DNS返回的結(jié)果類型: (1)肯定答案:查詢的域存在,,會(huì)被緩存下來。 (2)否定答案:不存在查詢的域名,,因此不存在與其查詢的域名對(duì)應(yīng)的IP,;會(huì)被緩存下來。 (3)權(quán)威答案:所查詢的域名的結(jié)果是由負(fù)責(zé)解析這個(gè)域的DNS服務(wù)器所返回的答案,。 (4)非權(quán)威答案:在緩存中查詢的結(jié)果,。
7、DNS的監(jiān)聽端口:tcp的53號(hào)端口,,udp的53號(hào)端口,。 3、DNS解析原理
(1)當(dāng)用戶在瀏覽器中輸入www.qq.com域名訪問該網(wǎng)站時(shí),,操作系統(tǒng)會(huì)先檢查自己本地的hosts文件是否有這個(gè)網(wǎng)址映射關(guān)系,,如果有,就先調(diào)用這個(gè)IP地址映射,,完成域名解析,。
(2)如果hosts里沒有這個(gè)域名的映射,則查找本地DNS解析器緩存,,是否有這個(gè)網(wǎng)址映射關(guān)系,,如果有,直接返回,,完成域名解析,。
(3)如果hosts與本地DNS解析器緩存都沒有相應(yīng)的網(wǎng)址映射關(guān)系,首先會(huì)找TCP/ip參數(shù)中設(shè)置的首選DNS服務(wù)器,,在此我們叫它本地DNS服務(wù)器,,此服務(wù)器收到查詢時(shí),如果要查詢的域名,,包含在本地配置區(qū)域資源中,,則返回解析結(jié)果給客戶機(jī),完成域名解析,,此解析具有權(quán)威性,。
(4)如果要查詢的域名,不由本地DNS服務(wù)器區(qū)域解析,,但該服務(wù)器已緩存了此網(wǎng)址映射關(guān)系,,則調(diào)用這個(gè)IP地址映射,完成域名解析,,此解析不具有權(quán)威性,。
(5)如果本地DNS服務(wù)器本地區(qū)域文件與緩存解析都失效,則根據(jù)本地DNS服務(wù)器的設(shè)置(是否設(shè)置轉(zhuǎn)發(fā)器)進(jìn)行查詢,,如果未用轉(zhuǎn)發(fā)模式,,本地DNS就把請(qǐng)求發(fā)至13臺(tái)根DNS,根DNS服務(wù)器收到請(qǐng)求后會(huì)判斷這個(gè)域名(.com)是誰來授權(quán)管理,,并會(huì)返回一個(gè)負(fù)責(zé)該頂級(jí)域名服務(wù)器的一個(gè)IP,。本地DNS服務(wù)器收到IP信息后,將會(huì)聯(lián)系負(fù)責(zé).com域的這臺(tái)服務(wù)器,。這臺(tái)負(fù)責(zé).com域的服務(wù)器收到請(qǐng)求后,,如果自己無法解析,它就會(huì)找一個(gè)管理.com域的下一級(jí)DNS服務(wù)器地址(qq.com)給本地DNS服務(wù)器,。當(dāng)本地DNS服務(wù)器收到這個(gè)地址后,,就會(huì)找qq.com域服務(wù)器,重復(fù)上面的動(dòng)作,,進(jìn)行查詢,,直至找到www.qq.com主機(jī)。
(6)如果用的是轉(zhuǎn)發(fā)模式,,此DNS服務(wù)器就會(huì)把請(qǐng)求轉(zhuǎn)發(fā)至上一級(jí)DNS服務(wù)器,,由上一級(jí)服務(wù)器進(jìn)行解析,上一級(jí)服務(wù)器如果不能解析,,或找根DNS或把轉(zhuǎn)請(qǐng)求轉(zhuǎn)至上上級(jí),,以此循環(huán)。不管是本地DNS服務(wù)器用是是轉(zhuǎn)發(fā),,還是根提示,,最后都是把結(jié)果返回給本地DNS服務(wù)器,由此DNS服務(wù)器再返回給客戶機(jī),。 4,、DNS配置文件/etc/named.conf 主配置文件 服務(wù)器主要運(yùn)行參數(shù) /etc/named.rfc1912.zones 區(qū)域文件,,主要指定要解析哪個(gè)域名 /var/named/xxx.xx 數(shù)據(jù)文件,,用來正向和反向的解析 5、資源記錄的類型(1)A記錄(Address)正向解析A記錄是將一個(gè)主機(jī)名(全稱域名FQDN)和一個(gè)IP地址關(guān)聯(lián)起來,。這也是大多數(shù)客戶端程序默認(rèn)的查詢類型,。 (2)PTR記錄(Pointer)反向解析PTR記錄將一個(gè)IP地址對(duì)應(yīng)到主機(jī)名(全稱域名FQDN)。這些記錄保存在in-addr.arpa域中,。 (3)CNAME記錄(Canonical Name)別名別名記錄,,也稱為規(guī)范名字(Canonical Name)。這種記錄允許您將多個(gè)名字映射到同一臺(tái)計(jì)算機(jī),。 (4)MX記錄(Mail eXchange)MX記錄是郵件交換記錄,,它指向一個(gè)郵件服務(wù)器,用于電子郵件系統(tǒng)發(fā)郵件時(shí)根據(jù) 收信人的地址后綴來定位郵件服務(wù)器,。MX記錄也叫做郵件路由記錄,,用戶可以將該域名下的郵件服務(wù)器指向到自己的mail server上,然后即可自行操控所有的郵箱設(shè)置,。 當(dāng)有多個(gè)MX記錄(即有多個(gè)郵件服務(wù)器)時(shí),,則需要設(shè)置數(shù)值來確定其優(yōu)先級(jí)。通過設(shè)置優(yōu)先級(jí)數(shù)字來指明首選服務(wù)器,,數(shù)字越小表示優(yōu)先級(jí)越高,。 (5)NS記錄(Name Server)NS(Name Server)記錄是域名服務(wù)器記錄,也稱為授權(quán)服務(wù)器,,用來指定該域名由哪個(gè)DNS服務(wù)器來進(jìn)行解析,。 將網(wǎng)站的NS記錄指向到目標(biāo)地址,在設(shè)置NS記錄的同時(shí)還需要設(shè)置目標(biāo)網(wǎng)站的指向,,否則NS記錄將無法正常解析 NS記錄優(yōu)先于A記錄,。即,如果一個(gè)主機(jī)地址同時(shí)存在NS記錄和A記錄,,則A記錄不生效,。
6、DNS服務(wù)的配置方法提示:本次DNS環(huán)境配置是在centos7.x中進(jìn)行的,。 (1)配置前的準(zhǔn)備工作1,、配置好本地光盤yum源或者配置網(wǎng)絡(luò)yum源 2、設(shè)置好防火墻開放UDP的53端口,,或者直接關(guān)閉防火墻 防火墻永久關(guān)閉:/etc/init.d/iptables stop service iptables stop
3,、關(guān)閉selinux selinux臨時(shí)關(guān)閉:setenforce 0 selinux永久關(guān)閉:sed –i“7s/enforcing/disabled/g”/etc/selinux/config (2)安裝bind軟件[root@localhost ~]# yum -y install bind
(3)修改主配置文件/etc/named.conf兩個(gè)地方為{any}[root@localhost ~]# vim /etc/named.conf 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; };
(4)修改區(qū)域文件/etc/named.rfc1912.zones配置文件說明: [root@localhost ~]# vim /etc/named.rfc1912.zones zone "long.com" IN { type master; file "named.zheng"; 正向解析文件名(名稱可以自定義) allow-update { none; }; };
zone "115.168.192.in-addr.arpa" IN { type master; file "named.fan"; 反向解析文件名(名稱可以自定義) allow-update { none; }; }; 提示:上面的配置文件可以只保留兩個(gè)地方,一個(gè)正向解析域名,,一個(gè)反向解析域名,,其余都可以刪除
[root@localhost ~]# cd /var/named/ [root@localhost named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves
生成上面的/etc/named.rfc1912.zones配置文件中指定的正反解析文件 [root@localhost named]# cp -a named.localhost named.zheng [root@localhost named]# cp -a named.loopback named.fan
(5)修改上面的正向解析文件和反向解析文件解析文件named.*的說明: 正向解析文件named.zheng的修改 [root@localhost named]# vim named.zheng $TTL 1D @ IN SOA long.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.long.com. dns A 192.168.115.120 dns服務(wù)器的IP地址 www A 192.168.115.130 www服務(wù)器的IP地址 AAAA ::1 ~
反向解析文件named.fan的修改: [root@localhost named]# vim named.fan $TTL 1D @ IN SOA long.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.long.com. 120 PTR dns.long.com. 130 PTR www.long.com.
[root@localhost named]# systemctl start named.service 啟動(dòng)dns服務(wù)
(6)找一個(gè)客戶端,把DNS修改成成我們的DNS 服務(wù)器IP地址,,然后保存退出,,重啟網(wǎng)卡[root@localhost network-scripts]# systemctl restart network.service [root@localhost network-scripts]# cat /etc/resolv.conf 查看DNS已經(jīng)修改成我們搭建的了 # Generated by NetworkManager search long.com nameserver 192.168.115.120
[root@localhost network-scripts]# yum install bind-utils 安裝nslookup命令的軟件包 [root@localhost network-scripts]# nslookup > 192.168.115.130 查看用ip能否解析成域名 Server: 192.168.115.120 Address: 192.168.115.120#53
130.115.168.192.in-addr.arpa name = www.long.com. > www.long.com 查看用域名能否解析成IP地址 Server: 192.168.115.120 Address: 192.168.115.120#53
Name: www.long.com Address: 192.168.115.130 (7)再創(chuàng)建一臺(tái)虛擬機(jī)作為網(wǎng)頁服務(wù)器,,把IP地址修改為我們DNS服務(wù)器解析的IP地址,然后安裝httpd服務(wù)[root@localhost network-scripts]# yum -y install httpd [root@localhost network-scripts]# systemctl start httpd.service
(8)在客戶機(jī)上輸入網(wǎng)址解析即可[root@localhost network-scripts]# yum -y install elinks [root@localhost network-scripts]# elinks www.long.com 輸入這個(gè)地址后就會(huì)彈出下面的網(wǎng)頁服務(wù)窗口 到了這里我們的DNS服務(wù)器就已經(jīng)搭建完成了,。 |
|