DNS服務,
==============DNS服務==========
DNS:網域名稱解析,提供IP地址與網域名稱之間的解析;
DNS網域名稱解析順序:先看/etc/hosts檔案裡是否有對應的解析記錄,如果有就可以直接存取了,如果沒有才會向
DNS伺服器發送請求;
*****/etc/nsswich.conf檔案裡記錄了DNS訪問的順序,先訪問檔案,再訪問DNS伺服器;
不同系統相關hosts檔案的存放地點:
windows 32: C:\Windows\system32\drivers\etc\hosts
Linux: /etc/hosts
架設DNS服務步驟:
1》安裝軟體包:
相關軟體:
bind-9.8.2-0.17.rc1.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6.x86_64
bind-chroot-9.8.2-0.17.rc1.el6.x86_64
bind 是真正提供DNS服務的軟體包;
bind-chroot 是籠環境軟體包,為了提高DNS服務的安全性;
utils 包為DNS的相關工具包,hosts,nslookup等都是通過它來安裝的;
****DNS的預設連接埠是53,我們可以用lsof -i:53命令來查看53號連接埠是否已經啟動:
*****pidof named 命令可以得出named進程對應的PID號:
2》修改設定檔:
檔案類型:
主設定檔:named.conf
次設定檔:named.rfc1912.zones
/var/named/chroot/etc/named.conf 籠環境下的設定檔
forwarders { 192.168.1.1; 172.16.1.1}; 指定轉寄站為這兩台DNS伺服器,當本機有不能解析的網域名稱時,就轉寄給指定DNS伺服器,讓它麼幫忙解析;
/var/named/chroot/etc/ 設定檔存放所在地
/var/named/chroot/var/named 資料檔案存放所在地
/var/named/chroot/var/named/named.ca 存放根網域名稱伺服器的檔案,累計有13台根伺服器;
ll -i /etc/name.conf 這個命令可以查看檔案的inode號
mount 命令可以查看DNS相關的檔案的掛載情況;DNS服務的龍環境是通過建立永久連結而營造出來的;當DNS服務停止後,一些掛載的檔案都不會再掛
載了,mount命令已經無法尋找到了;
查看DNS服務的情況:
/etc/resolv.conf: 查看DNS伺服器的檔案,用來填寫DNS伺服器;如果有多個DNS,則要從DNS1開始,不能用DNS0命名;真正機器查看DNS伺服器位址,還是來查看這個檔案來生效的;最多可以使用3個DNS伺服器位址;
用戶端測試:
3》緩衝DNS伺服器(通過向其他網域名稱伺服器查詢來獲得網域名稱解析記錄)配置:
主設定檔(/etc/named.conf):
緩衝網域名稱伺服器使用要求:
1>安裝好軟體;
2>修改設定檔,允許其他機器查詢;
3>確保能上網(一旦它有不知道的可以去詢問根網域名稱伺服器),其他客戶機將DNS伺服器指向緩衝網域名稱伺服器就可以
進行網域名稱解析;
DNS網域名稱解析步驟:
1>先看本機裡的緩衝是否有;
2>緩衝沒有的話查看/etc/hosts檔案裡是否有;
3>沒有的話就訪問DNS網域名稱伺服器請求解析;
4>本地DNS伺服器會看緩衝和資料檔案裡是否有對應的DNS記錄,如果有
則給客戶機,如果沒有預設情況下就下根伺服器要了;(如果有些
DNS伺服器配置了轉寄伺服器,就不直接發送給根了,則向轉寄伺服器
詢問了,);
*********查看DNS緩衝:
*************刪除DNS緩衝:
4》主網域名稱伺服器: 1>特定DNS地區的伺服器,具有唯一性,權威性;
2>負責維護該地區所有的網域名稱解析
主設定檔:
次設定檔:
資料檔案:
cp -a /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/chw.com.zone ( -a 選項連同許可權一起複製過去)
/var/named/chw.com.zone:
/var/named/192.168.1.zone:
相關測試:
基於網域名稱解析的負載平衡:同一網域名稱對應多個IP地址;
泛網域名稱解析,找不到精確對應的A記錄時,用“*”來進行匹配:
* A 172.16.1.10
5》主從網域名稱伺服器配置:
1>在主網域名稱伺服器裡授權(allow-transfer {IP;};),允許從網域名稱伺服器來下載資料檔案;
2>在主網域名稱伺服器上建立資料檔案;
3>重新整理服務: sevice named reload
======從伺服器的搭建:
1> 安裝相關軟體,並修改主設定檔:
2>修改次設定檔,到主網域名稱伺服器上下載資料檔案:
3>重新整理服務;
4>驗證;
5>可以在從伺服器中的/etc/resolve.conf中將從伺服器的地址添加進去;
=========此時域chw.com的網域名稱伺服器只有一台,所以要在主伺服器中的資料檔案上進行修改:
修改後的資料檔案(還需將序號改一下,從伺服器才會更新資料檔案,下面圖片沒改):
====條件轉寄站,當遇到特定的域解析時轉寄到指定的網域名稱解析伺服器上=======
轉寄站設定:在主設定檔中的全域設定中添加如下命令:
forward only;
forwarders {IP;};
6》DNS視圖應用:
採用的技術:分離解析,來自不同地址的客戶機請求同一網域名稱解析時,為其提供不同的解析結果;
1>修改主配置或次設定檔:
2>添加相應的資料檔案:
3>啟動或重新載入named服務程式;
4>使用不同的用戶端進行驗證;
========================================
TSIG:事物簽名,保證主從DNS之間的複製安全性;
rndc:遠端控制DNS伺服器的工具;
=========
主要問題:1>在CentOS6.3系統內容下,從網域名稱伺服器與主網域名稱伺服器同步資料時,預設SELinux會拒絕
從遠程下載的資料檔案寫入本地磁碟中,此時需要修改SELinux的布爾值,命令如下:
setsebool -P named_write_master_zones=1
2>用戶端串連伺服器發送的查詢請求使用的是UDP的53連接埠,而從伺服器與主伺服器同步資料
時使用的是TCP的53連接埠,開放DNS服務後,要注意修改防火牆設定;
3>檔案與目錄許可權;