DNS & Bind (二)

DNS and Bind

--------------- Bind 软件的使用

 

 

         BIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

 

一:BIND的安装:

         我们通过yum list all bind*可以看出,Bind有许多可安装的软件包。

                   bind-libs : 提供bind软件的库文件

                   bind-utils : 客户端的命令行工具程序

                   bind : 服务器端包,用于提供DNS服务器

                   bind-devel :开发包

                   bind-libbind:库文件的开发包

                   bind-sdb:将bind的数据放在mysql或者db数据库中的

                   bind-chroot :很诡异的程序,当安装上这个之后,bind的配置文件将不放在默认的地方。所以在没有搞懂之前一定不要安装chroot!

                  

         我们只需要安装bind的服务器端包

                   yum install bind

 

         bind的配置文件主要有3个:

         1. /etc/named.conf

                            主配置文件:定义区域的,本地DNS服务器主要用于哪些区域的域名解析

         2. /etc/rndc.conf 或者 /etc/rndc.key

                            他是用于做rndc的,远程管理的辅助工具       

         3. /var/named

                            bind所需要用到的所有数据文件存放的位置。

                  

         通常每一个区域都需要一个配置文件,但是又分有正向和反向的解析。所以我们的配置文件通常有两个,分别完成正向和反向的配置文件。

        

         必须有一个文件来告诉他13台节点的根在哪

                   这个文件一般叫 named.ca 而这个文件通常叫什么不重要,重要的是在主配置文件中如何定义的。

        

         ----------------------------------------

         |主配置文件:

         |       两段组成

         |       options {                     <---------必须要有空格

         |                 除了左大括号,其他的每一行都要有分号结尾;

         |       };

         |      

         |       zone "a.org" IN {

         |                 这里面的配置则只对这一个区域生效

         |       };

         |      

         |       Include

         |       将其他的文件包含起来作为和主配置文件共同存在的配置文件存在

         |

         |

        

  二:Bind是如何配置的呢?

         1.全局选项段:

         |----------------------------

         |       options {

         |                                   directory "/var/named";

         |       };                         定义了工作目录在哪

         |----------------------------

        

         2.定义区域

                   一个完整的dns服务器,必须有3个区域,第一个区域叫“根”:为了代替互联网完成查询请求,则必须有一个根。

                   第二个叫localhost

                   第三个要定义localhost的反向解析

                   zone          "0.0.127.in-addr.arpa" {

                                     ty

                   }

         |----------------------------

         |zone "." IN {

         |                          type hint;    ## 线索域,根提示

         |                          file "named.ca";

         |};

         |zone "localhost" IN {

         |                          type master;    ## 线索域,根提示

         |                          file "localhost.zone";

         |};

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

         |                          type master;    ## 线索域,根提示

         |                          file "named.local";

         |};

         |------------------------------------

        

         3.准备主配置文件:

                   修改主配置文件的属组:named

                   chown :named /etc/named.conf

         4.准备3个主要的配置文件。/var/named

         4.1.named.ca

                   dig -t NS .    <--------注意有个点

                  

                   i.root-servers.net

                   d.root-servers.net

                   f.root-servers.net

                   a.root-servers.net

                   l.root-servers.net

                   h.root-servers.net

                   b.root-servers.net

                  c.root-servers.net

                   e.root-servers.net

                   g.root-servers.net

                   j.root-servers.net

                   m.root-servers.net

                   k.root-servers.net

                  

                   将配置文件写入我们的named.ca

                   dig -t NS . @a.root-servers.net. > /var/named/named.ca

                  

         4.2.localhost.zone 区域文件的建立

                   只能包含两种类型的数据:

                            宏定义

                                     $TTL 86400   ## 生存周期 86400

                            解析记录

                            ---------------------------------------------

                            |       格式:name [ttl] IN RECORD_TYPE value

                            ---------------------------------------------

                            FQDN  A  IP

                            ZONE  NS            FQND

                            ZONE  MX            FQDN

                            IP         PTR          FQDN

                            FQDN CNAME    FQDN

                            ZONE  SOA          FQDN

                           

                            FQDN:Full Qualfied  Domain    Name 完全合格名

                           

                           

                                               比如:www.a.org 86400 IN A 1.1.1.1            

                                               反过来解析的话

                                                                 1.1.1.1 86400 IN PTR www.a.org

                                               -----------------------------

                                               ttl的作用:

                                               任何时候你解析的记录可以被缓存下来,那么缓存多长时间呢?它的定义就在ttl中定义。

                                               当你的数据变化的很频繁的时候,则值可以小点

                                               如果数据长期不变的话,则可以值大点

                                               值越短,你的服务器压力就越大

                                               这个值长一点和短一点的差别非常大,所以这个值一定不能太短

                                               否则你的服务器压力会非常大的。

                                               -----------------------------

                   当你明白了格式之后,我们开始建立这个文件

                   对于这个文件,第一条记录只能是类型是SOA的记录类型,对于一个数据文件来讲,SOA通常只能有一个。

                                     最关键的是SOA的文件类型非常的独特

                            ------------------------------------

                            |$TTL 86400

                            |localhost.  600 IN     SOA       localhost.     admin.localhost.   (

                            |                 ↑                                                                  2011081601

                            |       注意有点                                                              1H    

                            |                                                                                     10M

                            |                                                                                     7D

                            |                                                                                     1D)

                            --------------------------------------

                                                       

                            第一个叫序列号,最长不能超过10位

                                                        序列号到底有什么用呢?比较两个服务器的序列号可以看出到底主服务器上有没有改变

                            第二个叫刷新时间,刷新频率,默认单位是秒,H表示小时,M表示分钟,W表示周,D表示天

                            第三个,重试时间间隔,这个间隔不能大于刷新时间

                            第四个,过期时间,如果重试了这么长时间依然不能获得的话,则自己放弃为任何人提供信息

                            第五个,否定答案的ttl值,告诉你别来查了,1天之后再来

                           

                            SOA必须是第一个,当SOA写完之后,则可以开始写正式的记录了

                           

                            NS记录

                            -------------------------------------

                                                                         IN                      NS             localhost.

                            这个位置可以不写                                                                           ↑

                            则从上面继承                                                                                    表示自己就是DNS

                           

                            localhost.                            IN                        A                         127.0.0.1

                            -------------------------------------

                           

                            任何一个NS记录所对应的主机名称必须要给他一个A的地址

                           

         4.3,除了正向的,还要有反向的:named.local

                            cp 一份

                            将A记录改为

                            ------------------------------------

                            1                                                      IN                        PTR                     localhost.

                            -------------------------------------

                   这里之所以能写1

                   是以为上面主配置文件已经果断的定义好了。

                  

         ======================================             

                   这三个文件,属组也应该改为named

                            chown -R :named localhost.zone named.*

                  

                   使用service named configtest

                   或者named-checkconf

                   来检测主配置文件的语法             

                  

                   named-checkzone 则可以检测区域配置文件的语法错误,只检查语法错误,则不检查逻辑错误,在使用这个命令的时候是要指定文件的

                            比如: named-checkzone "localhost" /var/named/localhost.zone

                            反向: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local

                           

         ====================================

         启用服务:

                   service named start

         查看一下

                   netstat -tunlp

                   有很多5353端口  

                  

         通过本地解析: dig -t A www.baidu.com

        

