这里会用到BIND(Berkeley Internet Name Domain)
首先查询下本地bind有没有安装
yum list all | grep "^bind"
如果没有安装,先把bind安装起来
yum -y install bind
备份/etc/named.conf文件
mv /etc/named.conf /etc/named.conf.bak
查看下该配置文件的属性,待会要用到属主属组以及访问权限(root,named,640)
ll /etc/named.conf/bak
手动写bind的配置文件
vim /etc/named.conf
options {
directory "/var/named";
}; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN {
type master;
file "named.localhost";
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
}; zone "zdx.com" IN {
type master;
file "zdx.com.zone";
}; zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
};
修改文件的属组和访问属性
chown root:named /etc/named.conf
chmod /etc/named.conf
检查配置文件有无语法错误
service named configtest
若无错误,可以开启named服务
service named start
查看日志文件
tail /var/log/messages
在查看监听端口之前,要确保SElinux没有启动(Enforcing为启动)
getenforce
若SElinux启动,需要先关闭:
setenforce
这只是临时关闭,若要永久关闭,需要修改配置文件
#vim /etc/selinux/config
令SELINUX=disabled
查看监听端口(53)
netstat -tlunp
确保本机可以上网,可以随意ping下网站
之后编辑自己的dns服务器地址指向
#vim /etc/resolv.conf
令nameserver = 192.168.0.220(本机ip)
可以用如下命令测试根
dig -t NS .
dig -t NS . @a.root-servers.net.
测试完成之后就可以试试能不能解析了
ping www.baidu.com
至此,缓存DNS服务器配置完成。
让它下次开机自启动:
chkconfig named on
接下来,我们假设自己申请了个域,并且已经做好了规划,如下
zdx.com 192.168.0.0/24
ns 192.168.0.220
www 192.168.0.220,192.168.0.222
mail 192.168.0.221
ftp www
第一步:实现正向解析
编辑/etc/named.conf
定义区域
zone "zdx.com" IN {
type master;
file "zdx.com.zone";
};
添加文件
#cd /var/named
#vim zdx.com.zone
$TTL
@ IN SOA ns1.zdx.com. admin.zdx.com. ( 1H
5M
2D
6H )
IN NS ns1
IN MX mail
ns1 IN A 192.168.0.220
mail IN A 192.168.0.221
www IN A 192.168.0.220
www IN A 192.168.0.222
ftp IN CNAME www
修改属组和文件权限
chmod zdx.com.zone
chwon root:named zdx.com.zone
接下来可以用dig或者host来测试
dig -t RRT NAME @IP (RRT为Resource Record Type) dig -t NS zdx.com
dig -t MX zdx.com dig -x IP:
根据IP查找FQDN host -t RT NAME: 查询名称的解析结果
同理反向也可以自行完成。
至此,DNS服务器配置完成,是不是很简单呢:)