Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21296
  • 博文数量: 6
  • 博客积分: 153
  • 博客等级: 入伍新兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-17 11:31
文章分类

全部博文(6)

文章存档

2013年(2)

2011年(4)

我的朋友

分类: LINUX

2011-01-17 18:59:44

版本:BIND 9.7.1-P2
 
应用实例描述:
在主机A上使用BIND9搭建域名解析服务,要求能够正向和反向解析。
域名:bz.xj.cn
主机A,DNS服务,主机名:ns,ip地址:10.0.0.1
主机B,办公OA服务,主机名:oa,ip地址:10.0.0.2
主机C,包镜像服务,主机名:mirror,ip地址:10.0.0.3
主机D,邮件服务,主机名:mail,ip地址:10.0.0.4
 
a.安装BIND9
  1. sudo apt-get install bind9

将会安装bind9和bind9utils软件包,建议安装的软件包有:bind9-doc,resolvconf。

 

b.配置BIND9

默认情况下DNS的配置文件都被安装在了/etc/bind目录下,主配置文件是/etc/bind/named.conf,其中主配置文件引用了/etc/bind/named.conf.options和/etc/bind/named.conf.local这两个实质上需要配置的文件。

对于本例,只需要在/etc/bind/named.conf.local中添加一个DNS的正向解析区域(bz.xj.cn)和一个反向解析区域(0.0.10.in-addr.arpa)。

  1. sudo gedit /etc/bind/named.conf.local

修改后的/etc/bind/named.conf.local文件如下:

  1. //
  2. // Do any local configuration here
  3. //

  4. // Consider adding the 1918 zones here, if they are not used in your
  5. // organization
  6. //include "/etc/bind/zones.rfc1918";

  7. logging {
  8.     channel query.log {
  9.         file "/var/log/query.log";
  10.         severity debug 3;
  11.     };
  12.     category queries {query.log;};
  13. };

  14. zone "bz.xj.cn" {
  15.     type master;
  16.     file "/etc/bind/db.bz.xj.cn";
  17. };

  18. zone "0.0.10.in-addr.arpa" {
  19.     type master;
  20.     notify no;
  21.     file "/etc/bind/db.10.0.0";
  22. };

然后分别创建正向解析区域和反向解析区域的数据文件:/etc/bind/db.bz.xj.cn和/etc/bind/db.10.0.0。这里我们用默认的/etc/bind/db.local和/etc/bind/db.127文件来创建,命令如下:

  1. ;创建一个新的db.bz.xj.cn文件
  2. sudo cp /etc/bind/db.local /etc/bind/db.bz.xj.cn

  3. ;创建一个新的db.10.0.0文件
  4. sudo cp /etc/bind/db.127 /etc/bind/db.10.0.0

修改:/etc/bind/db.bz.xj.cn文件,命令如下:

  1. ;修改db.bz.xj.cn文件
  2. sudo gedit /etc/bind/db.bz.xj.cn &

使用完整的域名+“.”替换文件中的“localhost”,本例修改后的/etc/bind/db.bz.xj.cn文件内容如下:

  1. ;
  2. ; BIND data file for bz.xj.cn zone.
  3. ;
  4. $TTL    604800
  5. @    IN    SOA    ns.bz.xj.cn. root.bz.xj.cn. (
  6.              2        ; Serial
  7.              604800        ; Refresh
  8.              86400        ; Retry
  9.             2419200        ; Expire
  10.              604800 )    ; Negative Cache TTL
  11. ;
  12. @    IN    NS    ns.bz.xj.cn.
  13. @    IN    MX 1    mail.bz.xj.cn.
  14. @    IN    A    127.0.0.1
  15. @    IN    AAAA    ::1
  16. ns    IN    A    10.0.0.1
  17. oa    IN    A    10.0.0.2
  18. mirror    IN    A    10.0.0.3
  19. mail    IN    A    10.0.0.4
  20. www    IN    CNAME    oa

修改:/etc/bind/db.10.0.0文件,命令如下:

  1. ;修改db.10.0.0文件
  2. sudo gedit /etc/bind/db.10.0.0 &

使用完整的域名+“.”替换文件中的“localhost”,本例修改后的/etc/bind/db.10.0.0文件内容如下:

  1. ;
    ; BIND reverse data file 10.0.0 ip net.
    ;
    $TTL 604800
    @ IN SOA ns.bz.xj.cn. root.bz.xj.cn. (
             1  ; Serial
        604800  ; Refresh
         86400  ; Retry
       2419200  ; Expire
        604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns.
    1 IN PTR ns.bz.xj.cn.
    2 IN PTR oa.bz.xj.cn.
    3 IN PTR mirror.bz.xj.cn.
    4 IN PTR mail.bz.xj.cn.

最后,还要配置之前我们在配置文件/etc/bind/named.conf.local中自定义的日志文件:/var/log/query.log。命令如下:
  1. ;建立/var/log/query.log文件
  2. sudo touch /var/log/query.log
  3. ;将/var/log/query.log文件所有权授予安装BIND9时自动生成的用户“bind”
  4. sudo chown bind /var/log/query.log

在named守护进程能够向这个新建的/var/log/query.log日志文件中写入信息前,还得在/etc/apparmor.d/usr.sbin.named文件中加入新行,内容如下:

  1. /var/log/query.log w,

 然后在执行下面命令,重新加载AppArmor:

  1. sudo apparmor_parser -r

到此本例的BIND9配置完成。

c.启动BIND9

  1. ;启动
  2. sudo /etc/init.d/bind9 start
  3. ;重启
  4. sudo /etc/init.d/bind9 restart
  5. ;停止
  6. sudo /etc/init.d/bind9 stop

d.测试BIND9

首先添加本机的DNS服务器,修改文件/etc/resolv.conf,加入以下内容:

  1. nameserver 10.0.0.1

测试正向域名解析命令如下:

  1. dig oa.bz.xj.cn
  2. ping oa.bz.xj.cn

测试反向域名解析命令如下:

  1. dig -x 10.0.0.3
  2. ping 10.0.0.3

e.提示:可以利用BIND9自带的named-checkzone工具,检查建立的区域数据文件的正确性,命名如下:

  1. named-checkzone bz.xj.cn /etc/bind/db.bz.xj.cn

  2. named-checkzone bz.xj.cn /etc/bind/db.10.0.0
阅读(1368) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~