DNS


需要软件
bind-9.3.4-6.P1.el5
bind-utils-9.3.4-6.P1.el5
bind-chroot-9.3.4-6.P1.el5
bind-libs-9.3.4-6.P1.el5
ypbind-1.19-8.el5

caching-nameserver-9.3.4-6.P1.el5(最后安装)
此软件装完后会在 /etc/生成已下两个配置文件,并且在 /var/named/chroot/var/named/下面生成几个区域文件
-rw-r----- 1 root  named  198 2008-05-21 localdomain.zone
-rw-r----- 1 root  named  195 2008-05-21 localhost.zone
-rw-r----- 1 root  named  427 2008-05-21 named.broadcast
-rw-r----- 1 root  named 1892 2008-05-21 named.ca
-rw-r----- 1 root  named  424 2008-05-21 named.ip6.local
-rw-r----- 1 root  named  426 2008-05-21 named.local
-rw-r----- 1 root  named  427 2008-05-21 named.zero


/etc 下面的配置文件 named.conf 没有了, 改为 named.caching-nameserver.confnamed.rfc1912.zones两个文件,配置有两种方法,
第一种直接设置 named.cach......conf就行老!
第二种是设置在 named.cach......conf里面,区域文件写进 named.rfc1912.zones里面。

第一种方法:
直接配置: named.caching-nameserver.conf
options (#基本设置)

   listen-on port 53 { any; };              设置监听地址,高级配置里有说明
 //listen-on-v6 port 53 { any; };           IPV6的设置,去掉不用
   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";
  //Forwarders{168.95.1.1;139.175.10.20;};    这个是转发功能,如果没有就代表不转发,相当于代理DNS服务器
   query-source    port 53;          查询端口设置,默认是53    
  //query-source-v6 port 53;          IPV6的 去掉不用
   allow-query     { any; }; };      允许查询,后面跟IP,这里代表全部都可以
logging
{       channel default_debug {
                file "data/named.run";
                severity dynamic; }; };
//view localhost_resolver                   把这5行去掉
//{     match-clients      { localhost; };
      //match-destinations { localhost; };
      //recursion yes;
      //include "/etc/named.rfc1912.zones"; };

zone"."                           根区域
{    type hint;                   区域类型:hint 是根专用类型
     file " named.ca"; };          区域文件的名字,不能乱取名
zone " eo.com"                     这个就是要管理的区域名,不能乱写
{     type master;                这个区域的类型是  主DNS服务器
      file " named.eo.com"; };     定义区域文件的名字,可以乱取
zone " 1.168.192.in-addr.arpa"     区域反解,这个写法特殊,IP反起写最后加 in-addr.arpa结尾
{     type master;                同上
      file " named.192.168.1"; };  同上
装了 bind-chroot-9.3.4-6.P1.el5软件后,区域配置文件位置变成了/var/named/chroot/var/named/,在里面新建立一个文件,名字要跟上面定义的名字一模一样才得行

