Linux DNS (3)搭建DNS主从服务器

DNS的做用是:linux


        DNS是Domain Name System,它可以把形如www.lampmaster.cn本站域名转换为219.136.249.93这样的IP地址;没有DNS,浏览www.lampmaster.cn时,就必须用219.136.249.93这么难记的数字来访问。提供DNS服务的就是DNS服务器。  vim

        DNS服务器能够分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。 缓存


DNS做用:服务器


正向解析:将域名转换成对应的ip地址网络

反向解析:将ip地址转换成对应的域名负载均衡




实验的目的dom


    搭建主从DNS服务器是为了实现负载均衡。就是在一台DNS服务器的时候另外一台能够为客户端提供域名解析功能。ide




首先咱们先准备环境:测试


  1. 虚拟机两个
    网站

  2. RedHat5.9系统两个操做系统

  3. 咱们把他们的网路链接在同一个“VMnet”里

  4. 配置IP地址,都配置在一个网段的IP。

  5. 主DNS服务器IP地址为:dns1: 192.168.0.1/24

  6. 从DNS服务器IP地址为:dns2: 192.168.0.2/24



主要解析记录:


主DNS:dns1.long.com   ----> 192.168.0.1

从DNS:dns2.long.com   ----> 192.168.0.2

网站 :www.long.com    ----> 192.168.0.100

邮件 :mail.long.com   ----> 192.168.0.25


注意:首先要关闭防火墙和selinux


[root@localhost ~]#   /etc/init.d/iptables   stop

[root@localhost ~]#   setenforce  0 



搭建主DNS服务器

搭建主DNS服务器的基本步骤:


    1.安装相关的服务

    2.创建主配置文件

    3.创建区域数据文件

    4.启动named服务

    5.测试主DNS的域名解析

    6.配置本机IP地址为:192.168.0.1

注释:咱们是在虚拟机里作测试因此要把虚拟机设置到一个网络里:

wKiom1O3q8OwdUiZAAHtKXXKhDg860.jpg



主DNS服务器配置:


1)安装DNS的相关软件咱们可使使用“YUM”来安装:

bind               # BIND服务器软件包

bind-chrooot       # 为BIND提供 chroot 机制的软件包

bind-utils         # DNS测试程序软件包

caching-nameserver # 这个包是提供模板的,在Linux6.版本系统就没有这个包了。


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

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

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

[root@localhost ~]#  yum  -y  install  caching-nameserver



2)咱们使用“rpm -q ”查询一下是否安装上相关的软件:


[root@localhost ~]#  rpm  -q   bind 

bind-9.3.6-20.P1.el5_8.5

[root@localhost ~]#  rpm  -q   bind-chroot

bind-chroot-9.3.6-20.P1.el5_8.5

[root@localhost ~]#  rpm  -q   bind-utils

bind-utils-9.3.6-20.P1.el5_8.5

[root@localhost ~]#  rpm  -q   caching-nameserver

caching-nameserver-9.3.6-20.P1.el5_8.5


这样证实咱们所须要的软件已经安装上了。若是没有安装上会提示这样的信息“package asdas is not installed”。


3)如今咱们来配置DNS的的配置文件

   注释:咱们使用“cp”命令

           -p : 的意思是保持原来的属性

          这里要要注意的就是主配置文件的全部者是“root”所属组“named


[root@localhost ~]#  cd  /var/named/chroot/etc/

[root@localhost etc]#  cp  -p  named.caching-nameserver.conf   named.conf

[root@localhost etc]#  vim  named.conf 

//

// named.caching-nameserver.conf

//

// Provided by Red Hat caching-nameserver 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.

//

// DO NOT EDIT THIS FILE - use system-config-bind or an editor

// to create named.conf - edits to this file will be lost on 

// caching-nameserver package upgrade.

//

options {

listen-on port 53 { 192.168.0.1; };

listen-on-v6 port 53 { ::1; };

directory "/var/named";

        allow-transfer {192.168.0.2;};    # 这个是指定谁能够下载

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";


// Those options should be used carefully because they disable port

// randomization

// query-source    port 53;

// query-source-v6 port 53;


allow-query     { any; };

allow-query-cache { any; };

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

view localhost_resolver {

match-clients   { any; };

match-destinations { any; };

recursion yes;

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

};



[root@localhost etc]# vim  named.rfc1912.zones 


// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package 

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// 

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

//

zone "." IN {

        type hint;

        file "named.ca";

};


zone "localdomain" IN {

        type master;

        file "localdomain.zone";

        allow-update { none; };

};


zone "localhost" IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};


