環境:
VMware Workstation 12 pro, 配置相同的2臺CentOS 7.4 1708,bind 9.9.4,關閉selinux清空iptable規則,主從配置要注意時間同步,不然沒法複製。
/var/named/下的文件要注意權限問題!!!!!!!
基礎知識:
DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。
BIND (Berkeley Internet Name域)是DNS的一個實現。(域名系統)協議。綁定包括一個DNS服務器(命名),將主機名解析爲IP地址;一個解析器庫(當與DNS交互時應用程序的例程);和用於驗證DNS服務器是否正常運行的工具。
正向解析:
1.安裝bind程序linux
yum install bind -y
2.修改配置文件:數據庫
vim /etc/named.conf #這裏將監聽端口和ip註釋掉就好,alow-query配置改成any,容許任何人到本機作dns查詢,默認是本機,這裏也能夠設置爲網段 #recursion 這裏根據實際需求去配置是否容許遞歸查詢 #dnssec註釋掉,安全拓展比較麻煩,不會影響到本次實驗的配置
3.編輯域文件vim
#這個文件內定義了域的設定,同時也給出了不少模板,能夠參考着寫本身的域配置 vim /etc/named.rfc1912.zones
這裏在結尾補上下面的配置參數:注意分號和空格,不然會出現錯誤,域名和ip看各類狀況去配置。centos
zone "douma.com" IN { type master; file "douma.com.zone"; allow-transfer { 192.168.238.132; }; };
配置完後要檢查文件是否符合語法,有報錯就去修改,沒有的話證實語法無誤,可是它沒法檢查ip和域名的錯誤。安全
named-checkconf
4.編寫解析庫文件
bind的解析庫文件存放在 /var/named/下,在對應目錄下建立與以前named.rfc1912.zones文件中定義的文件名相同的文件而且寫入解析內容服務器
$TTL 86400 $ORIGIN douma.com. @ IN SOA ns1.douma.com. admin.douma.com. ( 2018041901 1H 10M 1W 1D ) IN NS ns1 IN NS ns2 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A 192.168.238.131 ns2 IN A 192.168.238.132 mx1 IN A 192.168.238.131 mx2 IN A 192.168.238.110 www IN A 192.168.238.131 ftp IN CNAME www * IN A 192.168.238.134 smtp IN A 192.168.238.135
完成後檢查語法是否有誤網絡
named-checkzone "douma.com" /var/named/douma.com.zone
返回OK證實不存在問題。
5.啓動named服務app
#以前未啓動的話執行 systemctl start named #以前已經啓動話執行 systemctl restart named
查看named的運行情況分佈式
#查看53端口是否在監聽中 ss -tnl
6.正向解析基本完成,能夠使用host命令,dig命令進行檢測,正常解析的話證實正向解析成功。ide
host -t A www.douma.com 192.168.238.131 dig -t A www.douma.com @192.168.238.131
反向區域解析
1.因爲有着以前的正向解析的配置,所以,反向解析的話直接修改/etc/named.rfc1912.zones就好。記得要檢查語法。
vim /etc/named.rfc1912.zones
添加如下內容
zone "238.168.192.in-addr.arpa" IN { type master; file "192.168.238.zone"; allow-transfer { 192.168.238.132; }; };
反向解析的配置寫法
區域名稱:網絡地址反寫.in-addr.arpa.
192.168.238. --> 238.168.192.in-appr-arpa.
定義區域
zone "ZONE_NAME" {
type {master | slave | forward };
file "網絡地址.zone"
};
2.編輯解析庫文件,路徑也在/var/named下,新建文件名仍要和named.rfc1912.zones內定義的文件名同步,不須要MX和A,以及AAAA記錄,以PTR記錄爲主。完成後一樣須要檢查語法。
$TTL 86400 $ORIGIN 238.168.192.in-addr.arpa. @ IN SOA ns1.douma.com. admin.douma.com. ( 2018041901 1H 10M 1W 1D ) IN NS ns1.douma.com. IN NS ns2.douma.com. 131 IN PTR ns1.douma.com. 132 IN PTR ns2.douma.com. 132 IN PTR mx1.douma.com. 110 IN PTR mx2.douma.com. 131 IN PTR www.douma.com.
3.配置完成後從新載入域文件
#這裏使用rndc指令,以前systemctl也能夠 rndc reload
4.檢查配置是否能夠正常解析
host -t ptr 192.168.238.131 192.168.238.131 dig -x 192.168.238.131 @192.168.238.131
dns主從複製:
剛纔配置的centos主機基本無需修改,只須要在named.rfc1912.zones 的域配置段內加入allow-transfer字段,運行區域傳送,這裏以前就寫入了,所以無需再次修改。
axfr:
全量傳輸時,從域名服務器從主域名服務器上請求zone文件,poll的時間間隔由SOA記錄中的refresh標籤訂義。請求zone文件的過程是從域名服務器向主域名服務器發送查詢來實現,若是主域名服務器中SOA記錄中的序列號(serial number標籤訂義)大於從域名服務器SOA記錄的序列號,從域名服務器就會向主域名服務器發送全量傳輸請求。正式因爲axfr會傳送所有的解析信息,所以要特別注意,dns的allow-transfer參數防止,容許的範圍過大,致使解析的信息泄露。
在另外一臺centos主機進行從dns服務器的配置:
1.檢測主服務器是否容許axfr。
dig -t axfr douma.com @192.168.238.131
2.安裝bind,修改/etc/named.conf配置文件,與主dns的配置相同便可,記得執行語法檢查。
3.修改/etc/named.rfc1912.zones配置文件。
type字段設置爲備份模式slave,masters字段指明主dns服務器ip地址,因爲從服務器是從主備份解析庫文件,所以它無需手動建立庫文件,指明文件路徑就好,這裏因爲named的默認工做目錄是在/var/named/,而從服務器備份的文件在slaves下,所以在file字段要寫清楚路徑。完成後檢查域文件語法。
vim /etc/named.rfc1912.zones
zone "douma.com" IN { type slave; file "slaves/douma.zone"; masters { 192.168.238.131; }; }; zone "238.168.192.in-addr.arpa" IN { type slave; file "slaves/238.168.192.zone"; masters { 192.168.238.131; }; };
4.完成後載入配置文件啓動服務,查看/var/log/messages就能夠看到傳送的進行。傳送完成後在從服務下會出現複製過來的解析庫文件。
systemctl start named
vim /va/log/messages
檢查從服務可否正常解析
host -t A www.douma.com 192.168.238.132 dig -t A www.douma.com @192.168.238.132 host -t ptr 192.168.238.131 192.168.238.132 dig -x 192.168.238.131 @192.168.238.132
注意:
修改主dns上的解析庫文件後要手動修改序列號,這樣從服務器才能正確去複製,更改後的信息。這裏使用的增量修改,就是指傳送改變了的內容。
主從服務器時間必須同步主從服務器時間必須同步主從服務器時間必須同步