===========================================

三.当你申请到一个域名,想自己建立一个DNS服务器如何做呢?     

         假设你有服务器 ns1.a.org

                                                                 ns2.a.org          ##辅助服务器

                                                                 www.a.org

                                                                 ftp.a.org

                                                                 bbs.a.org    ## www的别名服务器

                                     当你需要让自己成为DNS的时候。你需要到a.org里修改名字为自己的。

 

 

假设我们是100.1  100.2两台主机,建立主服务器

如何建立主服务器呢?

1.      编辑/etc/named.conf这个文件

         加入新的区域(暂时先加入一个正向的)

         ----------------------------------------

         zone "a.org" IN {

                                     type master;

                                     file "a.org.zone";

         };

        

         ## 配置反向解析

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

                                     type master;

                                     file "172.16.zone";

         };

         -----------------------------------------

2.建立相关文件

         cd /var/named

         vim a.org.zone

         -------------------------------------------

         $TTL 1200

         @                                                    IN                        SOA                    ns1.a.org.                           admin.a.org.  (

                                                                                                                                                               2011081601

                                                                                                                                                               1H

                                                                                                                                                               10M

                                                                                                                                                               7D

                                                                                                                                                               1D )

         @                                         IN                                          NS                                                 ns1.a.org.

         @                                         IN                                          NS                                                 ns2.a.org.

         @                                         IN                                          MX                               10              mail.a.org.   ###  10 为优先级0-99,数字越小,优先值越高

         ns1.a.org.                           IN                                          A                                                   172.16.100.1

         ns2.a.org.                           IN                                          A                                                   172.16.100.2

         mail.a.org.                          IN                                          A                                                   172.16.100.1

         www.a.org.                         IN                                          A                                                   172.16.100.3

         bbs.a.org.                           IN                                          CNAME                                        www.a.org.

         ftp.a.org.                             IN                                          A                                                    172.16.100.100

         ---------------------------------------------    

        

         建立反向解析的文件

                   cp a.org.zone 172.16.zong

         -------------------------------------------

         $TTL 1200

         @                                                    IN                        SOA                    ns1.a.org.                           admin.a.org.  (

                                                                                                                                                               2011081601

                                                                                                                                                               1H

                                                                                                                                                               10M

                                                                                                                                                               7D

                                                                                                                                                               1D )

         @                                         IN                                          NS                                                            ns1.a.org.

         @                                         IN                                          NS                                                            ns2.a.org.

         1.100                                   IN                                         PTR                                                          ns1.a.org.

         2.100                                   IN                                         PTR                                                          ns2.a.org.

         1.100                                   IN                                         PTR                                                          mail.a.org.

         3.100                                   IN                                         PTR                                                          www.a.org.

         100.100                              IN                                          PTR                                                          ftp.a.org.

         ---------------------------------------------              

        

        

         想让他生效,则要修改其属组,

         chown :named a.org.zone

         开启服务

         service named reload

        

         ===============================

         测试:

         进入win 的 cmd

                            nslookup

                            server 172.16.100.1

                            set q=A

                            www.a.org

                            set q=NS

                            a.org

                            set q=SOA

                            a.org

         --------------------------------------

         使用 linux测试:

         host -t NS a.org

         host -t A bbs.a.org

        

         dig 命令的测试

                   dig -t A www.a.org

                                    

                                     AUTHORITY SECTION 谁帮你解析的

                                     Query time : 在多长时间内完成的查询

                                     flags 解析数据包的标志

                                                        qr

                                                        a,权威答案

                   dig -t NS a.org

                   dig -t CNAME bbs.a.org

        

         dig还可以做完全区域传送的测试

                   dig -t axfr a.org

                                     将a.org的所有记录全部拿来

                   完全区域传送是用TCP的53号端口加密传送的。

        

         测试反向解析        

                   dig -x 172.16.100.2

        

         反向解析非常重要,在互联网上配置好正向和反向解析,是作为邮件服务最重要的一点。

        