zone "0.0.127.in-addr.arpa" IN {

        type master;

        file "named.local";

        allow-update { none; };

};


zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

        type master;

        file "named.ip6.local";

        allow-update { none; };

};


zone "255.in-addr.arpa" IN {

        type master;

        file "named.broadcast";

        allow-update { none; };

};


zone "0.in-addr.arpa" IN {

        type master;

        file "named.zero";

        allow-update { none; };

};

zone "long.com" IN {                    

        type master;

        file "long.com.zone";             

        allow-update { none; };            

};                                           

zone "0.168.192.in-addr.arpa" IN {        

        type master;

        file "192.168.0.arpa";           

        allow-update { none; };        

};


注意:最下面的这10行是从上面复制下来的模板。把复制的模修改一下就能够了。


5)配置完成之后咱们在检测一下配置文件的语法是否正确,若是没有提示任何信息,代表语法正确。


[root@localhost etc]#  named-checkconf   named.conf 

[root@localhost etc]#  named-checkconf   named.rfc1912.zones 


6)接下来配置区域配置文件,咱们切换到区域的路径下:

   注释:咱们使用“cp”命令

      -p 的意思是保持原来的属性

      咱们复制一个正向文件和一个反向解析文件。

      这里要要注意的就是主配置文件的全部者是“root”所属组“named


[root@localhost etc]#  cd  /var/named/chroot/var/named/    

[root@localhost named]# cp  -p  named.local long.com.zone

[root@localhost named]# cp  -p  named.local 192.168.0.arpa 


这个是正向解析的配置文件:

[root@localhost named]# vim  long.com.zone 

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

@        IN      NS          dns1.long.com.        #  这个是主DNS

         IN      NS          dns2.long.com.        #  这个是从DNS

         IN      MX 10       mail.long.com.        #  这个是邮件

dns1     IN      A         192.168.0.1

dns2     IN      A       192.168.0.2

www      IN      A       192.168.0.100

mail     IN      A       192.168.0.25



这个是反向解析的配置文件:

[root@localhost named]#  vim  192.168.0.arpa 

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

        IN      NS      dns1.long.com.

        IN      NS      dns2.long.com.

1       IN      PTR     dns1.long.com.

2       IN      PTR     dns2.long.com.

100 IN PTR www.long.com.

25 IN PTR mail.long.com.



7)如今检测语法看看是否配置正确,“long.com” 是咱们的域名。


[root@localhost named]# named-checkzone  long.com   long.com.zone 

zone long.com/IN: loaded serial 1997022700

OK

[root@localhost named]# named-checkzone  long.com   192.168.0.arpa 

zone long.com/IN: loaded serial 1997022700

OK


8)如今就能够启动DNS服务了,在加入开机启动项。


[root@localhost named]# service    named  restart

[root@localhost named]# chkconfig  named  on



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

nameserver  192.168.0.1

search localdomain


(1)本机正向测试方法以下:

[root@localhost ~]# nslookup  dns1.long.com

Server:         ::1

Address:        ::1#53


Name:   dns1.long.com

Address: 192.168.0.1


[root@localhost ~]# nslookup  dns2.long.com

Server:         ::1

Address:        ::1#53


Name:   dns2.long.com

Address: 192.168.0.2


[root@localhost ~]# nslookup  www.long.com

Server:         ::1

Address:        ::1#53


Name:   www.long.com

Address: 192.168.0.100


[root@localhost ~]# nslookup  mail.long.com

Server:         ::1

Address:        ::1#53


Name:   mail.long.com

Address: 192.168.0.25

[root@localhost ~]# host  dns1.long.com


dns1.long.com has address 192.168.0.1

[root@localhost ~]# host  dns2.long.com


dns2.long.com has address 192.168.0.2

[root@localhost ~]# host  www.long.com


www.long.com has address 192.168.0.100

[root@localhost ~]# host  mail.long.com


mail.long.com has address 192.168.0.25


(1)本机反向测试方法以下:

[root@localhost ~]# nslookup  192.168.0.1

Server:         ::1

Address:        ::1#53


1.0.168.192.in-addr.arpa        name = dns1.long.com.


