转发很详细的bind 安装教程

本文来自:http://hi.baidu.com/chenshake/blog/item/abdd11f328a32dcd0b46e020.html

看了好几篇配置配置bind运作chroot。我想可以整理一下,等下安装这个步骤进行测试。

参考文章

http://www.phpwind.net/read.php?tid-647518-page-e-fpage-1.html&t=1 (非常好的文章)

http://blog.sina.com.cn/s/reader_45c5163901008rde.html

1:安装软件。

本来打算采用编译安装,不过看了一下,yum安装应该简单不少,而且没有太多的必要。

yum -y install bind bind-chroot bind-libs bind-utils caching-nameserver

2:目录说明

/var/named/chroot/etc                                                ;存放named.conf
/var/named/chroot/var/named                                    ;存放zone&arpa文件
/var/log/messages                                                        ; 查看配置过程中出错信息

 

 

3:开始设置

cd /var/named/chroot/etc/
rndc-confgen > etc/rndc.conf
tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf

 

vi /var/named/chroot/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


vi /var/named/chroot/var/named/named.local
$TTL    86400
      IN      SOA     localhost. root.localhost. (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      localhost.
      IN      PTR     localhost.

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

 

 

 

 

 

 

vi /var/named/chroot/var/named/test.com.zone
$TTL 86400      ; 1 day
              IN      SOA     ns1.test.com.      root.test.com. (
                                2008050122 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns1.test.com.
                             192.168.1.168
                        MX      10 mail.test.com.
www                          192.168.1.168
mail               192.168.1.168
ns1                 192.168.1.168

 

 

vi /var/named/chroot/var/named/test.com.rev

#############
$TTL 86400
@ IN SOA ns1.test.com. root.test.com.(
                                                              20031001;
                                                              7200;
                                                              3600;
                                                              43200;
                                                             86400);
          IN           NS             ns1.test.com.
168         IN           PTR          ns1.test.com.

vi /var/named/chroot/etc/named.conf

options {
directory "/var/named";
};

zone "." IN {
        type hint;
        file "named.root";
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update{none;};
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update{none;};
};

zone "test.com" IN {      //建立test.com域
        type master;     
        file "test.com.zone";    //test.com域映射IP地址可在此文件编写
        allow-update { none; };
};


zone "1.168.192.in-addr.arpa" in {   //反向解析
        type master;  
        file "test.com.rev";              //存放反向解析的文件
        allow-update { none; };
};
########################

service named start ;
tail -n 20 /var/log/messages ;查看信息,如显示runing则表示成功
host 192.168.1.168
ping www.test.com

DNS配置完成

要注意的几个问题:
1、权限问题:把以上有vi生成的几个文件
#chmod 064 file-list
#chown root:named file-list
2、配置完成后,本机测试时要把resolv.conf中的nameserver改成本机地址
3、在fav365.zone加入*.fav365.com.     IN           192.168.198.129就可以支持泛域名

 

 

 

#################################

在RHEL5系统中配置DNS服务


首先,应该检查自己是否已经安装了bind。

[root@killgoogle ~]# rpm -qa bind*

bind-9.3.3-10.el5
bind-libbind-devel-9.3.3-10.el5
bind-sdb-9.3.3-10.el5
bind-devel-9.3.3-10.el5
caching-nameserver                        //bind-chroot包放最后一个安装
bind-chroot-9.3.3-10.el5   

安装chroot包时要将/usr/share/doc/bind-9.3.3/sample/etc/named.conf范本文件复制为/etc/named.conf,否则会报错
Locating /var/named/chroot//etc/named.conf failed: [失败]
使用了chroot后,虚拟根目录为/var/named/chroot,则namd.conf实际位置为/var/named/chroot/etc,而工作目录/var/named实际路径为/var/named/chroot/var/named.

如果没有安装这些包的话可以用:以下方法安装
[root@killgoogle ~]# yum install bind*
[root@killgoogle ~]# yum install caching-nameserver

安装过后BIND服务就已经完成三分之一了,剩下的三分之二就是配置BIND服务。好,开始!我是想配置一个DNS可以解析我的域名www.test.comftp.test.com。假设我的IP是:192.168.1.12
[root@killgoogle ~]# cd /var/named/chroot/etc/
[root@killgoogle etc]# ls
localtime                              named.rfc1912.zones
named.caching-nameserver.conf          named.rfc1912.zones.rpmsave
rndc.key        
这里我们可以看到在/var/named/chroot/etc/下的几个主要的配置文件。但是我们还是不要动这些文件的好,可以先复制它们并对它们进行修改。在进行复制的时候应该加上参数-P,这样在复制的时候把文件的属性不会改变。
[root@killgoogle etc]# cp -p named.caching-nameserver.conf named.conf
现在就可以用named.conf文件进行配置了。
[root@killgoogle etc]# vi named.conf   //红色为改动部分
options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    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";
    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; };
    match-destinations { any; };
    recursion yes;
    include "/etc/named.rfc1912.zones";
};
[root@killgoogle etc]# vi named.rfc1912.zones
。下面是我的文件内容
zone "." IN {
    type hint;
    file "named.ca";
};

