天天看点

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

Linux中通常使用bind来实现DNS服务器的架设

安装DNS服务软件Bind和相应工具包

named.ca文件必须存在,否则不能启动服务 。此文件是根服务器资源记录。

bind主配置文件为/etc/named.conf

主配置文件语法检查命令

以域名hunk.tech为例配置一个DNS服务器

所谓的正向区域,指的是 FQDN > IP 转换

1./etc/named.rfc1912.zones文件,添加一个区域

2.在主配置文件中定义的全局中directory设置参数的目录中创建该区域数据库文件

3.在建该区域数据库文件定义资源记录

4.区域添加好后,使用区域库命令检查:

5.重新加载数据库信息

所谓的反向区域,指的是 IP > FQDN 转换

专业名词:PTR

1./etc/named.rfc1912.zones文件,添加一个PTR区域

区域名称:网络地址反写.in-addr.arpa.

比如:

172.16.100. --> 100.16.172.in-addr.arpa.

2.在主配置文件中定义的全局设置中/var/named的目录中创建该区域数据库文件

所属组必须为named,且权限为640安全。所以建议复制一个原有的模板进行修改。

必须加-p保留原有权限属性,

通常在应用中,DNS的反向解析并不是很重要,可以不配置,当服务器中有域名作为邮件服务器时,此时可以配置反向解析,

因为邮件中过滤垃圾邮件的技术通常是解析邮箱地址,如果IP地址不能反解成一个域名则视为垃圾邮件。

DNS查询中出现aa标记的话,就是权威查询,也就是说,查询的资源记录就是在那台DNS服务器直接查出来,而不是通过其他DNS查询。

是相对父域来说的,指域名中的每一个段。各子域之间用小数点分隔开。放在域名最后的子域称为最高级子域,或称为一级域,在它前面的子域称为二级域。

实现子域的几个方法:

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

 注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行。在主配置文件中定义以下:

 注意:关闭dnssec功能:

(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器

(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高

转发选项:

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是迭代查询

这里的ACL可别与之前学习的文件ACL权限混淆哦,当然,这也是bind安全管理的方法.

把一个或多个地址归并为一个集合,并通过一个统一的名称调用

与之前的shell编程中的函数一样,把一条命令或多条命令放在一个函数体内,以后要用的时候,调用名称即可。

bind有四个内置的ACL

实现的基础就是view视图

view是BIND9强大的新功能,允许名称服务器根据询问者的不同有区别的回答DNS查询。特别是当运行拆分DNS设置而不需要运行多个服务器时特别有用。

每个视图定义了一个将会在用户的子集中见到的DNS名称空间。

注意:

以下用一个实例来看ACL与view的搭配使用吧。不同地址解析不同的IP,即智能DNS

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

找一台192网段的主机进行测试

从日志可以看出来查询匹配了view规则net_192 

client 192.168.4.207#44511: view net_192: query: www.hunk.tech IN A +E (192.168.4.200)

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

找一台172网段的主机进行测试

从日志可以看出来查询匹配了view规则net_172 

client 172.18.103.222#51655: view net_172: query: www.hunk.tech IN A +E (172.18.103.226)

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

在本机使用127.0.0.1地址进行测试

从日志可以看出来查询匹配了view规则net_other

client 127.0.0.1#43506: view net_other: query: www.hunk.tech IN A + (127.0.0.1)

CentOS DNS服务详解与基于bind的智能DNS安装bind正向区域反向区域

至此,智能DNS范例已经完成。如果想获取更新实际中的IP段,可以根据这个脚本实现。

<a href="https://www.centos.bz/2012/02/automatic-get-unicom-chinanet-new-ip-ranges/">联通电信最新IP网段</a>

chroot是Linux系统对应用程序的一种安全约束机制。在应用程序执行了chroot系统调用后,它的执行被限定到chroot后的目录下。这样操作后,在最差的情况下,如果BIND被入侵了,那么黑客所拿到的目录权限会被限制到chroot后的目录,不会对系统的其他文件造成泄露或者被恶意修改。

本文转自 ljpwinxp 51CTO博客,原文链接:http://blog.51cto.com/191226139/2063287