=========================================

/etc/rndc.key 这个文件没什么用,我们将其更名

         我们自己生成一个

         rndc-confgen > /etc/rndc.conf

        

         这就生成了一个主配置文件

         发现里面说明:将下面的东西复制到 name.conf并且将井号去掉

        

         复制到name.conf并且去掉井号

        

         我们重启服务器

         netstat -tunlp | grep 53

         发现多了一个953端口,这个就是远程控制器端口

         通过

         rndc reload 则重读dns配置文件

         rndc stop 则停止dns服务器

        

         rndc flush   :清空服务器缓存

         rndc status :查看服务器状态

        

四.如何去测试dns服务器的响应能力?

它可以允许多个用户并发连接进来。

ab命令:对apache服务器进行压力测试的

此时我们用此来做dns服务器的压力测试。

 

我们需要源码编译bind的工具

/Sources/bind bind-9.7.4

 

tar xf bind-9.7.4.tar.gz

cd bind-9.7.4

cd contrib     ## 别人共享的工具

里面有个queryperf

cd queryperf

./configure

make

cp queryperf /bin

queryperf命令:

                   -d : 你要查询什么什么记录,你应该指明白查的是A记录,需要单独弄个文件

                   -s:针对哪个服务器进行测试

        

         自己创建一个文件 test.dns

         -----------------------

         a.org NS

         a.org MX

         www.a.org A

         ns1.a.org A

         ns2.a.org A

         a.org SOA

         bbs.a.org CNAME

         ftp.a.org A

         mail.a.org A

         172.16.100.1 PTR

         172.16.100.2 PTR

         172.16.100.3 PTR

         172.16.100.100 PTR

        

         .....

         .....  ## 我们将上面的所有内容粘N次,到12000+行

         ----------------------------------

         queryperf -d test.dns -s 172.16.100.1

                                                       

=====================================

五.DNS的区域类型

hint            根节点

master     区域节点

slave         从服务器                           

        

