该配置操作系统版本为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. IN A 192.168.100.100 . IN A 192.168.100.103 www1.gao.com. IN CNAME . 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 . 100 IN PTR . 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