1. 程式人生 > 實用技巧 >3,DNS 配置檔案的解釋說明

3,DNS 配置檔案的解釋說明

1,DNS的分類

主DNS伺服器:就是一臺儲存著原始資料的DNS伺服器
從DNS伺服器:使用自動更新方式從主DNS伺服器同步資料的DNS伺服器,也稱輔助DNS伺服器
快取伺服器:不負責本地解析,採用遞迴方式轉發客戶機查詢請求,並返回結果給客戶機的DNS伺服器,同時快取查詢回來的結果,也叫遞迴伺服器。
轉發器:這臺DNS發現非本機負責的請求後,不再向根發起請求,而是直接轉發給指定的一臺或多臺伺服器,自身並不儲存查詢結果

2,SOA可以理解為一段自己dns做備註說明的文字,一般與ns一致
比如:dns.abcdocker.com sa.abcdocker.com

  1. a.shifen.com.579 IN SOA dns.baidu.com.
  2. sa.baidu.com.(
  3. 1408010001;serial number
  4. 5;refresh5s
  5. 5; retry5s
  6. 86400;expire1d
  7. 3600;min TTL1h
  8. )

2-1、Serial:只是一個序號,但這個序號可被用來作為slave與master更新的依據。舉例來說,master序號為100但slave序號為90時,那麼這個zone file的資料就會被傳送到slave來更新了。由於這個序號代表新舊資料,通常我們建立你可以利用日期來設定!
舉例來說,上面的資料是在2016/01/01所修改的第一次,所以用2016010101作為序號代表!(yyymmddnn,nn代表這一天是第幾次修改)
2-2、Refresh:除了根據Serial來判斷新舊之外,我們可以利用這個refresh(更新)命令slave多久進行一次主動更新;
2-3、Retry:如果到了Refresh的時間,但是slave卻無法連線到master時,那麼在多久之後,slave會再次的主動嘗試與主機連線;
2-4、Expire:如果slave一直無法與master連線上,那麼經過多久的時間之後,則命令slave不要再連線master了!也就是說,此時我們假設master DNS可能遇到重大問題而無法上線,則等待系統管理員處理完畢後,再重新來到slave DNS重新啟動bind吧!
2-5、Minimun:這個就有點像是TTL

3,

A記錄:
將域名指向一個IPv4地址(例如:10.10.10.10),需要增加A記錄
CNAME記錄:
如果將域名指向一個域名,實現與被指向域名相同的訪問效果,需要增加CNAME記錄
MX記錄:
建立電子郵箱服務,將指向郵件伺服器地址,需要設定MX記錄
NS記錄:
域名解析伺服器記錄,如果要將子域名指定某個域名伺服器來解析,需要設定NS記錄
TXT記錄:
可任意填寫(可為空),通常用做SPF記錄(反垃圾郵件)使用
AAAA記錄:
將主機名(或域名)指向一個IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要新增AAAA記錄
SRV記錄:
記錄了哪臺計算機提供了哪個服務。格式為:服務的名字.協議的型別(例如:_example-server._tcp)
顯性URL:
將域名指向一個http(s)協議地址,訪問域名時,自動跳轉至目標地址(例如:將www.net.cn顯性轉發到www.hichina.com後,訪問www.net.cn時,位址列顯示的地址為:www.hichina.com)。
隱性URL:
與顯性URL類似,但隱性轉發會隱藏真實的目標地址(例如:將www.net.cn隱性轉發到www.hichina.com後,訪問www.net.cn時,位址列顯示的地址仍然為:www.net.cn)。

4,/etc/named.conf檔案相關注釋:

options {
version "1.1.1";
listen-on port 53 {any;}; #監控埠
directory "/var/named/chroot/etc/"; #A記錄等配置檔案所在的目錄
pid-file "/var/named/chroot/var/run/named/named.pid"; 伺服器來的程序號
allow-query { any; }; #允許誰訪問{}可以寫IP
Dump-file "/var/named/chroot/var/log/binddump.db";
Statistics-file "/var/named/chroot/var/log/named_stats"; #可以看到DNS解析記錄的數量,成功率有多少域(可以做監控)DNS狀態等
zone-statistics yes; #配成yes之後上面才會寫入
memstatistics-file "log/mem_stats"; #記憶體狀態
empty-zones-enable no;
forwarders {202.106.196.115;8.8.8.8; }; 轉發(如果我這沒有域名就轉發)
};
key "rndc-key" { 認證的金鑰
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging { 日誌 警告路徑 (日誌分2種)
channel warning { 日誌的相關資訊
file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns { 訪問日誌相關資訊
file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { #預設日誌警告級別
warning;
};
category queries { #訪問日誌級別
general_dns;
};
};
include "/var/named/chroot/etc/view.conf"; 其他域的配置檔案目錄(view.conf可以實現簡單的只能DNS的功能,為以後的只能DNS做準備)

5,/var/named/chroot/etc/view.conf 檔案解釋

view "View" { #“View 說明 以後可以修改為電信 聯通”
zone "lnh.com" { #zone配置
type master; #此處為master 還有一個slave
file "lnh.com.zone"; #通過這個view進行來找file 找哪一個
allow-transfer { #允許誰來找我要資料(在named.conf(allow-quey)配置) 允許誰來向我傳送請求

10.255.253.211;
};
notify yes; #當我的master檔案發生變更了,去通知下面的IP,如
also-notify {
10.255.253.211;
};
};
};
如果有多個需要一zone"lnh.com開頭"以};結尾

6,/var/named/chroot/etc/lnh.com.zone 檔案解釋說明

$ORIGIN . #zone檔案生效的域
$TTL 3600 ; 1 hour #域名生存週期(內網可以調節端,外網長)
lnh.com 對外說明我是那個zone IN SOA op.lnh.com. dns.lnh.com. ( 對
2000 ; serial #如果新同步資料需要調節此處的大小
900 ; refresh (15 minutes) #當我slave向我同步資料,同步失敗多久響應
600 ; retry (10 minutes) #10分鐘之後我在發出請求
86400 ; expire (1 day) 1年沒有響應我就認為他宕機了
3600 ; minimum (1 hour)
)
NS op.lnh.com. 此處A記錄的相關資訊
$ORIGIN lnh.com. #上面NS配置的域名在下面一定要有一個A記錄
shanks A 1.2.3.4
op A 1.2.3.4

相關解釋:
6-1、Serial:只是一個序號,但這個序號可被用來作為slavemaster更新的依據。舉例來說,master序號為100但slave序號為90時,那麼這個zone file的資料就會被傳送到slave來更新了。由於這個序號代表新舊資料,通常我們建立你可以利用日期來設定!
舉例來說,上面的資料是在2016/01/01所修改的第一次,所以用2016010101作為序號代表!(yyymmddnn,nn代表這一天是第幾次修改)
6-2、Refresh:除了根據Serial來判斷新舊之外,我們可以利用這個refresh(更新)命令slave多久進行一次主動更新;
6-3、Retry:如果到了Refresh的時間,但是slave卻無法連線到master時,那麼在多久之後,slave會再次的主動嘗試與主機連線;
6-4、Expire:如果slave一直無法與master連線上,那麼經過多久的時間之後,則命令slave不要再連線master了!也就是說,此時我們假設master DNS可能遇到重大問題而無法上線,則等待系統管理員處理完畢後,再重新來到slave DNS重新啟動bind吧!
6-5、Minimun:這個就有點像是TTL