Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103687844
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-30 13:36:22

[root@redhatlinux9 root]# rpm -qa|grep bind
[root@redhatlinux9 RPMS]# rpm -qa|grep name   #检查安装情况注意配置named.conf文件时每行以分号结束,括号与字母之间有空格!!配置zone文件时,主机名后有小数点!! 配置文件
[root@redhatlinux9 RPMS]# cat /etc/named.conf
// generated by named-bootconf.pl

options {
    directory "/var/named";   #服务器配置文件(正反解文件)的目录。
    // query-source address * port 53
}

//
controls {
    inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};         #定义RNDC命令使用的控制通道。

zone "." IN {
    type hint
    file "named.ca"
};         ##根域

zone "localhost" IN {
    type master
    file "localhost.zone"
    allow-update { none; };
};         #定义localhost正向解析区声明。

zone "0.0.127.in-addr.arpa" IN {
    type master
    file "named.local"
    allow-update { none; };
};         #定义localhost反向解析区声明。

include "/etc/rndc.key"
#   以上是BING默认配置文件,是一个唯高速缓存服务器的配置,如只需唯高速缓存服务器,无需修改。

注意定义的directory "/var/named",那么localhost的正解文件,即localhost.zone,它的放置位置就是/var/named/localhost.zone
在/var/named/named.ca上记录的是internet上的根DNS服务器

手动查找根域:
echo “nameserver 218.30.19.40” > /etc/resolv.conf   #设置internet上的DNS
dig –t NS .   #查找根域 如果显示的根域A记录太少,可以把本机的DNS设置为查到的根DNS服务器的IP地址,这样通过根DNS服务器来查根域,会查找的更多!
dig –t NS . >/var/named/named.ca #将查询到的结果重定向到named.ca [root@redhatlinux9 RPMS]# cat /var/named/localhost.zone
$TTL   86400
$ORIGIN localhost.
@               1D IN SOA     @ root (
                          42         ; serial (d. adams)
                          3H         ; refresh
                          15M         ; retry
                          1W         ; expiry
                          1D )         ; minimum

                1D IN NS     @
                1D IN A       127.0.0.1
最后两行其实应该是:localhost.   IN NS   localhost.
            Localhost.   IN A   127.0.0.1   #不过localhost.可用@代替
TTL :用于定义向外查询的数据可以记录在DNS的cache中多长时间。
@   : 这个就是zone定义的,因此,它就代表localhost这个域名
SOA :开始设置内容的意思,后面接两个项,localhost. 代表一个完整的主机名+域名,可用@代替,实际为localhost. (注意后面的点)再后面为管理员E-MAIL。
localhost.   IN NS   localhost. :前面的域是由后面的这个主机所管理的,即管理localhost这个域的name server为localhost这台主机。即是一个授权的过程。
Serial :当slave的serial小于master时,才更新数据
Refresh : slave多久进行主动更新 3小时
Retry :主动更新连接不到master,再过多久再次尝试连接 15分钟
Expire : 如果一直连接不上,多久后不再连接 1星期
Minimum : 与TTL有些类似 一天 [root@redhatlinux9 RPMS]# cat /var/named/named.local
$TTL   86400
@     IN     SOA   localhost. root.localhost. (
                        1997022700 ; Serial
                        3H     ; Refresh
                        15M   ; Retry
                        1W     ; Expire
                        1D )   ; Minimum
        IN     NS     localhost.

1     IN     PTR   localhost.
前面部分与正解的差不多,后面PTR是反解符号。由于这个文件的zone为127.0.0。 若用源码安装,可能服务启动会出现错误,需要RNDC控制服务器。
rndc-confgen   #产生rndc控制文件
rndc-confgen > /etc/rndc.conf #定向到rndc.conf这个文件
cat /etc/rndc.conf #里面提示把末尾的配置文件写入到named.conf中
tail +13 /etc/rndc.conf >> /etc/named.conf 把从13行开始的配置信息追加到named.conf
还要去掉“#”这个符号,以至让配置生效,追加不会覆盖原配置文件。 举例:
[root@redhatlinux9 root]# vi /etc/named.conf
zone "brus.net" IN {
    type master;     #指定为MASTER类型
    file "brus.net.zone"; 文件名可随便取,好记就行
}

zone "1.168.192.in-addr.arpa" IN { #如果需要反向解析,可以在这里描述。
    type master
    file "1.168.192.in-addr.arpa.zone"
}

[root@redhatlinux9 root]# vi /var/named/brus.net.zone
$TTL   86400
@               1D IN SOA     @ root ( 邮件的完整写法为root.brus.net.
                          42         ; serial (d. adams)
                          3H         ; refresh
                          15M         ; retry
                          1W         ; expiry
                          1D )         ; minimum

                1D IN NS     @
                1D IN A       192.168.1.1
                1D IN MX 10   mail.brus.net.
webroot           1D IN A       192.168.1.10
wwww             1D IN CNAME   webroot
mail             1D IN A       192.168.20
@就代表由zone定义的域 brus.net.

[root@redhatlinux9 named]# cat 1.168.192.in-addr.arpa.zone
$TTL   86400
@     IN     SOA   brus.net. root.brus.net. (
                        42     ; Serial
                        3H     ; Refresh
                        15M     ; Retry
                        1W     ; Expire
                        1D )   ; Minimum
    IN     NS     brus.net.
10     IN     PTR   webroot.brus.net.
20     IN     PTR   mail.brus.net. (这里不可简写)
这里的@代表的是1.168.192.in-addr.arpa. 也是由zone定义的,所以邮件不能简写了
测试:[root@redhatlinux9 root]# host [-a] [FQDN]   # -a显示所有信息
[root@redhatlinux9 root]# host –l [domain] #将域的所有host都显示出来
[root@redhatlinux9 root]# dig [-t type] [FQDN] #此命令功能更强大
[root@redhatlinux9 root]# whois abc.com #查询abc.com信息,如被谁注册了
安全:主服务器默认由root启动服务,不太安全,可以设置为以普通用户named来启动
服务会在/var/run 下向pid写文件,而普通用户无写的权限
首先在named.conf里添加pid-file选项
Options {
    Pif-file “var/run/named/named.pid” #设置named用户能写的特定文件
}
useradd -s /bin/false -d /dev/null named #创建不可登录无home目录的用户named
mkdir /var/run/named #创建options里设定的文件夹
chown named.named /var/run/named   #更改此文件的属主
chmod 700 /var/run/named   #确定可写权限
named –u named #表示以named用户启动named进程(先killall -9 named杀死进程)
echo “/usr/local/bin/named -u named” >> /etc/rc.local (由which named可得路径)

原文:http://huangxiaohui91.blog.ccidnet.com/blog-htm-itemid-203750-do-showone-type-blog-uid-67217.html

阅读(1033) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~