基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

一、简介

DNS是计算机域名系统或域名解析服务器(Domain Name Server或Domain Name System) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP。

在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。已开始试行、将来必将代替IPv4的IPV6中,将以128位二进制数表示一个IP地址。

DNS最早于1983年由保罗·莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案(RFC 882)中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。

二、环境规划

环境 ip地址
主DNS(主机名dns) 192.168.1.200
辅DNS(主机名ns2)

192.168.1.210

www 192.168.1.211
mail 192.168.1.212
ftp 192.168.1.213
子域testdns 192.168.1.220
子域www 192.168.1.221

   本文我们假设在互联网上申请到了一个域名为wangfeng7399.com,域名下面有www、ftp和mail服务器。由于公司发展需要,先在域名下分配了子域linux.wangfeng7399.com,子域下面现在只有www服务器

三、主副DNS搭建,并实现正向解析与反向解析

1)主DNS搭建

  DNS的配置文件分为主配置文件和区域配置文件,其中主配置文件在/etc/named.conf其中最少应该包含三段信息,分别为根、local和127.0.0.1的配置,区域配置文件存放在/var/name的路径下,每个文件用于指定一个区域。

  本文主要的配置文件是通过yum和rpm安装得到的配置文件,关于bind的源码安装将在后续推出,敬请关注

  在配置的过程中,可以使用bind的自带的配置文件,也可自己生成配置文件,本文主要讲解自己生成配置文件,先将bind自带的配置文件改名,然后自己生成配置

 1、正向解析搭建

主配置文件

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

区域文件

 

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

测试语法是否有错误

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

启动服务

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

测试

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

 2、反向解析搭建

    在主匹配文件中添加如下代码

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

    反向解析的区域配置文件

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

   测试,同样使用dig

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

   为确保配置文件的安全性,建议将所有的配置文件的属主改为root,属组改为named,权限改为640

2)辅DNS搭建

 1、正向解析同步,在主配置文件中添加如下参数

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

   并在主配置文件中添加

   

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

   测试

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

  修改主DNS区域文件中的一条解析,将ftp解析到192.168.1.213上

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

查看辅DNS是否可以更新

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

 2、反向解析同步同正向解析相同,本处不在做实验

四、DNS子域划分(本处只讲解正向解析在主DNS的划分,从DNS与主DNS相同)

在主DNS中添加如下内容

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

在子域的主配置文件添加

   基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

五、请求转发(本处之讲解正向解析的在主DNS的划分,从DNS与主DNS相同

我们的DNS在本地指定的DNS找不到解析后,会直接向跟发起请求,为了使根的负载变小,我们可以设置请求转发

1)转发非本机负责解析的所有区域

 需要在全局变量中定义

 基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

测试

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

2)解析某个特定的区域

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

测试

基于BIND实现DNS的解析、主从、子域、请求转发、访问控制

安全控制选项:

  allow-transfer{};通常都需要启用,从服务器

  allow-query{};此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端

  allow-recursion{可以使用网段};允许递归的白名单

  allow-update{ none; }:允许动态更新数据文件的主机白名单

六、acl访问控制列表

BINA支持使用访问控制列表,可以自己定义

如 acl ACL_NAME{

    option1;

    option2;

    ……

};

在使用的时候可以直接引用控制列表的名称即可

访问控制列表只有定义后才能使用,通常acl要定义在named.conf的最上方

 BIND有四个内置的acl

   any:任何主机

   none:无一主机

   local:本机

   localnet:本机所在的网络

未完,待续


本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1372121,如需转载请自行联系原作者