一、 首先,安裝 bind
1)、用CD光牒自帶安裝
# rpm -qa | grep bind
bind-libs-9.3.4-6.P1.el5
bind-libbind-devel-9.3.4-6.P1.el5
bind-9.3.4-6.P1.el5
bind-chroot-9.3.4-6.P1.el5
bind-sdb-9.3.4-6.P1.el5
bind-devel-9.3.4-6.P1.el5
bind-utils-9.3.4-6.P1.el5
# rpm -qa | grep caching-nameserver
caching-nameserver-9.3.4-6.P1.el5
使用了chroot後,虛拟根目錄為/var/named/chroot,則namd.conf實際位置為/var/named/chroot/etc,而工作目錄/var/named實際路徑為/var/named/chroot/var/named.
2)、使用 yum安裝,
# yum install bind*
# yum install caching-nameserver
安裝過程很簡單主要的就是配置BIND服務。
本機IP是:192.168.0.14
# ls /var/named/chroot/etc/
localtime named.rfc1912.zones named.caching-nameserver.conf rndc.key
這些是在/var/named/chroot/etc/下的幾個主要的配置檔案。
3)、首先編輯 named.conf 檔案
# cp -p named.caching-nameserver.conf named.conf
注:使用cp -p 參數在複制的時候檔案的屬性不會改變。如果直接 cp 則要修改此檔案的屬主:
#chown :named named.conf
編輯 named.conf檔案進行配置。
# vi named.conf
options {
listen-on port 53 { 127.0.0.1; }; //127.0.0.1 改為 any
listen-on-v6 port 53 { ::1; };
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";
query-source port 53;
query-source-v6 port 53;
allow-query { any; }; //localhost 改為 any
forwarders { 208.67.222.222; }; // 此行預設沒有,如果内網使用此dns 伺服器可以設定 dns 轉發,這裡一定是一個有效的 dns 伺服器位址,則添加這兩行 。
forward only;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
view localhost_resolver {
match-clients { any; }; //localhost 改為 any
match-destinations { any; }; //localhost 改為 any
recursion yes;
include "/etc/named.rfc1912.zones";
4)、然後編輯 /var/named/chroot/etc/named.rfc1912.zones
# vi named.rfc1912.zones //dns 伺服器的區域主配置檔案
在最後添加自己的 dns 區域 如果有多個則類似添加
zone "leisure.com" IN { // leisure.com 我實驗用的區域,正向解析區域
type master;
file "leisure.com.zone"; // leisure.com.zone本區域的配置檔案
allow-update { none; };
zone "0.168.192.in-addr.arpa" IN { //0.168.192 反向解析區域
file "0.168.192.zone"; // 0.168.192 反向解析區域配置檔案
5)、這兩個區域配置檔案可以分别直接拷貝 /var/named/chroot/var/named/localdomain.zone 和
/var/named/chroot/var/named/named.local
# cd /var/named/chroot/var/named/
# cp -p localdomain.zone leisure.com.zone
# cp -p named.local 0.168.192.zone
注意:這兩個配置檔案名一定要跟named.rfc1912.zones 你定義的名稱相同
下面主要是編輯這兩個檔案了。
# vi 0.168.192.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS leisure.com.
14 IN PTR dns.leisure.com. //添加反向解析記錄
16 IN PTR mail.test.com. //添加反向解析記錄
14 是指的 dns 伺服器IP:192.168.1.14 的最後位址區域
6)、# vi leisure.com.zone
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns //添加域名伺服器記錄-NS記錄(設定目前域的DNS伺服器名稱)
IN MX 5 mail //添加郵件交換記錄-MX記錄(設定mail.leisure.com主機作為郵件伺服器)
dns IN A 192.168.1.14 //添加正向解析
www IN A 192.168.1.15 //添加正向解析
mail IN A 192.168.1.16 //添加正向解析
bbs CNAME www //添加别名
7)、最後就是修改/etc/resolv.conf檔案了. 也就是添加主dns 伺服器
# vi /etc/resolv.conf
nameserver 192.168.0.14
8)、測試:
#named-checkzone leisure.com var/named/chroot/var/named/leisure.com.zone //測試正向區域檔案(檔案沒有文法錯誤則顯示OK,有錯誤則顯示錯誤内容)
同理測試反向解析檔案
9)、啟動 bind 服務
#service named start
ok
到此配置就結束了,如果開啟了selinux 則要設定一下selinux,因為不配置這個的話就不會讓别人通路你的DNS伺服器。 防火牆開啟 tcp:53 udp:53
# ntsysc
這隻named 開啟自動啟動即可;
實驗中可關閉Selinux,開啟服務service named start.
10)、以上即是配置主域名伺服器過程,如果是從域名伺服器,這個配置過程也是一樣的,隻需要改動named.rfc1912.zones檔案即可
zone "test.com" IN {
type slave;
file "slaves/leisure.com.zone"; //在/var/named/chroot/var/named/slaves
masters { 192.168.1.12; }; 添加區域配置檔案leisure.com.zone既可
zone "0.168.192.in-addr.arpa" IN {
file "slaves/0.168.192.zone"; //在/var/named/chroot/var/named/slaves
masters { 192.168.1.12; }; 添加區域配置檔案 0.168.192.zone 即可
11)、域名解析測試系統自帶的 nslookup 工具
# nslookup
Server: 192.168.1.14
Address: 192.168.1.14#53
Address: 192.168.1.14
>set type=mx
>leisure.com
Server: 192.168.0.14
Address: 192.168.0.14#53
leisure.com mail exchanger = 5 mail.leisure.com.
三、其它指令:
#rndc reload 一個非常有用的指令,能在不關閉服務的情況下,即時更新bind;另nslookup互動環境中,可以用指令server 192.168.1.102指定此DNS伺服器為提供服務的DNS伺服器
四、 标準資源記錄
-----------------------------------------------------------------------
資源記錄文本名 意義 記錄類型 功能
Start of Authority 授權開始 SOA 标記區資料的開始,定義影響整個區的參數
Name Server 名字伺服器 NS 标明域的名字伺服器
Address 位址 A 轉換主機名到位址
Pointer 指針 PTR 轉換位址到主機名
Mail Exchange 郵件交換 MX 标明發往給定域名的郵件應傳送到的位置
Canonical Name 正規名 CNAME 定義主機名别名
HOST information 主機資訊 HINFO 描繪主機硬體和作業系統的資訊
Wellknown Service 着名服務 WKS 通告網絡服務
DNS使用MX記錄來實作郵件路由,它規定了域名的郵件伺服器要麼處理,要麼向前轉發有關該域名的郵件.處理郵件是指将其傳送給其位址所關聯的個人,向前轉發郵件是指通過SMTP協定将其傳送給其最終目的地.為了防止郵遞路由,MX記錄除了郵件交換器的域名外還有一個特殊參數:優先級值.優先級值是個從0到65535的無符号整數,它給出郵件交換器的優先級别.
優先級值自身并不重要,關鍵在于它同其它郵件交換器的優先級值的相對大小,優先級值相對越小,優先級越高.郵件總是首先試圖傳遞給優先級值相對最小的郵件交換器.失敗後才試圖傳遞給優先級值稍大的郵件交換器.郵件總是試遍了同一優先級的郵件交換器,失敗後才試圖傳遞給優先級稍低的郵件交換器.
注意你列為郵件交換器的主機必須擁有位址記錄.
例如:
mail A 172.16.0.3
MX 10 mail.test.com.
五、管理工具
#dig
named.ca檔案的作用是告訴你的伺服器在哪裡可以找到根域的域伺服器,這個檔案 一定要保證正确無誤,一般來說,這個檔案幾乎不會變動,但是不能保證不會變動,最好是 每一,兩個月同步一下.
使用下面的指令獲得新的named.ca檔案
dig @.aroot-servers.net.ns >/var/named/named.ca
#rndc
rndc這個指令是由系統管理者用來管理域伺服器的操作,在終端中輸入ndc help可得到幫助.
rndc restart 用來重新啟動named程序;
rndc reload 用來裝入新的資料庫.
#nslookup
nslookup是用來詢域名資訊的指令,它分互動模式和非互動模式兩種方式.
互動模式:nslookup
注意,當用nslookup查詢時出現"Non-authoritative answer:",表明這次并沒有到 網絡外去查詢,而是在緩存區中查找并找到資料.
互動模式除了能查詢單個的主機,還可以查詢DNS記錄的任何類型,并且傳輸 一個域的整個區域資訊。 當不加參數地調用,nslookup将顯示它所用的名字伺服器, 并且進入互動模式。
本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/808471,如需轉載請自行聯系原作者