DNS基礎理論知識
1.軟件包
伯克利大學發明,具體軟件bind主程序 ,與之搭配的還有bind-libs函數庫,bind-utils客戶端查詢相關命令,bind-chroot鎖定bind的根目錄避免安全問題
2.配置文件
/etc/named.conf 主配置文件
/etc/sysconfig/named Centos6中bind-chroot工作的額外參數
/var/named/ 數據庫文件默認存放目錄
/var/named/ZONE_NAME.ZONE
/var/run/named named程序執行時默認存放pid-file的目錄
/etc/named.rfc1912.zones
/etc/rndc.key
關於dig到的信息解讀:
domain通常為待查詢的主機名或者域名。
TTL即time to live 緩存時間,其他DNS服務器緩存這條記錄的時間,秒為單位。
資源類型(RR type):A代表address,IPv4地址;AAAA代表ipv6;NS代表name server;SOA( Start Of Authority);
MX接收郵件的服務器主機;CNAME表示主機別名。
資源內容(RR data):即查詢到的記錄內容
示例1,
示例2,查詢SOA
其中相關值的設定限制:
serial不超過2^32
refresh>=Retry*2
refresh + retry < expire
expire >= retry*10
expire >= 7Days
示例3,別名CNAME
當解析www.baidu.com.時,發現它的別名是www.a.shifen.com.,
然后又去找www.a.shifen.com.發現它的還有別名www.wshifen.com.,
最后找到www.wshifen.com.的IP是104.193.88.77以及104.193.88.123
示例4,MX
表示所有發給google.com.域的郵件會發往后面的記錄值中的服務器。
上圖可以看到google.com.擁有5組這樣的服務器。為什么說是組呢,這可以看到alt1.aspmx.l.google.com.
前面有一個數字20,表示這個地址上層有20台上層郵件服務器來預接收郵件,防止丟失
DNS搭建step by step
/etc/named.conf配置
/var/named/named.ca此文件存放了公網13個根服務器,默認bind安裝自帶,不需要修改
/etc/named.rfc1912.zones正解文件目錄文件
它默認存放了實現localhost和本地回環地址的解析庫
這里從新備份此文件后,修改成以下內容:
其中zmh.com.zone是我們真正的解析數據庫,注意它存放的路徑是/var/named/
這個需要新建此文件vim /var/named/named.zmh.com
關閉防火牆,selinux;
在客戶端將/etc/resolve.conf中加入 nameserver 192.168.30.104
如果有其他公網DNS需要確保本條記錄在第一位
測試
最后我在DNS服務器上,即www.zmh.com安裝了一個httpd服務(安裝請參加其他http安裝手冊),
簡單更改了它的index.html,測試其他客戶端能通過域名訪問到我的主頁
在客戶端上使用curl命令成功訪問主頁
疑問:
1、name.zmh.com文件中@符號含義;
這個符號代表zone的意思。例如寫在named.zmh.com中,@代表zmh.com. ,如果寫在named.192.168.30 文件中,
則@代表192.168.30.in-addr.arpa. 的意思
2、name.zmh.com文件中參數最后的. 含義
這個(.)很重要,因為它代表一個完整主機名FQDN而不是hostname。舉例來說,
在name.zmh.com中寫www.zmh.com則代表FQDN為www.zmh.com.@ ===>>> www.zmh.com.zmh.com. 所以寫成www.zmh.com. 才對