软件包安装
bind DNS主程序安装包
bind-libs 库
bind-utils 搜索主机名称的相关命令
bindchroot 最小权限范围设定
安装bind
#yum -y install bind
/etc/init.d/named启动脚本
第一部分:配置本地DNS缓存服务器
1、主配置文件设置:/etc/named.conf
#vim /etc/named.conf
options {
directory “/var/named";
};
zone "." IN { #定义根域配置文件
type hint;
file "named.root";
};
zone "localhost" IN { #定义本机区域正向解析文件
type master;
file "localhost.zone;
};
zone "0.0.127.in-addr.arpa" { #定义本机区域反解文件
type master;
file "named.local"
};
2、配置name.root
#dig -t NS . @a.root-servers.net > /var/named.root(通过根服务器找所有13个根域服务器)
3、配置本地正向解析文件/var/named/localhost.zone
#vim /var/named/localhost.zone
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2011060301
1H
10M
7D
1D )
@ IN NS localhost.
localhost. IN A 127.0.0.1
4、配置本地反向解析文件/var/named/named.local
# vim /var/named/named.local
$TTL 86400
@ IN SOA localhost. admin.localhost.(
2011060301
1H
10M
7D
1D )
@ IN NS localhost.
1 IN PTR localhost.
注:一个进程运行以一个用户身份运行,bind以named用户运行,所以上述建立的文件要更改属主属组
命令:
#chown :named /etc/named.conf
#chown :named /var/named/* -R
启动服务可以验证缓存服务器是否生效
验证配置文件语法错误:
#service named configtest
启动命令:
#service named start
在验证上述缓存DNS能否使用时,要更改本机DNS服务器指向
vim /etc/resolv.conf
nameserver 192.168.0.34 (这里设置为你的主机IP地址)
上述4步只是建立一个本地缓存DNS,他不能解析本地主机,只负责将本地请求发送给根域解析外部主机IP,
查找命令:
#dig -x 127.0.0.1 查找127.0.0.1的主机名
#dig -t A localhost. 查找localhost.的IP
#dig -t A www.baidu.com 查询baidu的IP
上述命令是查找某一个资源记录所对应的结果
远程工具rndc的使用
rndc进程与named进程通信需要一组密钥
生成rndc需要使用的密钥,
命令:
#rndc-confgen > /etc/rndc.conf (rndc.conf是rndc的配置文件)
将rndc.conf倒数第二到倒数第10行去掉#后追加到named.conf中
命令:
#tail /etc/rndc.conf | head -9 | sed ‘s/^*//g' >> /etc/named.conf
rndc的基本命令:
#rndc flush 清空NDS服务器缓存
#rndc status 查看DNS服务器状态
#rndc stop 停止DNS服务
#rndc reload 重新读取配置文件
第二部分:将缓存服务器扩展为主服务器
假设申请到域名a.com域名,需要建立一个DNS服务器来解析此域内的所有主机IP以及反解
假设域内的主机及IP如下:
1、编辑主配置文件/etc/named.conf
增加本地域的正向解析区域文件,在原文中增加2个zone
编辑格式:
zone "a.com" IN {
type master;
file "a.com.zone";
allow-transfer { none; }; #不允许区域传送
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone"
allow-transfer { none; };
2、建立a.com.zone文件
#vim /var/named/a.com.zone
$TTL 86400
$ORIGIN a.com.
@ IN SOA a.com. root.a.com. (
2011060301
1H
10M
7D
1D )
IN NS ns.a.com.
IN MX 10 mail.a.com. #10是邮件服务器的优先级
ns.a.com. IN A 192.168.0.34
mail.a.com. IN A 192.168.0.34
www IN A 192.168.0.254
www IN A 192.168.0.1
bbs IN CNAME www
ftp IN A 192.168.0.254
保存退出
#chown :named a.com.zone 更改属主属组
#rndc reload 重新载入配置文件
#dig -t CNAME bbs.a.com 查找bbs.a.com的正式名称
3、建立反解文件/var/named/192.168.0.zone
$TTL 86400
@ IN SOA a.com. root.a.com. (
2011060301
1H
10M
7D
1D )
IN NS ns.a.com.
34 IN PTR ns.a.com.
34 IN PTR mail.a.com.
1 IN PTR www.a.com.
254 IN PTR www.a.com.
254 IN PTR ftp.a.com.
254 IN PTR fw.a.com.
保存退出
更改权限命令:
#chown :named 192.168.0.zone
重新读取配置文件
#rndc reload
测试
#dig -x 192.168.0.1
上述完成了一个简单的DNS配置