DNS服務的配置與故障處理
一、 安裝
首先查看一下當前系統中存在的rpm包:rpm –qa | grep named
默認的情況下系統中應該已經裝好了bind-libs-9.3.3-7.el5.i386.rpm 包和 bind-utils-9.3.3-7.el5.i386.rpm 包。然後再找到下面三個包,並按順序安裝:
& Rpm –ivh bind-9.3.3-7.el5.i386.rpm
& Rpm –ivh bind-chroot-9.3.3-7.el5.i386.rpm
& Rpm –ivh caching-nameserver-9.3.3-7.el5.i386.rpm
& system-config-bind-4.0.3-2.el5.noarch.rpm //GUI DNS
注:caching-nameserver-9.3.3-7.el5.i386.rpm包用於緩存dns服務器的配置,包括樣本/etc/named.conf和/var/named/localhost.zone 。
將/etc/named.caching-nameserver.conf保留好,同時完成/etc/named.conf文件的拷貝:cp –a /etc/named.caching-nameserver.conf /etc/named.conf,-a參數保證named.conf繼續了前者的全部權限。
待安裝完成後執行service named start 可以正常啓動DNS,如果不能正常啓動的話,需要先排除一下錯誤,以便進一步進行下面的操作。
二、 配置
例如在此創建一個moon.com的域名,完成DNS的配置,內容如下所示:
www |
10.16.140.166 |
ftp |
10.16.140.166 |
ns |
10.16.140.166 |
需要配置文件:
/etc/named.conf ; DNS服務器的全局配置文件,需要配置
/etc/named.rfc1912.zones ; 區域配置文件,不需要修改
/var/named/moon.com.zone ;本機反向解析區域聲明文件,參照修改
/var/named/10.16.140.zone ;正向解析區域聲明文件,參照修改
l 配置主文件/etc/named.conf
注:在配置前先要做好配置文件的備份,可以使用cp –a named.conf named.conf.bak。
添加如下內容:
zone "moon.com" IN {
type master;
file "moon.com.zone";
};
zone "140.16.10.in-addr.arpa" IN {
type master;
file "10.16.140.zone";
};
include "/etc/named.rfc1912.zones";
l 配置正向解析區域文件
正向區域解析文件moon.com.zone可以由localdomain.zone複製而來,注意在複製的時候使用上-a參數來完成全部權限的複製。如果該文件手式創建的話,注意要將其權限改爲777(755也可以,但是示例文件權限都是777),屬主爲root屬組爲named。
添加內容如下所示:
$TTL 86400
@ IN SOA ns.moon.com. root.moon.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns.moon.com.
localhost IN A 127.0.0.1
ns IN A 10.16.140.165
www IN A 10.16.140.165
ftp IN A 10.16.140.165
l 配置反向解析區域文件
反向區域解析文件10.16.140.zone可以由named.zero複製而來,注意在複製的時候使用上-a參數來完成全部權限的複製。如果該文件手式創建的話,注意要將其權限改爲777(755也可以,但是示例文件權限都是777),屬主爲root屬組爲named。
添加內容如下所示:
$TTL 86400
@ IN SOA ns.moon.com. root.moon.com. (
19 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS ns.moon.com.
165 IN PTR ns.moon.com.
165 IN PTR www.moon.com.
165 IN PTR ftp.moon.com.
三、 故障排除
1、至此DNS服務器應該可以正常啓動,假如出現如下面的提示的話:
"named配置錯誤:
zone moon.com/IN: lodaing master file moon.com.zone:file not found
_default/moon.com/IN:file not found ........"等時
我們還需要將/var/named/下面的moon.com.zone和10.16.140.zone拷貝到/var/named/chroot/var/named文件夾下,然後重新啓動即可以。
cp –a /var/named/moon.com.zone /var/named/chroot/var/named
cp –a /var/named/10.16.140.zone /var/named/chroot/var/named
2、常用調試命令
named-checkconf
dig moon.com
named-chechzone moon.com moon.com.zone (在/var/named下執行)
host –l moon.com
named –g
tail –f /var/log/message
rndc reload
3、有些時候配置也沒有錯誤了但是DNS還是不能起作用,建議使用下面命令
named –u named –c /etc/named.conf
該命令的作用是使用named 的用戶來啓動named.conf,然後一般情況下就可以解決無錯情況下DNS不能起作用的故障。