參考:故障處理:http://mba.shengwushibie.com/itbook/BookChapter.asp?id=4154
版本:bind-9.6-ESV-R5
1、編譯安裝
先下載解壓軟件包,再編譯安裝
./configure --prefix=/usr/local/named --with-openssl=/usr/local/openssl/ --disable-openssl-version-check
選項 --with-openssl=/usr/local/openssl/ 是指定ssl的安裝路徑,按照自己主機的實際情況而定,若openssl的版本太低,可以使用選項--disable-openssl-version-check來消除告警信息
make && make install (不要使用並行編譯的方式,make -j 3)
2、安裝完了以後,我們準備去配置bind服務,但是進入/usr/local/named/etc 下沒有任何目錄和文件供我們配置。也許可以先運行一些named進程,於是執行/usr/local/named/sbin/named 還是不行,服務並沒有運行起來。
查看一些系統日誌 ,tail -f /var/log/messages 就會發現這樣一條Sep 15 15:00:56 localhost named[16536]: none:0: open: /usr/local/named/etc/named.conf: file not found
原因清楚了,就是缺少配置文件。
3、下面就大刀闊斧的幹
第一步:rndc配置
什麼是rndc? rndc是用來控制bind行爲的工具,如修改了某個區文件,重新加載這個區文件,命令爲rndc zone 。這樣就不用重啓bind服務。
創建rndc.conf ,利用命令
/usr/local/named/sbin/rndc-confgen >/usr/local/named/etc/rndc.conf
第二步:named.conf 配置
dns的基本功能的實現都是通過這個named.conf文件,文件分爲4個大塊:選項文本塊、安全認證文本塊、查詢日誌記錄文本塊和區域文本塊
話說,這個文件需要我們自己去寫,傻子纔會一個一個字去敲呢,去google唄,
推薦一個網站:http://www.zytrax.com/books/dns/ch7/
好了,我把我的named.conf文件給大家看看,完了以後把該文件放在/usr/local/named/etc目錄
options {
directory "/var/named"; //數據存放路徑,查詢日誌,pid文件等
allow-query-cache {any;};
pid-file "named.pid";
}; // OPTIONS選項用來定義一些影響整個DNS服務器的環境,如這裏的DI RECTORY用來指定在本文件指定的文件的路徑,如這裏的是將其指定到 /var/named 下,在這裏你還可以指定端口等等。不指定則端口是53
key "rndc-key" {
algorithm hmac-md5;
secret "Up6SyTYQGYQBech+w4cneA==";
}; //如果需要同步主從DNS,需要這個key選項塊
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};//從rndc.conf中複製即可
logging{
channel query_log {
file "/var/log/named/query.log" versions 5 size 10m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category queries {
query_log;
};
}; //定義了查詢日誌的文件名稱爲query.log ,每個日誌大小爲10MB,達到這個容量後,自動輪詢
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "test.cn" IN {
type master;
file "test.cn.zone";
allow-update { none; };
};
//區紀錄模塊
$TTL 1D //表示緩存時間爲1天 (其他單位:周W、小時H、分鐘M、不寫表示秒、設0表示不緩存)
@ IN SOA ns2.bindns.cn. webmaster.bindns.cn.(
//因爲@在文件中有特殊意義所以[email protected]改爲webmaster.bindns.cn
2008052620 //domain區文件信息版本號(文件修改後將其值加1)格式爲20080526爲年月日,20爲版本號
3600 //輔助域名服務多長時間更新數據
600 //若輔助域名服務器更新失敗後600s再試
1209600 //從DNS可對外提供域名服務的有效期爲1209600s
600 //若資源記錄裏沒有設置TTL值,則以這裏爲準
)
3600 IN NS ns1.bindns.cn.
3600 IN NS ns2.bindns.cn. //表明我們有兩個dns服務器可用
cdn 3600 IN A 220.202.19.82 //地址記錄
www 3600 IN CNAME cdn.bindns.cn. //別名記錄
mail 3600 IN MX 5 sohu.com. //郵件記錄
反解zone文件---------------------------------------------------------------------------------------
$TTL 1D
@ IN SOA ns2.bindns.cn. webmaster.bindns.cn.(
2008051813
3600
600
1209600
600
)
3600 IN NS ns1.bindns.cn.
3600 IN NS ns2.bindns.cn.
82 IN PTR ns1.bindns.cn. //反向解析記錄
87 IN PTR ns2.bindns.cn.
89 IN PTR ns3.bindns.cn.
91 IN PTR ns4.bindns.cn.