http://download.ithome.com.tw/article/index/id/2481
Cache-only DNS伺服器是很單純的DNS服務器,它本身並不管理任何網域,但是DNS客戶端仍然可以向它請求查詢。 Cache-only DNS伺服器類似於代理DNS伺服器,它沒有自己的網域資料庫,而是將所有查詢轉給到其他DNS伺服器作查詢。當Cache-only伺服器收到查詢結果後,除了回答用戶端外,還會將結果保存在暫存中。當下一個DNS用戶端再查詢相同的網域記錄時,就可以從暫存裡查出記錄,加快DNS用戶端的查詢速度。如果在區域網路中建立一台的Cache-only DNS伺服器,可以提高用戶端DNS的查詢效率並減少內部網路與外部網絡的流量。架設Cache-only DNS伺服器非常簡單,只需要建立設定好named.conf即可使用。
Bind套件安裝
BIND套件預設不會安裝,可以使用yum線上更新安裝方式進行安裝,主要套件有bind、bind-chroot、bind-utils。
[root@localhost ~]# yum -y install bind bind-chroot bind-utils
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
bind x86_64 32:9.7.0-5.P2.el6_0.1 updates 3.5 M
bind-chroot x86_64 32:9.7.0-5.P2.el6_0.1 updates 65 k
Updating:
bind-utils x86_64 32:9.7.0-5.P2.el6_0.1 updates 174 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 1 Package(s)
Total download size: 3.7 M
|
Bind DNS設定
編輯主要組態檔,此介紹如何架設cache-only的DNS伺服器,設定轉寄伺服器,可以設定多台,依需求設定,forwarders的設定要設定在option內,放到option之外會發生錯誤。
[root@localhost /]# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; }; //註解或是設為any,這樣才可以對外連線。
# listen-on-v6 port 53 { ::1; }; //若沒有使用IPv6協定,可以加上#
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; }; //localhost代表只有本機可以查詢,若是開放的主機,建議設定
recursion yes; 為any。
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
forward only;
forwarders {
168.95.1.1; //設定轉寄伺服器
8.8.8.8;
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
|
Bind伺服器啟動
設定完成後,就準備啟動Bind服務,若有需要將named服務設為預設啟動。
[root@localhost /]# service named start
Starting named: [ OK ]
[root@localhost /]# chkconfig named on
防火牆設定
Bind服務必需開啟防火牆連接埠TCP和UDP的53,這樣才可以對外連線。
防火牆設定完畢後,必需重新啟動服務,設定值才會生效。
BIND測試
利用dig指令查詢www.google.com,測試使用BIND伺服器本機IP位址127.0.0.1和BIND伺服器對外IP位址192.168.0.200,查看結果是否可以正常查詢。
使用dig測試發生connection timed out; no servers could be reached錯誤。
原因在於Bind設定檔named.conf內的listen-on port 53沒有此IP位址,所以無法查詢。
用戶端查詢Bind伺服器無法查詢時,原因在於allow-query。
預設為localhost所以無法對外查詢,就算是防火牆開啟,用telnet也無法溝通,所以若無設定為any則可以正常查詢。
|
沒有留言:
張貼留言