您好,登錄后才能下訂單哦!
在公司配置一個內網DNS服務器,可以在內網解析域名 www.linux.com為IP:192.168.24.200;另外為保證DNS服務器穩定,還要搭建成一個從DNS服務器;為DNS服務器做冗余。
測試內容:配置PC客戶端的DNS服務器地址為:192.168.24.200和192.168.24.201 ;當模擬192.168.24.200 DNS服務意外關閉時,ping www.linux.com 還可以通過dns2-server正常解析該域名。
實驗環境
主DNS服務器 dns1-server : 192.168.24.200
從DNS服務器 dns2-server: 192.168.24.201
客戶機 windows
安裝服務并啟動
[root@DNS1-server~]#yum -y install bind bind-chroot bind-utils [root@DNS1-server~]#chkconfig named on [root@DNS1-server~]#service named start
bind-9.7.3-8.P3.el6.x86_64.rpm #該包為DNS 服務的主程序包。 bind-chroot-9.7.3-8.P3.el6.x86_64.rpm #提高安全性。 #bind-chroot是bind的一個功能,使bind可以在一個chroot 的模式下運行.也就是說,bind運行時的/(根)目錄,并不是系統真正的/(根)目錄,只是系統中的一個子目錄而已.這樣做的目的是為了提高安全性.因為在chroot的模式下,bind可以訪問的范圍僅限于這個子目錄的范圍里,無法進一步提升,進入到系統的其他目錄中. bind-utils-9.7.3-8.P3.el6.x86_64.rpm #該包為客戶端工具,默認安裝,用于搜索域名指令
1、搭建一個主DNS服務器dns1.cn。配置內容如下:
[root@DNS1-server ~]# vim /var/named/chroot/etc/named.conf
options { listen-on port 53 { any ; }; #監聽所有網段的IP listen-on-v6 port 53 { any; }; #監聽所有網段的IP 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; }; #允許所有網段IP的請求 recursion no ; #默認支持遞歸查詢,這里關閉遞歸查詢 dnssec-enable yes; #是否支持DNSSEC開關,默認為yes dnssec-validation yes; #是否進行DNSSEC確認開關,默認為yes dnssec-lookaside auto; #當設置dnssec-lookaside,它為驗證器提供另外一個能在網絡區域的頂層驗證DNSKEY的方法。 /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; } zone "." IN { type hint; file "named.ca"; }; zone "linux.com" IN { #定義區域文件dns1.cn type master; #定義角色為主DNS file "linux.com.zone"; #讀取的域配置文件 also-notify { 192.168.24.201; }; #當主服務器配置發生修改時,通知從服務器自動更新 allow-transfer { 192.168.137.0/24; }; #指定允許哪個網段的從DNS服務器,可以同步主DNS服務器zone文件,不寫默認為所有。(none代表不允許) }; include "/etc/named.rfc1912.zones";
檢查配置文件
[root@DNS1-server /]# named-checkconf
2、創建zone文件:
注:主DNS記錄中應該有兩NS記錄,一條是主DNS的NS記錄,一條是從DNS服務器的域名記錄。
[root@DNS1-server ~]# cd /var/named/chroot/var/named/
[root@DNS1-server named]#vim linux.com.zone
linux.com.zone中的內容如下:
1 $TTL 86400 2 @ IN SOA ns1.linux.com. root.linux.com. ( 3 2015060101 4 1D 5 1H 6 1W 7 3H ) 8 IN NS ns1.linux.com. 9 IN NS ns2.linux.com. 10 ns1 IN A 192.168.24.200 11 ns2 IN A 192.168.24.201 12 www IN A 192.168.24.200 13 web IN CNAME www.linux.com.
配置文件參數說明:
$TTL 86400 ;設置有效地址解析記錄的默認緩存時間,默認為1天也就是1D=86400秒。
linux.com.IN SOAdns1.linux.com. root.linux.com.
#原來的@表示當前的域linux.com.為方便大家記憶,我們這里,直接寫成linux.com.
#設置SOA記錄為:dns1.linux.com
#在此配置文件中寫域名時,都把根. 也要寫上。
#域管理郵箱root.linux.com. 由于@有其他含義,所以用“.”代替@。
201506010 ;更新序列號,用于標示數據庫的變換,可以在10位以內,如果存在輔助DNS區域,建議每次更新完數據庫,手動加1.
1D ;刷新時間,從域名服務器更新該地址數據庫文件的間隔時間,默認為1天
1H ;重試延時,從域名服務器更新地址數據庫失敗以后,等待多長時間,默認為為1小時
1W ; 到期,失效時間,超過該時間仍無法更新地址數據庫,則不再嘗試,默認為一周
3H ;設置無效地址解析記錄(該數據庫中不存在的地址)默認緩存時間。設置無效記錄,最少緩存時間為3小時
重啟服務
[root@DNS1-server ~]# service named restart
停止 named:. [確定]
啟動 named: [確定]
3、從DNS服務器的配置
##主從時間一定要保持一致
安裝程序:
[root@DNS1-server2 ~]# yum -y install bind bind-chroot bind-utils [root@DNS1-server2 ~]# chkconfig named on [root@DNS1-server2 ~]# service named start Generating /etc/rndc.key: [確定] 啟動 named: [確定]
[root@DNS1-server2 ~]# cd /var/named/chroot/etc/ [root@DNS1-server2 etc]# vim named.conf
options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; 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; }; #recursion no; recursion yes; #dnssec-enable yes; #dnssec-validation yes; #dnssec-lookaside auto; bindkeys-file "/etc/named.iscdlv.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "linux.com.zone" IN { type slave; file "slaves/linux.zone.file"; masters { 192.168.24.200 ; }; #指定主服務器 }; include "/etc/named.rfc1912.zones";
第一次重啟從DNS服務器會在:/var/named/chroot/var/named/slaves文件夾下自動創建一個文件linux.com.zone.file 這個文件是從DNS服務器去主DNS服務器上獲取的數據
檢查配置文件
[root@DNS1-server /]# named-checkconf 重啟測試: [root@DNS1-server2 ~]# service named restart 停止 named:. [確定] 啟動 named: [確定] [root@DNS1-server2 ~]# ls /var/named/chroot/var/named/slaves/ linux.com.zone.file [root@DNS1-server2 ~]# ll /var/named/chroot/var/named/slaves/ 總用量 4 -rw-r--r-- 1 named named 370 8月 3 01:09 linux.com.zone.file #看到這個文件,說明成功了
[root@DNS1-server2 ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file #文件具體內容 [root@DNS2-server slaves]#cat linux.com.zone.file $ORIGIN . $TTL 86400 ; 1 day linux.com IN SOA ns1.linux.com. root.linux.com. ( 2015060101 ; serial 86400 ; refresh (1 day) 10800 ; retry (3 hours) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) NS ns1.linux.com. NS ns2.linux.com. $ORIGIN linux.com. ns1 A 192.168.24.200 ns2 A 192.168.24.201 web CNAME www www A 192.168.24.200
驗證當主服務器配置發生修改時,通知從服務器自動更新
1 $TTL 86400 2 @ IN SOA ns1.linux.com. root.linux.com. ( 3 2015060101 4 1D 5 3H 6 1W 7 3H ) 8 IN NS ns1.linux.com. 9 IN NS ns2.linux.com. 10 ns1 IN A 192.168.24.200 11 ns2 IN A 192.168.24.201 12 www IN A 192.168.24.200 13 web IN CNAME www.linux.com. 14 bbs IN CNAME www.linux.com. #新添加的條目
重啟主DNS服務
[root@DNS1-server ~]# service named restart
查看從服務器的zone區域文件
[root@DNS1-server2 ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file $ORIGIN . $TTL 86400 ; 1 day linux.com IN SOA ns1.linux.com. root.linux.com. ( 2015060101 ; serial 86400 ; refresh (1 day) 10800 ; retry (3 hours) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) NS ns1.linux.com. NS ns2.linux.com. $ORIGIN linux.com. bbs CNAME www ns1 A 192.168.24.200 ns2 A 192.168.24.201 web CNAME www www A 192.168.24.200
#可以看出更新序列號以修改,并多了條剛才添加的web記錄
通過關閉主DNS解析服務,模擬主DNS服務器掛掉,從DNS還能正常解析出linux.com的域名
配置客戶端
在未關閉主服務器網卡時先ping一下www.linux.com,查看是否能正常解析
接著關閉主DNS服務器的named服務 servive named stop
接著ping一下www.linux.com,查看是否能正常解析
可以看出是可以正常解析的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。