登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

Linux下DNS配置详解  

2009-07-28 23:40:19|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. 配置文件说明:
2.主配置文件/etc/named.conf的配置语句
 命令          用法
 acl           定义IP地址的访问控制清单
 control       定义ndc使用的控制通道
 include       把其他文件包含到配置文件中
 key           定义授权的安全密钥
 logging       定义日志写什么,写到哪
  opitons       定义全局配置选项和缺省值 
 server        定义远程服务器的特征
 trunsted-keys 为服务器定义DNSSEC加密密钥
 zone          定义一个区

3. 默认情况下, 内容如下:

include "/etc/bind/named.conf.options"; zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; include "/etc/bind/named.conf.local";
其中type项的值:

加入如下内容:

zone "mydebian.org" { type master; //定义此区为主服务器 file "/etc/bind/db.mydebian"; 指定区资源文件的位置 }; zone "102.168.192.in-addr.arpa" { type master; //定义此区为主服务器 file "/etc/bind/db.192"; //指定区资源文件的位置 };
创建区资源文件/etc/bind/db.mydebian内容如下:
        ;
        ; BIND data file for local loopback interface
        ;
        $TTL    604800
        $ORIGIN mydebian.org.
        @       IN      SOA     mydebian.org. root.mydebian.org. (
                                2006080401      ; Serial
                                 604800         ; Refresh
                                  86400         ; Retry
                                2419200         ; Expire
                                 604800 )       ; Negative Cache TTL
        ;

                IN      NS      ns
                IN      MX      0       mail.mydebian.org.
        @       IN      A       192.168.102.47
        ns      IN      A       192.168.102.47
        www     IN      A       192.168.102.47
        webserver       IN      CNAME   www
        mail    IN      A       192.168.102.47
        ftp     IN      A       192.168.102.48
        ns2     IN      A       192.168.102.48
        ns3     IN      A       192.168.102.49
假如这个文件前面没有定义 $ ORIGIN 的话, 那這个 @ 的值就以 named.conf 里的 zone .
接着 SOA 后面,指定了这个区域的授权主机和管理者的信箱,这里分别是"mydebian.org." 和"root.mydebian.org."。我们平时使用的信箱通常是“user@host”这样的格式,但因为@在 DNS 记录中是个保留字符,所以在 SOA 中就用“.”来代替了@。目前这个信箱是 "root@mydebian.org."。

接下来的 SOA 设置,是被括在“( )”之间的 5 组数字,主要作为和 slave 服务器同步 DNS 资料所使用的资料:

Serial:其格式通常会是“年月日+修改次序”(但也不一定如此,您自己能够记得就行)。当 slave 要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值“大”,就进行更新,否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字!

Refresh:这里是是告诉 slave 要隔多久要进行资料同步(是否同步要看 Serial 的比较结果)。

Retry:如果 slave 在进行更新失败后,要隔多久再进行重试。

Expire:这是记录逾期时间:当 slave 一直未能成功与 master 取得联系,那到这里就放弃 retry,同时这里的资料也将标识为过期(

expired )。

Minimum:这是最小默认 TTL 值,如果您在前面没有用“$TTL”来定义,就会以此值为准。

请注意:SOA 记录中这对 “ ( ) ”符号之第一个 “ (”括号一定要和 SOA 写在同一行,而不能用 Enter 断行到下一行去,而且其左边最好有一个空格键或 tab 建。而最后一个 “ )”括号也不能写在注解符号 “ ;”的右边。 置 DNS 的 RR 记录档,其格式要求非常严格,我们丝毫不能掉以轻心。比方说:如果句子不是以空格键、Tab 键、 或注解符号 ( ; )开头,也不在 SOA 的 “ ( ) ”之内, 则表示要定义一个“新记录项 (Entry) ”;如果句子是以空格键或 tab 键开始的话,其设置被视为上一个“记录项”的内容。所以,如果您要为“同一个记录项”定义多个记录设置,而不想重复打字,您倒可以偷懒:在接着它的后面几行用空白或 Tab 来缩排就可以了。

NS表明负责mydebian.org.这个域的Name Server是mydebian.org这台主机

MX记录标明发往mydebian.org域的邮件由mail.mydebian.org这台服务器接收

A记录标明了IP地址和域名之间的对应关系

接下来创建该区的反向映射资源文件

/etc/bind/db.192内容如下:

; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA mydebian.org. root.mydebian.org. ( 2006080401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS mydebian.org. 47 IN PTR mail.mydebian.org. 47 IN PTR www.mydebian.org. 47 IN PTR ns.mydebian.org. 48 IN PTR ftp.mydebian.org. 48 IN PTR ns2.mydebian.org. 49 IN PTR ns3.mydebian.org.

其中PTR记录用来解析IP地址对应的域名

所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。

我们知道,当DNS服务器接到客户端主机的查询请求时,首先会检查这个查询是否属于本机管辖,否则将转向 "." zone 再逐级的查询下去,最后再把查询结果告诉客户端。

在这个过程之中,DNS服务器还会将查询到的结果存放到缓存中。只要缓存中的 TTL 没过期,在下次遇到同样查询的时候,就可以直接将结果响应给客户端,而无需再重复上次的查询流程。

如果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。但无论这个结果是自己直接查询得来的,还是 forwarder 送回来的,DNS服务器都会保存一份数据在缓存中。

这样,以后的相同查询就快多了,这对于DNS所服务的 客户端而言查询效率会提高很多。

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

a. 192.168.102.49 为我们的dns 缓存服务器,首先, 在在192.168.102.49 机器上安全bind9,

b. 在主配置文件/etc/named.conf中加入如下内容:

zone "mydebian.org" { type slave; file "/etc/bind/slaves/db.mydebian"; masters {192.168.102.47;}; }; zone "102.168.192.in-addr.arpa" { type slave; file "/etc/bind/slaves/db.192"; masters {192.168.102.47;}; };

type后面的值已经成为slave; 表示定义的是辅助域名服务器

file 后面也可以是别的文件名不必与主域DNS服务器的设置一样

masters 后为主域DNS服务器的IP地址, 可以是多个IP,型如

masters {ip1;ip2;ip3;};

c. 创建/etc/bind/slaves/目录

tonybox2:/etc/bind# mkdir slaves tonybox2:/etc/bind# chown bind.bind slaves

d. 重启dns服务

tonybox2:/etc/bind/slaves# /etc/init.d/bind9 restart

named进程第一次启动时,辅助域名服务器就下载主域名服务器的信息;辅助域名服务器根据主域名服务器的对应SOA记录规定的刷新时间间隔,去主域名服务器查询相关信息。

tonybox2:/etc/bind/slaves# ls -l total 8 -rw-r--r-- 1 bind bind 410 2006-08-08 12:23 db.192 -rw-r--r-- 1 bind bind 430 2006-08-08 12:23 db.mydebian

查看 /etc/bind/slaves 目录,我门会发现已经从主域名服务器获取了相应的资源文件

如果用户bind对于/etc/bind/slaves目录没有写权限, 则查看 /var/log/syslog 会出现错误.




引文来源  Linux下DNS配置详解--MySite
  评论这张
 
阅读(631)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018