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服务_内网


要在内网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服务_内网_02

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服务_dns服务器_03

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服务_配置文件_04

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服务_dns服务器_05

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服务_配置文件_06

或者nslookup进行验证

CentOS6.7服务器上部署内网DNS服务_配置文件_07

可以发现均可以正常解析

测试反向解析,如下截图,也OK

CentOS6.7服务器上部署内网DNS服务_dns服务器_08

6、内网其他Windows机器进行验证

内网机器192.168.50.2修改首选DNS服务器为192.168.50.253

CentOS6.7服务器上部署内网DNS服务_dns服务器_09


测试ftp服务器通过域名访问

CentOS6.7服务器上部署内网DNS服务_dns服务器_10

测试访问router.dahuatech1181.com ---->192.168.50.1

CentOS6.7服务器上部署内网DNS服务_dns服务器_11

nslookup命令验证

CentOS6.7服务器上部署内网DNS服务_配置文件_12


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

本文参考《鸟哥的LINUX私房菜》——DNS 服务器的详细设定

​​