[root@localhost ~]# nslookup  192.168.0.2

Server:         ::1

Address:        ::1#53


2.0.168.192.in-addr.arpa        name = dns2.long.com.


[root@localhost ~]# nslookup  192.168.0.100

Server:         ::1

Address:        ::1#53


100.0.168.192.in-addr.arpa      name = www.long.com.


[root@localhost ~]# nslookup  192.168.0.25

Server:         ::1

Address:        ::1#53


25.0.168.192.in-addr.arpa       name = mail.long.com.


[root@localhost ~]# host  192.168.0.1


1.0.168.192.in-addr.arpa domain name pointer dns1.long.com.

[root@localhost ~]# host  192.168.0.2


2.0.168.192.in-addr.arpa domain name pointer dns2.long.com.

[root@localhost ~]# host  192.168.0.100


100.0.168.192.in-addr.arpa domain name pointer www.long.com.

[root@localhost ~]# host  192.168.0.25


25.0.168.192.in-addr.arpa domain name pointer mail.long.com.




搭建从DNS服务器


基本配置步骤


1,安装相关的服务

2,创建主配置文件

3,启动named服务

4,测试从DNS的域名解析

5,配置本机IP地址为:192.168.0.2

注释:咱们是在虚拟机里作测试因此要把虚拟机设置到一个网络里:

wKioL1O3q7iQT9qMAAHtKXXKhDg488.jpg


1)安装DNS的相关软件咱们可使使用“YUM”来安装:

bind               # BIND服务器软件包

bind-chrooot       # 为BIND提供 chroot 机制的软件包

bind-utils         # DNS测试程序软件包

caching-nameserver # 这个包是提供模板的,在Linux6.版本系统就没有这个包了。


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

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

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

[root@localhost ~]#  yum  -y  install  caching-nameserver


二、修改从DNS的主配置文件

[root@localhost ~]# cd  /var/named/chroot/etc/

[root@localhost etc]# cp  -p  named.caching-nameserver.conf     named.conf

[root@localhost etc]# vim  named.conf

//

// named.caching-nameserver.conf

//

// Provided by Red Hat caching-nameserver 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.

//

// DO NOT EDIT THIS FILE - use system-config-bind or an editor

// to create named.conf - edits to this file will be lost on 

// caching-nameserver package upgrade.

//

options {

listen-on port 53 { 192.168.0.2; };

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";


// Those options should be used carefully because they disable port

// randomization

// query-source    port 53;

// query-source-v6 port 53;


allow-query     { any; };

allow-query-cache { any; };

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

view localhost_resolver {

match-clients     { any; };

match-destinations { any; };

recursion yes;

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

};


[root@localhost etc]# vim  named.rfc1912.zones 


// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package 

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// 

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

//

zone "." IN {

        type hint;

        file "named.ca";

};


zone "localdomain" IN {

        type master;

        file "localdomain.zone";

        allow-update { none; };

};


zone "localhost" IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};


zone "0.0.127.in-addr.arpa" IN {

        type master;

        file "named.local";

        allow-update { none; };

};


zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

        type master;

        file "named.ip6.local";

        allow-update { none; };

};


zone "255.in-addr.arpa" IN {

        type master;

        file "named.broadcast";

        allow-update { none; };

};


zone "0.in-addr.arpa" IN {

        type master;

        file "named.zero";

        allow-update { none; };

};

zone "long.com" IN {            

        type slave;

        file "slave/long.com.zone";       

        masters { 192.168.0.1; };             

};                                           

zone "0.168.192.in-addr.arpa" IN {   

        type slave;

        file "slave/192.168.0.arpa";           

         masters { 192.168.0.1; };     

};

注意:最下面的这10行是从上面复制下来的模板。把复制的模修改一下就能够了。



5)配置完成之后咱们在检测一下配置文件的语法是否正确,若是没有提示任何信息,代表语法正确。


[root@localhost etc]#  named-checkconf   named.conf 

[root@localhost etc]#  named-checkconf   named.rfc1912.zones 


如今启动DNS服务:


[root@localhost etc]# /etc/init.d/named     restart

[root@localhost etc]# ls -l /var/named/chroot/var/named/slaves/

总计 16

-rw-r--r-- 1 named named 437 07-05 15:49 192.168.0.arpa

-rw-r--r-- 1 named named 426 07-05 15:48 long.com.zone

相关文章
相关标签/搜索