介绍:
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解析记录类型的介绍参考此篇文章:
再来编辑反向解析文件。
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下不做介绍。
测试DNS解析使用nslookup命令,如果发现系统中没有nslookup这个命令是因为没有安装bind工具包,执行以下命令安装。
yum install -y bind-utils
启动nslookup。
nslookup
执行命令后在“>”符号后面输入要测试解析的域名即可。
例如下图,其中蓝色框内是DNS服务器信息,红框内是域名解析信息。
可以通过“set type=”来设置解析类型。
例如,测试MX解析记录:
或者,测试TXT记录。
再来测试下反向解析。
最后,退出nslookup工具,只需要在“>”符号后面输入“exit”即可。
非常好的分享,感谢
😆