首页 > 其他 > 详细

DNS主从服务搭建

时间:2017-02-17 00:29:55      阅读:260      评论:0      收藏:0      [点我收藏+]

一、什么是DNS

  DNS越来越重要,尤其未来IPv6这个需要128bits地址的东西。我们连IPv4的32bits都背不下来,128bits要怎么背?这时主机名自动解析为IP就很重要。那就是DNS。再此不过多赘述理论知识,想了解更多请点击超链接阅读鸟哥Linux私房菜DNS服务架设篇

二、实验环境

主机
操作系统IP地址主要软件

DNS-master

Centos6.8192.168.25.2bind、bind-libs、bind-utils、bind-chroot
DNS-slaveCentos6.8192.168.25.3bind、bind-libs、bind-utils、bind-chroot
客户端Windows7192.168.25.4cmd命令行工具
解析域名

解析IP

配置文件名称说明
www.linux.com192.168.25.5linux.com将主机名www.linux.com解析到IP:192.168.25.5
ftp.linux.com192.168.25.6linux.com将主机名ftp.linux.com解析到IP:192.168.25.6
game.linux.com192.168.25.7
linux.com将主机名game.linux.com解析到IP:192.168.25.7

注:以上主机名均需要在“25.168.192.in-addr.arpa”中进行反向解析。

 本次实验将在局域网环境中完成,我们需要规划使用的域名是linux.com

三、实验步骤

[root@localhost ~]# yum -y install bind-libs bind-utils bind-chroot bind    ←使用yum安装bind

安装完bind向大家介绍安装bind之后自动生成的以及我们自己创建的配置文件起到的作用。

1)named.conf(DNS服务主要配置文件)

2)linux.com(主要的linux.com的正解文件)

3)25.168.192.in-addr.arpa(主要的192.168.25.5、6、7的反解文件)

4)named.ca(由bind软件提供的“.”正解文件)

详细信息请点击超链接:鸟哥Linux私房菜DNS服务器架设篇,这里不在做过多的赘述。


[root@localhost ~]# vim /etc/named.conf

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

//options 定义全局选项和默认值

options {

listen-on port 53 { any; };  //可不设置代表全部接受

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; }; //设定哪个主机可以进行普通的查询。allow-query也能在zone语句中设定,这样全局options中的allow-query选项在这里就不起作用了。默认的是允许所有主机进行查询

allow-query-cache { any; };  //允许用户查询服务器缓存。如果没有配置,则继承allow-recursion设置,若allow-recursion也没配置,则继承allow-query设置,若allow-query也没设置,则使用默认值default(localnets; localhost;)。

recursion yes;    //设定服务器是否允许递归查询,默认为yes,如果是yes,并且一个DNS询问要求递归,那么服务器将会做所有能够回答查询请求的工作。若为off,并且服务器不知道答案,它将返回一个推荐响应。

notify yes;    //如果是yes(默认),当一个授权的服务器修改了一个域后,DNS NOTIFY信息被发送出去。此信息将会发给列在域NS记录上的服务器(除了由SOA MNAME标示的主域名服务器)和任何列在also-notify选项中的服务器。如果是explicit,则notify将只发给列在also-notify中的服务器。如果是no,就不会发出任何报文。notify选项也可能设定在zone语句中,这样它就替代了options中的notify 语句。如果notify会使得辅域名服务器崩溃,就需要将此选项关闭。


dnssec-enable yes;

dnssec-validation yes;


/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";


managed-keys-directory "/var/named/dynamic";

};


logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};


zone "." IN {

type hint;

file "named.ca";        //由bind软件提供,“.”的正解文件,每台DNS服务器中都必须有这个zone

};


zone "linux.com" {            //域linux.com的正解文件

type master;

file "linux.com";

};


zone "25.168.192.in-addr.arpa" {        //IP:102.168.25.0段的反解文件

type master;

file "25.168.192.in-addr.arpa";

};

include "/etc/named.rfc1912.zones";


include "/etc/named.root.key";


