CentOS 6下使用BIND配置简单DNS服务器

介绍:
BIND是linux/unix下的开源免费DNS服务器,也是全世界应用最广泛的DNS服务器软件。
软件安装:

yum install -y bind

主要配置文件介绍:

/etc/named.conf                 //BIND主配置文件
/etc/named.rfc1912.zones        //DNS解析区域配置文件
/etc/named.localhost            //正向解析模板文件
/etc/named.loopback             //反向解析模板文件

BIND配置:
编辑主配置文件

vim /etc/named.conf

将如下如红色箭头所指的两处的值均改为“any”,第一处定义bind服务监听的本地网卡地址,默认仅监听回环地址,改为any后监听所有网卡。第二处定义的是允许查询DNS的主机,默认只有本地可以查询,改为any后允许所有主机进行DNS查询。

修改后如下图。

主配置文件的配置至此结束,接下来编辑DNS解析区域配置文件。

vim /etc/named.rfc1912.zones

此部分为正向解析区域配置模板,这里稍微啰嗦一下什么是正向解析什么是反向解析:正向解析就是通过域名解析出IP地址,反向解析就是通过IP地址来解析出域名。

此部分为IPv6反向解析区域配置模板。

此部分为反向解析区域配置模板

这里,我们添加一个正向解析区域和一个反向解析区域。
直接在模板基础上修改即可,如下图,第一个“it7e.com”是要解析的域名,第二个“it7e.com”是正向解析配置文件的文件名。
默认情况下,所有的解析配置文件都存放在/var/named/目录下。

再添加一个反向解析区域,其中”1.168.192″是要进行反向解析的网段”192.168.1″的倒写,而图中的“192.168.1”则是反向解析配置文件的文件名。

最后,分别编辑两个解析区域的解析配置文件向其中添加解析即可。
先根据正向解析配置文件模板”named.localhost”创建正向解析配置文件”it7e.com”。

cp -p /var/named/named.localhost /var/named/it7e.com

再根据反向解析配置文件模板“named.loopback”创建反向解析配置文件“192.168.1”。

cp -p /var/named/named.loopback /var/named/192.168.1

编辑正向解析配置文件“it7e.com”

vim /var/named/it7e.com

通常情况下,只需要编辑红框部分,向其中添加解析即可,其余地方不用更改。

例如:

上图中需要特殊说明的是MX记录后面的5是MX优先级。记录值中填的“@”代表本域,本实验中是“it7e.com”,注意如果这样写,那么就必须保证有“it7e.com”对应的解析记录,本实验中其对应的记录在第九行。在主机位上填的“@”代表“空”,也可以真的留空,什么都不写,就像第九行的那条解析记录一样。另外,记录值中的域名都以“.”结尾,IP则不用。
最后需要注意的是MX记录要写在其值的CNAME记录的前面,例如上图中,“@   MX 5 mail.it7e.com”记录写在了“mail CNAME it7e.com”记录的前面,否则会出现异常。
关于DNS解析记录类型的介绍参考此篇文章:

DNS解析记录类型详解

再来编辑反向解析文件。

vim /var/named/192.168.1

依然是没有特殊需求就只编辑红框内的内容即可。

例如:

上图中,“ A 127.0.0.1”这个记录不可删除,否则报错。因为NS记录值是“@”,也就是“it7e.com”,若删除了“ A 127.0.0.1”这条记录,则“it7e.com”没有对应的A记录,NS记录会抛出错误。
服务测试:
测试前需要将本机或客户机的DNS修改为DNS服务器的IP地址。
CentOS 6下DNS的修改方法参考此篇文章,Windows下不做介绍。

CentOS 6下正确配置DNS的方法

测试DNS解析使用nslookup命令,如果发现系统中没有nslookup这个命令是因为没有安装bind工具包,执行以下命令安装。

yum install -y bind-utils

启动nslookup。

nslookup

执行命令后在“>”符号后面输入要测试解析的域名即可。

例如下图,其中蓝色框内是DNS服务器信息,红框内是域名解析信息。

可以通过“set type=”来设置解析类型。
例如,测试MX解析记录: 
或者,测试TXT记录。

再来测试下反向解析。

最后,退出nslookup工具,只需要在“>”符号后面输入“exit”即可。

2 thoughts on “CentOS 6下使用BIND配置简单DNS服务器”

Leave a Reply

Your email address will not be published. Required fields are marked *