=====================================

为了简化配置文件,我们可以声明一个函数。

 

$ORIGIN a.org.

于是下面的所有在A类地址中,都可以去掉a.org.                   

         -------------------------------------------

         $TTL 1200

         @                                                    IN                        SOA                    ns1.a.org.                           admin.a.org.  (

                                                                                                                                                               2011081601

                                                                                                                                                               1H

                                                                                                                                                               10M

                                                                                                                                                               7D

                                                                                                                                                               1D )

         @                                         IN                                          NS                                                 ns1.a.org.

         @                                         IN                                          NS                                                 ns2.a.org.

         @                                         IN                                          MX                               10              mail.a.org. 

         ns1                                      IN                                          A                                                    172.16.100.1

         ns2                                      IN                                          A                                                    172.16.100.2

         mail                                     IN                                          A                                                    172.16.100.1

         www                                    IN                                          A                                                    172.16.100.3

         bbs                                      IN                                          CNAME                                         www.a.org.

         ftp                                         IN                                          A                                                    172.16.100.100

                              

=======================================

 

六.dig的用途:

         使用dig可以实现强行要求进行递归查询比如:

         dig +recurs -t A www.baidu.com

        

         不使用递归

         dig +norecurs -t A www.baidu.com

        

         追踪解析dns的过程

         dig +trace -t A www.baidu.com

                            这个在实现解析过程debug的时候非常有用。

        

         dig命令强大到我们不可想象。

        

=========================================

七.辅助名称服务器的配置:从服务器。

         一般我们会提供两台服务器

 

让数据同步过来,区域传送:

         axfr 完全区域传送

         ixfr   增量区域传送

        

         通过比较双方序列号的值,来实现是否发生了改变

         当主域名服务器一般采用notify的机制,这个机制保证了在主服务器有新增数据的时候,立刻通知从服务器。

        

         只要是主从服务器的架构,从服务器一般都是复制主服务器的文件的。

         只需要修改两个地方:

         1.type slave 则是定义这是从服务器

                   masters,声明主服务器在哪

                  

        

                   zone "a.org" IN {

                                                        type slave;

                                                        file "slaves/a.org.zone";

                                                        masters { 172.16.100.1; };

                   };

                  

route add default gw 172.16.0.1

 

--------------------

配置的开始:

         yum install bind

        

         到主服务器上

         ssh-keygen -t rsa

         ssh-copy-id -i .ssh/id_rsa.pub root@172.16.100.1

        

         到从服务器上

         scp ns1.a.org:/etc/named.conf /etc

         scp ns1.a.org:/var/named/named.ca /var/named

         scp ns1.a.org:/var/named/named.local /var/named     

         scp ns1.a.org:/var/named/localhost.zone /var/named

         chown :named /etc/named.conf /var/named/{named.ca,named.local,localhost.zone}

        

         进入/etc/named.conf

         把a.org和key都删了

         然后启动

         servers named start

         此时我们还不是一个从域名服务器。

        

         修改/etc/named.conf

         加入:

         zone "a.org" IN {

                                               type slave;

                                               file "slaves/a.org.zone";

                                               masters { 172.16.100.1; } ;

                   };

                  

         查看 /var/log/messages

        

         创建反向解析

         加入

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

                                               type slave;

                                               file "slaves/172.16.zone";

                                               masters { 172.16.100.1; } ;

                   };

                  

         检查一下看看是否数据都在:

                   dig -t A www.a.org

                  

         我们到主服务器上

         增加一条,信息,然后修改序列号,之后发现从服务器就更新了。

 

=============================================      

八.数据的传送安全机制

         一般来讲,作为DNS服务器管理员,一定要确保区域传送只能是你的真正的从服务器来传送。

         我们可以限定到底允许哪些人来传送数据

        

         在/etc/named.conf

         在区域里增加

                                     allow-transfer { 172.16.100.2; };    只允许100.2做区域传送。

                  

                   测试: dig -t axfr a.org @172.16.100.1

                   则发现,限定的才可以传送。

        

         但是此时,从服务器也是可以被传送的。所以定义从服务器的配置文件不允许任何人传送:

                                     allow-transfer { none; };

==============================================

小知识点:

man named.conf

         querylog   : 查询日志

                            用来定义是否开启查询日志的    

         我们在配置文件中的全局配置中加入

                   querylog yes;

        

         这样,则会在日志文件中加入测试的日志。    

        

        

=============================================

九.设置子域名服务器

