今天来教大家在 redhat AS5下面配置DNS服务器。
一、准备工作:
1 系统:Redhat AS 5
2 软件:bind-9.6.0-P1.tar.gz (在 http://www.isc.org/products/BIND 里面下的最新版本)
二、安装:
#cd /home/
#tar zxvf bind-9.6.0-P1.tar.gz
#cd bind-9.6.0-P1
# ./configure --sysconfdir=/etc/ //这步请详细看帮助,我这里指定配置文件在/etc目录下。
#make & make install
#vi /etc/named.conf //这个文件没有需要创建,里面的内容如下:
示例:
options
{
directory "/var/named"; //指定工作目录。
};
zone "." {
type hint;
file "named.ca"; //注意冒号哟。
};
zone "localhost" {
type master;
file "named.local";
};
编辑好后保存退出!
#mkdir -p /var/named //这个目录为named 的工作目录需要创建,上面的配置文件也需要指定该目录
#echo "nameserver 202.202.0.33" > /etc/resolv.conf //给本机指定一个可用的DNS
#dig -t NS . > /var/named/named.ca //生成named.ca根域名数据库
#cat /var/named/named.ca //查看有没有记录,有很多A记录就可以了,没有需要从新指定可的DNS
#vi /var/named/named.local //创建本地named的文件,内容如下:
示例:
@ IN SOA localhost. root ( //注意localhost的后面有一点哟。
2009022701
1H
15M
1W
1D )
IN NS @
IN A 127.0.0.1
# rndc-confgen > /etc/rndc.conf //用RNDC来控制服务器(cat -n 可以显示行号)。
#tail +13 /etc/rndc.conf >> /etc/named.conf //将rndc.conf 中第13行开始写入到named.conf。
#vi /etc/named.conf //去掉新添加内容的#。
#named //启动named。
#tail /var/log/messages //查看日志文件,看看是否启动成功。如成功还需要仔细看日志。
# rndc staut //测试RNDC,有以下结果就成功了。
version: 9.6.0-P1
number of zones: 16
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
#echo "nameserver 127.0.0.1" > /etc/resolv.conf //将DNS该成本地地址。
#host www.qq.com //解析下看看。
www.qq.com has address 118.123.234.98
www.qq.com has address 118.123.234.99
www.qq.com has address 118.123.234.100
www.qq.com has address 118.123.234.101
www.qq.com has address 118.123.234.97
有结果就可以了哈。
三、添加新的zone.(我在这里添加一个cquitlab.com 的域名,分别有www、ftp、mail)
# vi /etc/named.conf //添加以下内容。
zone "cquitlab.com" {
type master;
file "cquitlab.com.zone";
};
注意分号哟!
#cd /var/named/
#cp named.local cquitlab.com.zone
#vi cquitlab.com.zone //编辑zone文件。
$TTL 1D
@ IN SOA cquitlab.com. root.cquitlab.com. (
2009022702
1H
15M
1W
1D )
IN NS @
IN A 192.168.7.180
IN MX 10 mail
www IN A 192.168.7.180
mail IN A 192.168.7.115
news IN CNAME www
#rndc reload //从新读取配置文件。
#host localhost
localhost has address 127.0.0.1
#host cquitlab.com
cquitlab.com has address 192.168.7.180
cquitlab.com mail is handled by 10 mail.cquitlab.com.
#host www.cquitlab.com
www.cquitlab.com has address 192.168.7.180
#host mail.cquitlab.com
mail.cquitlab.com has address 192.168.7.115
#host news //注意,news是我们定义在 www上的别名,如果直接去host肯定是找不到的,要让根默认去cquitlab.com中去找,所以在resolv.conf中添加 “search cquitlab.com”
news.cquitlab.com is an alias for www.cquitlab.com.
www.cquitlab.com has address 192.168.7.180
#dig -t NS/A cquitlab.com //可以同过这个命令可以看到关于cquitlab.com的NS/A的记录。
# nslookup //还可以通过这个命令来检测DNS哈。
#
反正能够看到上面的信息,那说明DNS能够正常的工作了哈。有关错误还请详细看帮助文件哈。
#
四、添加反向zone
#vi /etc/named.conf //添加以下内容。
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.zone";
};
zone "7.168.192.in-addr.arpa" {
type master;
file "192.168.7.zone";
};
#cd /var/named/
#vi 127.0.0.zone // 创建zone文件,内容如下:
$TTL 1D
@ IN SOA @ root.localhost. (
2009022701
1H
15M
1W
1D )
IN NS localhost.
1 IN PTR localhost.
#vi 192.168.7.zone //内容如下:
@ IN SOA cquitlab.com. root.cquitlab.com. (
2009022701
36000
7200
3600000
86400 )
IN NS cquitlab.com.
180 IN PTR www.cquitlab.com.
115 IN PTR mail.cquitlab.com.
#rndc reload //从新读取配置文件。
#host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
#host 192.168.7.180
180.7.168.192.in-addr.arpa domain name pointer www.cquitlab.com.
#host 192.168.7.115
115.7.168.192.in-addr.arpa domain name pointer mail.cquitlab.com.
#
# //看到以上信息都说明配置成功了哈!
五、使用工具测试BIND的性能
使用bind自带dig 命令的功能nslookup强大,建议大家使用 dig 命令来代替 nslookup。 不像 nslookkup 还得 set 来 set 去的,怪麻烦的。下面是 dig 的一些比较常用的命令:
#dig @server sina.com.cn. //dig 最基本的用法
#dig @server zx.xmgd.com. AXFR //用 dig 查看 zone 数据传输
#dig @server zx.xmgd.com. IXFR=N //用 dig 查看 zone 数据的增量传输
#dig -x 202.202.79.99 @server //用 dig 查看反向解析
#dig cquitlab.com. +nssearch //查找一个域的授权 dns 服务器
#dig cquitlab.com +trace //从根服务器开始追踪一个域名的解析过程
#dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT //查看你使用的是哪个 F root dns server
# dig @bind_dns_server CHAOS TXT version.bind // 查看 bind 的版本号
还可以使用第三方的软件来管理BIND,dlint、dnstop和dns flood detector等软件,大家可以在网上查查资料,我就不详细介绍了!
OK !配置已经基本上完成了!