该配置操作系统版本为Redhat5.8,内核版本为2.6.18-308.el5,Bind版本为bind97
一、DNS服务器端安装过程:
1、先检查系统上是否已安装其他版本bind,如果已安装就卸载。
yum list bind* 检查是否安装了其他版本的bind
rpm -e PACKAGENAME 下载已安装的bind软件包
2、安装yum软件包:
本次安装bind97.i386、bind97-libs.i386、bind97-utils.i386三个包
yum install bind97.i386 bind97-libs.i386 bind97-utils.i386
(执行此操作需先配置好yum源)
yum软件包安装完成
二、DNS服务器的配置
1、主配置文件:/etc/named.conf
其格式为:
全局选项段:
options {
directory "/var/named";
······
······
};
区域声明段:
zone "ZONE_NAME" IN {
type
file "FILENAME";
};
其中区域类型分一下四种:
master 主区域
slave 从区域
hint 根区域
forward 转发区域
区域数据文件:/var/named/
其格式为:
$TTL NUMBER
name [ttl] CLASS RTYPE RDATA 如上面已经定义TTL值 则此项TTL可以省略
zone IN SOA FQDN(主NS的FQDN) mailbox (
serial number 序列号(版本号)不能超过10位
refresh time 刷新时长
retry time 重试时长
expire time 过期时长
negative answer ttl ) 否定回答ttl值
zone IN NS FQDN 第二条一般都是NS
FQDN IN A IP
zone IN MX FQDN
IP IN PTR FQDN PTR条目name主机地址反过写
FQDN IN CNAME FQDN
2、修改配置文件和区域数据文件权限和属组:
chmod 640 /etc/named.conf /var/named/ZONENAME
chown :name /etc/named.conf /var/named/ZONENAME
3、检查配置文件和数据文件语法错误:
named-checkconf
named-checkzone "FILENAME" ZONENAME
重启服务:
service named restart
测试是否正常:
netstat -tunlp | grep 53
rndc status
三、配置一个本地DNS缓存服务器
1、重新编写配置文件:
vim /etc/named.conf
其内容为
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "127.0.0.zone";
};
zone "gao.com" IN {
type master;
file "gao.zone";
};
zone "100.168.192.in-addr.arpa" IN {
type master;
file "192.168.100.zone";
};
2、创建并编写区域数据文件:
localhost.zone:
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2012101901
1H
5M
7D
1D )
IN NS localhost.
localhost. IN A 127.0.0.1
127.0.0.zone:
$TTL 86400
@ IN SOA localhost. admin.localhost (
2012102001
2H
1H
15D
7D );
IN NS localhost.
1 IN PTR localhost.
gao.zone:
$TTL 86400
@ IN SOA ns1.gao.com. admin.gao.com. (
2012102001
2H
1H
15D
7D );
IN NS ns1.gao.com.
IN NS ns2.gao.com.
IN MX 10 mail.gao.com.
ns1.gao.com. IN A 192.168.100.100
ns2.gao.com. IN A 192.168.100.101 mail.gao.com. IN A 192.168.100.104
ftp.gao.com. IN A 192.168.100.100 www.gao.com. IN A 192.168.100.103
www1.gao.com. IN CNAME www.gao.com.
100.192.168.zone:
$TTL 86400
@ IN SOA ns1.gao.com. admin.gao.com. (
2012102002
1H
10M
15D
7D );
IN NS ns1.gao.com.
IN NS ns2.gao.com.
100 IN PTR ns1.gao.com.
101 IN PTR ns2.gao.com.
103 IN PTR www.gao.com.
100 IN PTR ftp.gao.com.
104 IN PTR mail.gao.com.
104 IN PTR www1.gao.com.
编辑区域数据文件注意事项:
FQDN必须以.结尾;
记录不能换行(除了SOA);
SOA邮箱地址中要用.代替@
第一个记录只能是SOA
NS和MX在正向解析数据文件中,每个FQDN应该有A记录
允许一个名称对应多条A记录;多个A记录对应一个名称 (在正文件中,前者具有负载均衡的功能;后者即为一台服务器有多个名字)
反向区域中,PTR记录的“name”是IP地址剩余的部分(主机地址)反过来写
反向区域的区域名称:network-address(reverse).in-addr.arpa
例如:172.16.100.1--> 16.172.in-addr.arpa
四、通过DNS服务器自带命令测试DNS配置情况:
常见用法示例:
dig:
dig -t type FQDN @SERVER-ADDR 测试正想解析
dig -x IPADDR @SERVER-ADDR 测试反向解析
dig +trace -t type FQDN @SERVER-ADDR 测试解析过程
dig +recurse -t type FQDN @SERVER-ADDR 允许递归查询
dig +norecurse -t type FQDN @SERVER-ADDR 不允许递归查询
dig txt chaos version.bind. 查服务版本号
host:
host -t FQDN SERVER-ADDR
host -t PTR IPADDR
host -t FQDN SERVER-ADDR
host -t type FQDN SERVER-ADDR
host -c chaos -t txt version.bind 查询版本号
nslookup: windows支持
nslookup
service SERVICE-ADDR
set type=“type”
FQDN