Linux下DNS服务器配置

DNS是域名服务的缩写,为客户端提供域名和IP的解析服务。

DNS服务有四种类型,主域名服务器,辅助域名服务器,缓存域名服务器,转发域名服务器。

本次配置主域名服务器。

服务器:CentOS 6.3 X86 ip: 192.168.137.16

客户端: WIN7 X86 ip: 192.168.137.1

软件: bind软件包及其依赖包

关于DNS服务器安装,可以采用bind源代码编译安装,也可以采用rpm二进制包直接安装。

本次顺便安装了bind-chroot , bind相关配置文件在/var/named/chroot/目录下,保证了DNS服务器安全。

dns1

由于DNS服务使用TCP和UDP的53号端口,因此需要在iptables中开放,为了安全不直接关闭iptables。如下:

dns2

接着重启iptables

执行 service named start 开启DNS服务,netstat命令查看端口,发现TCP和UDP的53号端口都在监听。

dns3

客户端配置DNS服务器为:192.168.137.16

dns6

现在开始编辑配置文件,这里会用到4个文件

/var/named/chroot/etc下的named.conf和named.rfc1912.zones

var/named/ 下的named.localhost和named.loopback

其中named.conf是主配置文件, named.rfc1912.zones是配置正向解析和反向解析的配置文件。

而named.localhost和named.loopback分别是正向和反向解析的数据文件模版。

编辑named.conf

将 listen-on port 53 的选项值改为any;将 listen-on-v6 port 53 用#注释掉;将 allow-query 的选项值改为 any

如下:

dns7

这次用百度首页,百度新闻,百度贴吧,百度知道等网页测试。

通过nslookup命令查询这几个域名与IP的对应关系(先不考虑别名)。

百度首页 www.baidu.com 180.97.33.107 180.97.33.108

百度新闻 news.baidu.com 180.149.131.76

百度贴吧 tieba.baidu.com 180.149.144.216 180.149.133.173

百度知道 zhidao.baidu.com 180.149.131.245

编辑正反向解析文件named.rfc1912.zones ,需要注意的是zone后面双引号中的部分是域名或者IP部分,

要按照特定格式写;file后面双引号中的部分自定义,但正反向解析的数据文件必须要与之对应,否则会出错;

type后面的master表示主域名服务器;然后保存退出。

dns8

接着根据named.rfc1912.zones文件的内容,编辑正向和反向解析的数据文件。

named.localhost和named.loopback分别是正反向解析数据文件模版。使用cp -p命令复制几份,

目的文件名要和named.rfc1912.zones中file段中的文件名一致,如下:

dns9

现在以域名baidu.com为例,它的正向解析数据文件是baidu.zone;反向解析数据文件是33.97.180.arpa

编辑baidu.zone。

本机是域baidu.com的DNS,同时也是主DNS,因此SOA记录和NS记录的名称都是服务端主机名

localhost.localdomain;然后添加A记录,即www.baidu.com对应的IP地址,另外将生存时间和刷新时间,

重试时间改短以方便测试,保存退出。

dns10

编辑33.97.180.arpa

本机是域baidu.com的DNS,同时也是主DNS,因此SOA记录和NS记录的名称都是服务端主机名

localhost.localdomain. ;PTR是指针记录,是A记录的逆向记录,作用是把IP地址解析为域名。

另外将生存时间和刷新时间,重试时间改短以方便测试,保存退出。

dns11

接着用以上方法分别添加百度新闻,百度贴吧,百度知道的正向解析和反向解析,不再赘述,编辑完成后,

使用named-checkconf检查一下配置文件是否正确。若不正确,要根据报错提示或者/var/log/message

进行排查,直到完全正确。

执行service named restart 顺利重启。

客户端执行nslookup, 服务器192.168.137.16回应。正反向查询都能正常解析。并且能浏览百度部分网页。

dns12

这次Linux下DNS服务器配置结束。

Leave a Reply