named.conf配置文件详解请点击链接查看:http://blog.csdn.net/aly1989/article/details/51097805



编辑完/etc/named.conf之后我们需要在/var/named/下创建linux.conf、25.168.192.in-addr.arpa两个文件。


[root@localhost named]# vim /var/named/linux.com 

$TTL    600

@               IN SOA          ns1.linux.com. admin.qq.com. (

                             2017012603 

                      1H 

                      5M 

                      2D 

                      6H ) ;

@               IN NS           ns1.linux.com.    自己DNS服务器的地址

ns1.linux.com.  IN A            192.168.25.2        ns1.linux.com的A记录

www.linux.com.  IN A            192.168.25.5

ftp.linux.com.  IN A            192.168.25.6

game.linux.com. IN A            192.168.25.7


[root@localhost named]# vim /var/named/25.168.192.in-addr.arpa 

$TTL 600        ; 10 minutes

@               IN SOA  ns1.linux.com. admin.qq.com. (

                                2017021304 ; serial

                                10800      ; refresh (3 hours)

                                900        ; retry (15 minutes)

                                604800     ; expire (1 week)

                                86400      ; minimum (1 day)

                                )

@               IN NS   ns1.linux.com.    

5               IN PTR  www.linux.com.

6               IN PTR  ftp.linux.com.

7               IN PTR  game.linux.com.


注:无论是正解反解都需要指定自己的DNS服务器本文中是“ns1.linux.com”按照配置文档更改时只需要更改成自己的域就可以了。

详细的配置说明请点击超链接:鸟哥的linuxDNS服务器架设篇


重启DNS服务器并进行测试

[root@localhost ~]# service named restart

停止 named:                                               [确定]

启动 named:                                               [确定]


为了使测试结果更加的直观我们在三台主机上添加一个html的测试页面

在三台主机上安装Apache

[root@localhost ~]# yum -y install httpd


分别在三台主机上执行这三条命令:

[root@localhost ~]# echo "www.linux.com" > /var/www/html/index.html

[root@localhost ~]# echo "game.linux.com" > /var/www/html/index.html

[root@localhost ~]# echo "ftp.linux.com" > /var/www/html/index.html


在windows7上进行测试


将网卡DNS指定到DNS服务器

技术分享


在浏览器中输入www.linux.com测试

技术分享


在浏览器中输入ftp.linux.com进行测试

技术分享


在浏览器中输入game.linux.com测试

技术分享


打开cmd发现反解也可以使用了

技术分享

在图中我们可以看出DNS反向解析已经可以正常使用


下面我们需要搭建从服务器了,从服务器的搭建也非常简单只需要更改一下配置文件即可

[root@localhost ~]# yum -y install bind-libs bind-utils bind-chroot bind 


更改从服务器的主配置文件

[root@ns2 ~]# vim /etc/named.conf 

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//


options {

listen-on port 53 { any; };

directory "/var/named";

allow-query     { any; };

recursion yes;

        allow-query-cache { any; };


};


logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};


zone "." IN {

type hint;

file "named.ca";

};


zone "linux.com" {

type slave;

file "slaves/linux.com";

masters { 192.168.25.2; };

};