子域的概念:

         申请了一个a.org

                   此时需要建立子域比如我们建立了 tech.a.org

                            而里面的子域则都是  www.tech.a.org

                                                                                                       mail.tech.a.org

        

         a.org

                            www.a.org

                            bbs.a.org

                            tech.a.org

                                               www.tech.a.org

                                               mail.tech.a.org

                                              

         则

----------------------------        

         .

         ↘     org

                   ↘     a.org

                            ↘     www.a.org

                                     bbs.a.org

                                     tech.a.org

                                     ↘     www.tech.a.org

                                               mail.tech.a.org

 

此时,www.a.org去找www.tech.a.org的话很轻松,

         但是 www.tech.a.org去找www.a.org则很困难,需要先找到根

        

那么如何让我们的子域知道父域呢?

         设定转发。

        

父域授权:(只做正向的授权,反向的非常麻烦。)

         glue records : 连接

                  

                   定义:

                            tech.a.org.                                 IN           NS              ns1.tech.a.org.

                            ns1.tech.a.org.                         IN            A                172.16.100.3

                            此时,只要有人查询tech.a.org的时候,则会返回ns1.tech.a.org并同时返回 172.16.100.3

                           

                   一般情况下都是两条记录同时出现了,定义了如何转发。

                  

                   如果有两台,则需要给从服务器也写一条

                            tech.a.org.                                  IN          NS            ns1.tech.a.org.

                            tech.a.org.                                 IN           NS            ns2.tech.a.org.

                            ns1.tech.a.org.                         IN            A              172.16.100.3

 

配置的开始

                   在从服务器上,在主配置文件中将以前的a.org的配置给删了。

                   要想做子域,先在主域上授权

                            vim /var/named/a.org.zone

                            写入:

                            www                                  IN                        A                          172.16.100.4

                            tech.a.org.                        IN                        NS                       ns1.tech.a.org.

                            ns1.tech.a.org.                IN                        A                          172.16.100.7

                           

                   测试

                            dig -t NS tech.a.org

                  

                   配置子域服务器

                            在/etc/named.conf

                            声明:

                                     zone "tech.a.org" IN {

                                                        type master;

                                                        file "tech.a.org.zone";

                                     }

                           

                            vim tech.a.org.zone

                  

                   $TTL 1200

                   $ORIGIN tech.a.org.

                   @                                 IN                        SOA                    ns1.tech.a.org.                admin.tech.a.org.  (

                                                                                                                                                               2011081701

                                                                                                                                                               3H

                                                                                                                                                               30M

                                                                                                                                                               15D

                                                                                                                                                               3D  )

                                                                           IN                                 NS                               ns1.tech.a.org.

                                                                           IN                                 NS                               ns2.tech.a.org.

                                                                           IN                                 MX            10               mail.tech.a.org.

                   ns1                                                 IN                                 A                                  172.16.100.7

                   ns2                                                 IN                                 A                                  172.16.100.8

                   mail                                                IN                                 A                                  172.16.100.9

                   www                                               IN                                 A                                  172.16.100.1

                   ftp                                                   IN                                 A                                   172.16.100.2

 

重启:

                            service named restart

测试:

                            dig -t A www.tech.a.org

                           

找个不相干的主机解析:

                            dig -t A ns1.a.org @172.16.100.1

                            dig -t A ns1.tech.a.org @172.16.100.1

 

                            dig -t A ns1.tech.a.org @172.16.100.7  # 通过子域来解析自己的

                            dig -t A ns1.a.org  @172.16.100.7        #通过子域解析父域,发现无法实现

 

 

十:配置转发机制

         1.完全转发,只要不是我负责的,我统统转发

         2.部分转发,只要是我控制域的,只转发部分

 

完全:    

         options {

                            forward only|first;  

                            forwarders { IP; };

         }

         # only 如果我解析不了,我就把所有的都转发给上游主机,如果不在线,则一直重试,直到在线, 上游必须递归

         # first 先让上游主机给我递归,如果给主机递归主机不响应,则自己直接找根

 