名字为 named.192.168.1 (#反解)

$TTL    86400
@         IN  SOA  linux.eo.com.     root.eo.com.  (
                                       1997022700              ; serial (d. adams)
                                       28800                   ; refresh
                                       14400                   ; retry
                                       3600000                 ; expiry
                                       86400 )                 ; minimum
@       IN      NS      linux.eo.com.
102     IN      PTR     linux.eo.com.

2       IN      PTR     ftp.eo.com.
3       IN      PTR     www.eo.com.
4       IN      PTR     http.eo.com.
5       IN      PTR     xp.eo.com.
6       IN      PTR     w98.eo.com.
PTR代表反解的意思
这个地方的文件名也要跟上面定义的名字一样
named.eo.com
#正解
$TTL    86400
@         IN SOA   linux.eo.com.     root.eo.com. (
                                       1997022700        ; serial (d. adams)
                                       28800             ; refresh
                                       14400             ; retry
                                       3600000           ; expiry
                                       88400 )           ; minimum
@       IN      NS     linux.eo.com.
linux   IN      A      192.168.1.102

www     IN      A      192.168.1.3
ftp     IN      A      192.168.1.2
http    IN      A      192.168.1.4
xp      IN      A      192.168.1.5
w98     IN      A      192.168.1.6
(1)$TTL 86400 ; 这个跟清除 cache 的时间有关系!单位是秒!记录在对方服务器存放的时间,
(2)@ 这个表示zone 定义出的那个部分!以这个文件内容为例,因为我们在 /etc/ named.cach......conf 当中就是定义出 eo.com 为一个 zone ,因此,在这个文件里边, 这个符号就代表 eo.com 这个区域
(3)、SOA 这个是 Start of Authority 开始设定内容的意思!也就是接在后面的设定要开始了!这个在每一个zone的文件中都存在! SOA后面的中括号“(”一定要和SOA写在同一行上!切忌)
(4)、在 SOA 后面会接着两个部分,第一个为主机名称FQDN( linux.eo.com. 完整域名,其中的linux就是主机名,在/etc/sysconfig/network里面指定的),请特别留意那个小数点 (.) 这个东西很重要!他代表『一个完整的 主机名 + 域名了』! 如果没有加上 (.) 的话,那么就表示该文字『仅为 hostname ,还需要加上 domain name 』! 这里是新手最容易出现的错误!

第二个为管理员的 e-mail !因为不能使用 @ (已经是特殊符号了), 所以这里也同样的以 (.) 来取代!例如上面我以 [email protected] 来做为我的 e-mail ,所以就写成了 root.eo.com. ,同样的,最后面有个 (.) !
(5)、小刮号 ( ) 括起了五个数字,这五个数字除了minimum与 TTL 有关之外, 其它的都跟 slave 与 master 的资料同步运作有关。   
Serial :这个数字仅是用来做为 master 与 slave 之间的 update 的参考数值也就是说,当 Slave 的 serial 小于 Master 时, 那么 update 才会动作!通常我们以日期时间来做为 Serial 的订定依据,例如2009年4月23日第一次设定,可以写成 『2009042301』请注意,这个数字不可超过10个数字。
Refresh :slave 多久进行主动更新的时间
Retry :如果到了Refresh 的时间,但是 slave 却无法连接到 master 时, 那么在多久之后,slave 会再次的主动尝试与主机联机;
Expire :如果 slave 一直无法与 master 连接上,那么经过多久的时间之后, 则命令 slave 不要再连接 master 了!
Minimum :这个其实就是 TTL 啦!如果您开头没有定义 TTL ,那么 TTL 的值就以这个来设定!
@       IN      NS     linux.eo.com.
linux   IN      A      192.168.1.102
写法:[区域] IN  NS [主机名称]
@代表本区域,
NS后面一定要是主机名称(FQND),代表的意思是请向后面这台主机要求区域的查询。所以如果区域有两台以上的DNS服务器的话,那就必须写两个NS,而NS后面接的主机名称必须要有IP地址,因此就需要A标志了,A代表正解
第二种方法:
named.caching-nameserver.conf这个文件里面不添加任何东西,只改几个参数就可以
options (#基本设置)
{  listen-on port 53 { any; };
 //listen-on-v6 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";
  //Forwarders{168.95.1.1;139.175.10.20;};   
   query-source    port 53;                
  //query-source-v6 port 53;           
   allow-query     { any; }; };       
logging
{       channel default_debug {
                file "data/named.run";
                severity dynamic; }; };
view localhost_resolver                   
{     match-clients      { any; };          这里要改成ANY
      match-destinations { any; };          同样改成ANY
      recursion yes;                       
      include "/etc/named.rfc1912.zones"; };表示调用 named.rfc1912.zones这个文件
named.rfc1912.zones里面,添加区域文件,在文件最后面添加这两个区域就可以了,根区域已经在里面写好了,所以就不在写进去
zone " eo.com"                       正解 
{     type master;              
      file " named.eo.com"; };    
zone " 1.168.192.in-addr.arpa"       反解
{     type master;              
      file " named.192.168.1"; };
其他都不变,直接测试

要设置二级域名直接添加一个NS参数就可以了
比如现在域名是 eo.com,想在eo下申请一个二级域名dvd (dvd.eo.com)
就在 named.eo.com这个文件里面最下边添加两条命令
dvd   IN  NS  dvd.eo.com     意思是说DVD这个区域交给
dvd.eo.com主机管理
dvd   IN  NS  192.168.1.*    DVD主机IP是多少,这个IP为二级域名DNS的IP
(上面是鸟哥说的,可能不正确,下面是正在研究的)
子域授权
在父域配置如下:
[root@redhatlinux9 root]# vi /var/named/brus.net.zone
添加如下配置:
abc     1D  IN   NS   ns.abc ( 全称为ns.abc.brus.net)
ns.abc  1D  IN   A    10.0.0 .100
即把abc.brus.net这个子域授权给主机ns.abc.brus.net管理,IP地址为 10.0.0 .100 
 
在要设置为子域服务器 10.0.0 .100上设置:
[root@redhatlinux9 root]# vi /etc/named.conf    # 在此配置文件上添加被授权的zone
zone  "abc.brus.net" IN {
        type master        #指定为MASTER类型
        file  "abc.brus.net.zone"   文件名可随便取,好记就行
 
[root@redhatlinux9 root]# vi /var/named/abc.brus.net.zone
$TTL    86400
@         1D IN SOA     @  root.abc.brus.net (
                                         42  3H  15M   1W  1D )
          1D IN NS   ns.abc.brus.net. ( 也可简写为ns)
ns        1D IN NS   192.168.0.100
www       1D IN NS   192.168.0.111
这里的@代表的是zone定义的域abc.brus.net    
 
辅助域名服务器
主服务器地址为192.168.0.1,辅服务器为192.168.0.2,在0.2这台主机上配置就可以了
[root@redhatlinux9 root]# vi /etc/named.conf
添加如下配置:
zone “xyz.com” IN {
                  type slave
                  file  “xyz.com.zone”
                  masters { 192.168.0.1 }
}
高级配置选项
Opions {
      Forwarders { 218.40.18.30 }   
配置转发
      allow-transfer { 192.168.1.100 }
允许更新的辅DNS,也可在zone区里设      
      allow-query { 192.168.1.0/24;}; 
允许查询的IP地址/网段,此参数可设置在区域文件里面,
例:
options {
directory “/var/named”;
allow-query 202.96.44.0/24;
};

zone “263.net” In {

type master;
file “db.263.net”;
allow-query { any;};
};

zone “qq.com.cn” In {

type master;
file “db.capital-online”;
allow-query { any;};

在这个例子中,多次使用了allow-query命令,因为位于zone命令中的allow-query优先级别高于options命令中的allow- query,所以,此配置允许任何主机查询授权域263.net和qq.com.cn,只允许指定网络 202.96.44.0/24上的主机查询外部的非授权域。
      recursion    yes;      
设置开启递归查询 或者no,默认也是递归
      listen-on port 53{192.168.1.102;};
如果DNS服务运行在有多个网卡的服务器上,那么默认的它会在所有网卡接口上监听服务,这个选项告诉它只在指定的接口上进行监听
      allow-recursion { 206.168.119.176/29; };
设置递归查询的IP地址作出限制,如果递归查询请求来自不允许的IP地址,则BIND服务器软件将此查询以非递归查询对待
}
在正解区域文件 name.eo.com里面的最下面输入,一定要是最下面
eo.com.    IN   A   192.168.1.102
表示不输入主机名,直接输入域名就能提供访问,就是 直接解析域名baidu.com

如果输入的是
*   IN   A   192.168.1.102
就是说,主机名的地方用*号代替,表示  任意主机名.eo.com 都能提供访问,
比如: adeg.eo.com     rddfg.eo.com  都能访问到IP指定的主机上面去,这就是 泛域名
RNDC 管控,请看下一章    :)




更详细的请参考:[url]http://redking.blog.51cto.com/27212/132377[/url]

本文出自 “eo” 博客,谢绝转载!

你可能感兴趣的:(职场,dns,休闲)