為了提高域名服務器的安全性,必須要控制區文件的傳輸.在配置named.conf時,可以采取幾方面的控制來加強安全.
options {
allow-transfer {202.103.166.100;};
};
這句指令指定只有授權的輔服務器才能從本主服務器上獲得區數據信息
options {
allow-query {192.168.1/24;127.0.0/8;};
};
這句指令指定只有授權的客戶才能從本服務器上獲得區數據信息.
options {
forwarders {202.103.166.194;202.105.177.100;};
forward-only;
};
這句指令指定只有指定的服務器才能被本緩存服務器訪問.
7.應用實例
假設有一個網絡,網絡由proxy分成inte.net和intranet兩部分:為了保護mail server的安全,將它安置在intranet上.內部用戶通過內部mail server收發信件.
proxy server主機上同時建有proxy server ,dns server 和smtp server.
eth0 ip address:192.168.1.1
eth1 ip address:172.16.0.1
mail server主機上同時建有smtp server,pop3 server.
ip address:172.16.0.2
用戶的網關 為172.16.0.1
dns server 為172.16.0.1
smtp server為mail.test.com
pop3 server為mail.test.com
我們還是用"test.com"作為例子,我們需要六個基本配置文件:
/etc/named.conf
/var/named/named.ca
/var/named/named.local
/var/named/named.test.com
/var/named/named.172.16.0
/var/named/named.192.168.1
7.1 創建或修改/etc/named.conf:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a PM nameserver config
//
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
//there are our primary zone files
zone "test.com" {
type master;
file "named.test.com";
};
zone "0.16.172.in-addr.arpa" {
type master;
file "named.172.16.0";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "named.192.168.1";
};
文件中的zone "test.com"段是聲明這是用于test.com域的主服務器,用于該域的數據從/var/named/named.test.com文件中裝載.文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主機名的文件.
用于該域的數據從/var/named/named.172.16.0文件中裝載.文件中的zone "1.168.192.in-addr.arpa"段是指向映射IP地址192.168.1.* 到主機名的文件.用于該域的數據從/var/named/named.192.168.1文件中裝載.
7.2 創建或修改/var/named/named.local
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
1 IN PTR localhost.
注意:在修改named.*文件時每次存盤時要注意增加Serial值.如使用絕對域名時千萬別忘了后面帶的"."
7.3 創建或修改/var/named/named.test.com
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
ns A 192.168.1.1
ns A 172.16.0.1
MX 10 ns.test.com.
www A 192.168.1.2
mail A 172.16.0.2
MX 10 mail.test.com.
MX 20 ns.test.com.
7.4 創建或修改/var/named/named.192.168.1
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
1 IN PTR ns.test.com.
2 IN PTR .
7.5 創建或修改/var/named/named.172.16.0
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
1 IN PTR ns.test.com.
2 IN PTR mail.test.com.
假設用戶發一份郵件到時,信件先投遞到mail.test.com主機,
由mail.test.com主機再傳遞給ns.test.com主機,再由ns.test.com主機投遞給mail.hotmail.com.然后再由用tom從mail.hotmail.com主機取得郵件.
當hotmail.com上的tom想發郵件給mail.test.com上的用戶時,tom機器上的解析器先獲得test.com的域名信息,然后郵件客戶端根據郵件投遞路由首先發給mail.test.com主機,由于mail.test.com主機為內部主機,internet用戶無法訪問.然后郵件客戶端根據郵件投遞路由發給ns.test.com主機.由于ns.test.com主機為于internet上,ns.test.com主機收到郵件后再轉發到同一網段的mail.test.com主機上,然后再由用戶從mail.test.com主機取得郵件.
8.與Microsoft dns 的集成
Microsoft dns 定義了一個新的類型WINS的資源記錄,它附屬在域的根區.這個記錄告訴Microsoft的DNS服務器如何與WINS服務器取得聯系,解決對沒有靜態DNS記錄的主機的名稱查詢問題.
示例,一個WINS資源記錄如下:
@ IN WINS 192.168.1.100
為了使DNS和WINS合作,在Microsoft的DNS服務器配置中選擇相應域的properties記錄,并且在WINS LOOKUP標簽中啟用WINS解決.
由于采用了非標準的資源記錄,大多數其他DNS并不支持這種資源記錄,如非Microsoft dns的計算機企圖從有DNS-WINS資源記錄的microsoft的DNS服務器中進行區傳送時,那么,該計算機就很可能出錯.
9.DNS故障診斷
大多數DNS故障的原因是配置文件的語法錯誤,或者是對錯誤的計算機分配了錯誤的地址.當進行DNS故障診斷時,參照下面的指導方針.
9.1 對全部記錄,檢查和確認主機名稱的拼寫.記住絕對地址是以"."結尾.
9.2 如果在區文件中作了任何修改,務必修改SOA記錄中的序列號.這將保證服務器正確地重新上載文件.
9.3 確定輸入到主區的名稱和IP地址匹配反向指針文件中的反向指針信息.
9.4 Microsoft的DNS服務器采用了非標準的資源記錄,可能會導致問題.