DNS(Domain Name System,域名系统),互联网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住较难记住的IP地址。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53
    linux上的DNS服务是基于一种软件BIND实现的
    BIND: Berkeley Internet Name Domain
    下面结合下面拓扑图介绍如何在内网CentOS6.7的Linux服务器上部署BIND DNS服务
    CentOS6.7服务器上部署内网DNS服务 - 图1

    要在内网192.168.50.0/24这个局域网内建立一个dahuatech1181.com的域(zone)
    建立4个简单的域名与IP地址的映射关系:
    1)CentOS 服务器 192.168.50.253 充当dns服务器->dns.dahuatech1181.com
    2)内网ftp服务器192.168.50.50 ->ftp.dahuatech1181.com
    3)内网其他应用服务器192.168.50.15 ->15.dahuatech1181.com
    4)出口路由器192.168.50.1 -> router.dahuatech1181.com

    下面进入正题
    1、SecureCRT登录192.168.50.253 CentOS6.7 Linux服务器,yum安装bind bind-utils程序
    [root@www ~]# yum install bind bind-utils
    2、接下来vi修改主要配置文件 /etc/named.conf
    [root@www ~]# vi /etc/named.conf
    //
    // named.conf
    options {
    listen-on port 53 { any; }; #原先默认为127.0.0.1;修改为any,预设是监听在 localhost,亦即只有本机可以对 DNS 服务进行查询,那当然是很不合理啊! 所以这里要将大括号内的数据改写成 any
    listen-on-v6 port 53 { ::1; };
    directory “/var/named”;
    dump-file “/var/named/data/cache_dump.db”;
    statistics-file “/var/named/data/named_stats.txt”;
    memstatistics-file “/var/named/data/named_mem_stats.txt”;
    allow-query { any; };#原先默认为localhost;这个是针对客户端的设定,到底谁可以对我的 DNS 服务提出查询请求的意思。原本的档案内容预设是针对 localhost 开放而已, 这里改成对所有的用户开放 (当然防火墙也得放行才行)
    recursion yes;
    3、在/etc/named.conf文件中 添加正向和反向zone配置
    CentOS6.7服务器上部署内网DNS服务 - 图2
    zone “dahuatech1181.com” IN {
    type master;
    file “named.dahuatech1181.com”;
    };
    zone “50.168.192.in-addr.arpa” IN {
    type master;
    file “named.192.168.50.0”;
    };
    说明:type也就是 该 zone 的类型,主要的类型有针对 . 的 hint,以及自己手动修改数据库档案的 master,与可自动更新数据库的 slave ,我们这里都设为master类型
    file 也就是zone file文件的文件名 ,待会需要我们手动在/var/named/下去创建

    反解 zone 主要就是 in-addr.arpa 这个玩意

    3、接下来在/var/named/目录下创建正向解析和反向解析zone配置文件(相当于dns解析数据库)
    我们以/var/named/named.localhost 作为模板,拷贝过来
    cp /var/named/named.localhost /var/named/named.dahuatech1181.com
    cp /var/named/named.localhost /var/named/named.192.168.50.0
    注意cp设置的文件名需要与/etc/named.conf 添加正向和反向zone配置file中文件名要一致!
    1) 先vi编辑named.dahuatech1181.com这个正解zone配置文件
    添加NS记录和A记录
    [root@www ~]# vi /var/named/named.dahuatech1181.com
    $TTL 1D
    @ IN SOA @ rname.invalid. (
    0 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    3H ) ; minimum
    @ IN NS dns.dahuatech1181.com.
    dns.dahuatech1181.com. IN A 192.168.50.253
    router.dahuatech1181.com. IN A 192.168.50.1
    ftp.dahuatech1181.com. IN A 192.168.50.50
    15.dahuatech1181.com. IN A 192.168.50.15
    CentOS6.7服务器上部署内网DNS服务 - 图3
    2)同样编辑反向解析zone配置文件named.192.168.50.0
    添加NS记录和PTR记录
    [root@www ~]# vi /var/named/named.192.168.50.0
    $TTL 1D
    @ IN SOA @ rname.invalid. (
    0 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    3H ) ; minimum
    NS dns.dahuatech1181.com.
    253 IN PTR www.dahuatech1181.com.
    1 IN PTR router.dahuatech1181.com.
    50 IN PTR ftp.dahuatech1181.com.
    15 IN PTR 15.dahuatech1181.com.
    CentOS6.7服务器上部署内网DNS服务 - 图4
    vi编辑后wq保存这两个文件
    4、设置named服务开机启动,启动named服务
    [root@www ~]# chkconfig named on
    [root@www ~]# service named restart
    Stopping named: .[ OK ]
    Starting named: [ OK ]
    [root@www ~]#
    CentOS6.7服务器上部署内网DNS服务 - 图5
    5、本机进行验证
    修改本机的域名DNS服务器为192.168.50.253
    [root@www ~]# vi /etc/resolv.conf
    nameserver 192.168.50.253
    以及网口的DNS服务器配置,都改为192.168.50.253
    修改好之后重启网络服务 service network restart
    dig命令进行验证
    dig ftp.dahuatech1181.com
    CentOS6.7服务器上部署内网DNS服务 - 图6
    或者nslookup进行验证
    CentOS6.7服务器上部署内网DNS服务 - 图7
    可以发现均可以正常解析
    测试反向解析,如下截图,也OK
    CentOS6.7服务器上部署内网DNS服务 - 图8
    6、内网其他Windows机器进行验证
    内网机器192.168.50.2修改首选DNS服务器为192.168.50.253
    CentOS6.7服务器上部署内网DNS服务 - 图9

    测试ftp服务器通过域名访问
    CentOS6.7服务器上部署内网DNS服务 - 图10
    测试访问router.dahuatech1181.com ——>192.168.50.1
    CentOS6.7服务器上部署内网DNS服务 - 图11
    nslookup命令验证
    CentOS6.7服务器上部署内网DNS服务 - 图12

    DNS服务的简单部署就介绍到这里