部分:

         zone "a.org"    IN {

                            tpye forward;

                            forwarders { IP; };

         }                                            

        

        

         配置的开始:(从服务器上)完全转发

                   options 里添加: 

                                     forward first;

                                     forwarders { 172.16.100.1; };

                                    

         测试: dig -t A www.a.org

                                              

 

                                    

         二次配置的开始:配置部分转发

                   zone          "a.org" IN {

                                     type forward;

                                     forwarders { 172.16.100.1; };

                   }

        

         |--------------------------|-      

         |   rndc flush  清除缓存           

         |--------------------------|

                  

         查询的:

                            dig -t A www.a.org @172.16.100.1

                            发现ok~

                           

         ================================

         设置递归

         recursion yes

         allow-recursion { 允许谁递归iP; };

         ---------------------------------------------------

         dig chaos txt version.bind.

                   可以查看服务器软件的版本号

                   每一个版本都有很多漏洞,所以不能让人们知道你的版本号。于是,在options里声明:

                                     version "9.8.1-RedHat-WoCa?-9.10.5";

                  

 

=====================================================

十一.DNS的ACL,访问控制列表的使用。

在name中我们可以使用一个关键字叫 acl 的来定义ACL

 

允许谁查询我们用:

         allow-query 来定义。

        

编辑 named.conf

在全局上配置

         options 加入

                            allow-query { 172.16.0.0/16; 127.0.0.0/8; };

         此时,如果你想继续允许其他的网段的话,则可以继续添加

         但是添加太多,就太麻烦所以需要在最上面定义acl

        

         acl myclients {

                                     172.16.0.0/16

                                     127.0.0.0/8

         };

         options 加入

                            recursion yes

                            allow-query { myclients; };

                           

         4个ACL ,none  any

         保存退出,重启服务。

        

============================================

十一.View

         什么是View呢?

         DMZ区:非军事化区

         internal : 内网 (军事化区)

         Internet :外网

         三宿主网络。

        

        

         我们期望把我们的DNS给分开。当来自某一类用户的时候解析成为一个地址,当来自另一类用户的时候解析成另一类地址。并且能够准确的判断来源。

        

         来自不同网络的用户,解析到不同的地方去。

         这种解析不同的网络然后解析到不同的地方去的方式则叫做智能DNS

        

         一块网卡有两个地址,一个是172.16网段,一个是192.168.0网段

         我们希望来自192.168.0的都解析到192.168.0的地去,而来自172.16的都解析到172.16的地方去。

        

         在主配置文件中定义view .

         而在 view里才声明 zone

        

         每一个view需要一个名字,不同view的zone也是可以重复的。

         每一个view都有一个关键字。叫

         match-clients

         根据不同的关键字,它将去不同的view里解析。

        

         只要用了View,所有的Zone都必须在View当中。

        

         配置:在/etc/named.conf

         1声明两个acl:

        

         |--------------------------------------------

         |       acl internal {

         |                          192.168.0.0/24;

         |                          127.0.0.0/8;

         |       };

         |       acl external {

         |                          172.16.0.0/16;

         |       };

         |      

         |       options {

         |                                   ...

         |                                   ...

         |       };

         |      

         |

         |       view "INNET" {

         |                                   match-clients { internal; };

         |                                   recursion yes;

         |                                   zone "." IN {

         |                                                               type hint;

         |                                                               file "named.ca";

         |                                   };

         |                                   zone "a.org" IN {

         |                                                               type master;

         |                                                               file "a.org.internal";

         |                                   };

         |       };

         |

         |       view "EXNET" {

         |                                   match-clients { external; };

         |                                   recursion no;    ## 删了默认是允许的,允许1000个用户

         |                                   zone "." IN {

         |                                                               type hint;

         |                                                               file "named.ca";

         |                                   };

         |                                   zone "a.org" IN {

         |                                                               type master;

         |                                                               file "a.org.external";

         |                                   };

         |       };

         |-------------------------------------------------

        

         创建并编辑  a.org.internal

 

         cp a.org.internal a.org.external

 

        

         重启服务

         找个其他的机子:

         dig -t A www.a.org @192.168.0.186

         dig -t A www.a.org @172.16.100.1

        

         大多数可以在options中使用的选项都可以在view中使用。

 

 

十二.总结

         可以说,DNS和BIND是学习DNS服务器两个最重要的部分,首先你要完全理解DNS的工作原理,然后还要能够学会使用BIND。能够配置好主从服务器,让DNS真正的运作起来,只有这样你才能是一个合格的DNS服务器架构师。本文在写的时候比较仓促,如有漏洞欢迎指出,我会尽快修改,同时也会在近期将此文重新排版,让各位看的时候更加直观。最后抱怨一下CSDN的文章编辑器……太难用了-。-!  好吧,今天就到这里~ 谢谢大家~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值