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不能起作用的故障。