zone "localdomain" IN {
    type master;
    file "localdomain.zone";
    allow-update { none; };
};

zone "localhost" IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.local";
    allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
    file "named.ip6.local";
    allow-update { none; };
};

zone "255.in-addr.arpa" IN {
    type master;
    file "named.broadcast";
    allow-update { none; };
};

zone "0.in-addr.arpa" IN {
    type master;
    file "named.zero";
    allow-update { none; };
};
zone "test.com" IN {
    type master;
    file "test.com.zone";
    allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.1.zone";
    allow-update { none; };
};

其中可以看见有这个配置文件里又引用了两个新的文件:test.com.zone和192.168.1.zone。这两个文件可以CP过来。
[root@killgoogle var]# cd /var/named/chroot/var/named/
[root@killgoogle var]# cp -p localdomain.zone test.com.zone
[root@killgoogle var]# cp -p named.local 192.168.1.zone
在这之中比较重要的还是要加参数P,要不然很有可能启动不了named服务。好了,现在就可以编辑这两个文件了。
[root@killgoogle var]# vi 192.168.1.zone
$TTL    86400
      IN      SOA     localhost. root.localhost. (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      test.com.
12       IN      PTR     www.test.com.
12       IN      PTR     ftp.test.com.
有必要说明的是最后两句前面的那个12是指的我自己IP:192.168.1.12的最后一个数
[root@killgoogle var]# vi test.com.zone
$TTL    86400
       IN SOA    localhost root (
                    42        ; serial (d. adams)
                    3H        ; refresh
                    15M        ; retry
                    1W        ; expiry
                    1D )        ; minimum
            IN NS        localhost
www    IN A        192.168.1.12
ftp    IN A        192.168.1.12

其中192.168.1.zone是反向解析文件,而test.com.zone是正向解析文件.下一步就是修改/etc/resolv.conf文件了.只有修改了这个文件才可以用自己的的机器进行域名解析
[root@killgoogle var]# vi /etc/resolv.conf

只要加上一句:nameserver 192.168.41.12就行了。
这样配置就完成了。不过现在开始配置rhel5的selinux。因为不配置这个的话就不会让别人访问你的DNS服务器。

[root@killgoogle var]# setup
弹出一个对话框。我们要进行的是防火墙配置,所以选择第六个选项:防火墙配置。选择“定制”再在弹出的对话框的允许进入的最后一栏即:其它端口里输入:53:tcp 53:udp
好了。这样就完成了所有过程。实验中可关闭Selinux,开启服务service named start.
[root@killgoogle ~]# nslookup
> www.killgoogle.com
Server:         192.168.1.12
Address:        192.168.1.12#53

Name:   www.test.com
Address: 192.168.1.12


温馨小提示:
1.rndc reload一个非常有用的命令,能在不关闭服务的情况下,即时更新bind;另nslookup交互环境中,可以用命令server 192.168.1.102指定此DNS服务器为提供服务的DNS服务器,因为笔者的机子上面有3个服务器
2.Non-authoritative answer项,它表示非授权的回答,说明来自其他DNS服务器或缓存
3.泛域名: 比如用户的域名是abc.com,那么我们将主机名设置为"*",IP解析到比如:218.104.78.100,大家都知道*是通配符,他表明abc.com之前的所有子域名都将解析到218.104.78.100,这就意味着例如输入bbs.abc.com或者123.abc.com或者123.234.abc.com都将解析到218.104.78.100,这里需要说明的是,在我们系统里面如果单独设置一个子域名解析,比如将主机名设置为mail,单独解析到218.104.78.79,那么该解析记录优先。泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。
4.在实际工作中,可把自己的DNS服务器设置成forarding DNS,而将公网开放的DNS作为forwarder DNS.
为了您的安全,请只打开来源可靠的网址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值