配置DNS服务器,实现局域网内的地址正反向解析

时间:2024-07-23 21:04:02

这里会用到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服务器配置完成,是不是很简单呢:)