zone "25.168.192.in-addr.arpa" {

type slave;

file "slaves/25.168.192.in-addr.arpa";

masters { 192.168.25.2; };

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

注:需要注意的是type为“slave”,而且还需要指定主服务器地址


[root@ns2 ~]# service named restart


[root@ns2 ~]# ls /var/named/slaves/

25.168.192.in-addr.arpa  linux.com  

注:从服务器的数据库默认在/var/named/slaves/


[root@ns2 ~]# cat /var/named/slaves/linux.com 

$ORIGIN .

$TTL 600 ; 10 minutes

linux.com IN SOA ns1.linux.com. admin.qq.com. (

2017021601 ; serial

3600       ; refresh (1 hour)

300        ; retry (5 minutes)

172800     ; expire (2 days)

21600      ; minimum (6 hours)

)

NS ns1.linux.com.

NS ns2.linux.com.

$ORIGIN linux.com.

ftp A 192.168.25.6

game A 192.168.25.7

ns1 A 192.168.25.2

ns2 A 192.168.25.3

www A 192.168.25.5



[root@ns2 ~]# cat /var/named/slaves/25.168.192.in-addr.arpa 

$ORIGIN .

$TTL 600 ; 10 minutes

25.168.192.in-addr.arpa IN SOA ns1.linux.com. admin.qq.com. (

2017021602 ; serial

10800      ; refresh (3 hours)

900        ; retry (15 minutes)

604800     ; expire (1 week)

86400      ; minimum (1 day)

)

NS ns1.linux.com.

$ORIGIN 25.168.192.in-addr.arpa.

3 NS ns2.linux.com.

5 PTR www.linux.com.

6 PTR ftp.linux.com.

7 PTR game.linux.com.


接下来我们添加一条新的解析记录试验一下主从能否自动同步

[root@localhost ~]# vim /var/named/linux.com

$TTL 600

@ IN SOA ns1.linux.com. admin.qq.com. (

2017021605 

1H 

5M 

2D 

6H ) ;

@ IN NS ns1.linux.com.

@ IN NS ns2.linux.com.

ns1.linux.com.  IN A 192.168.25.2

ns2.linux.com. IN A 192.168.25.3

www.linux.com.  IN A 192.168.25.5

ftp.linux.com.  IN A 192.168.25.6

game.linux.com. IN A 192.168.25.7

oa.linux.com. IN A 192.168.25.7

web.linux.com. IN A 192.168.25.6


[root@localhost ~]# vim /var/named/25.168.192.in-addr.arpa 

$TTL 600        ; 10 minutes

@   IN SOA  ns1.linux.com. admin.qq.com. (

                                2017021605 ; serial

                                10800      ; refresh (3 hours)

                                900        ; retry (15 minutes)

                                604800     ; expire (1 week)

                                86400      ; minimum (1 day)

                                )

                IN NS   ns1.linux.com.

IN NS ns2.linux.com.

5               IN PTR  www.linux.com.

6 IN PTR ftp.linux.com.

7 IN PTR game.linux.com.

7 IN PTR oa.linux.com.

6 IN PTR  web.linux.com.


注:需要注意上方标红的部分,尤其是序号部分“2017021605”这是一个序号,每次添加或删除内容之后都需要更改这个序号,要比修改之前的数大,建议使用当天日期当做日期,既方便又好记。


更改完数据文件之后需要重新加载两台DNS服务器,然后查看从服务器的linux.com数据库和25.168.192.in-addr.arpa数据库

[root@localhost ~]# service named reload

重新载入named:                                             [确定]

[root@ns2 ~]# cat /var/named/slaves/linux.com 

$ORIGIN .

$TTL 600 ; 10 minutes

linux.com IN SOA ns1.linux.com. admin.qq.com. (

2017021605 ; serial

3600       ; refresh (1 hour)

300        ; retry (5 minutes)

172800     ; expire (2 days)

21600      ; minimum (6 hours)

)

NS ns1.linux.com.

NS ns2.linux.com.

$ORIGIN linux.com.

ftp A 192.168.25.6

game A 192.168.25.7

ns1 A 192.168.25.2

ns2 A 192.168.25.3

oa A 192.168.25.7

web A 192.168.25.6

www A 192.168.25.5


好啦,实验做完了,已经同步到从服务器了

参考资料:http://yuanbin.blog.51cto.com/363003/108578/

http://zhaotao110.blog.sohu.com/205975570.html

http://jafy00.blog.51cto.com/2594646/743398

http://blog.sina.com.cn/s/blog_a55699a601019tot.html

鸟哥的linux私房菜


本文出自 “linux” 博客,请务必保留此出处http://bella41981.blog.51cto.com/10603572/1898620

DNS主从服务搭建

原文:http://bella41981.blog.51cto.com/10603572/1898620

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!