centos5.5 bind快速安装总结。

一.、Bind 简介。
    Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。本文将介绍它在Centos5.5中最基本的安装和配置。

二.、软件的相关资源。
官方网站:http://www.bind.com/ 源码软件包:Bind 是开源的软件,可以去其官方网站下载

http://www.isc.org/index.pl/sw/bind/帮助文档:

http://www.isc.org/index.pl/sw/bind/ 有该软件比较全面的帮助文档。

FAQ:http://www.isc.org/index.pl/sw/bind/ 回答了该软件的常见问题。

配置文件样例:http://www.bind.com/bind.html 一些比较标准的配置文件样例。

    DNS 是计算机域名 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

    DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。   在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替IPv4的IPV6中,将以128位二进制数表示一个IP地址。   

    大家都知道,当我们在上网的时候,通常输入的是网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用IP地址才能相互识别。再如,我们去一WEB服务器中请求一WEB页面,我们可以在浏览器中输入网址或者是相应的IP地址,例如我们要上新浪网,我们可以在IE的地址栏中输入网址,也可输入IP地址,但是这样子的IP地址我们记不住或说是很难记住,所以有了域名的说法,这样的域名会让我们容易的记住。   DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。   申请了DNS后,客户可以自己为域名作解析,或增设子域名。客户申请DNS时,建议客户一次性申请两个。   

DNS服务器在域名解析过程中的查询顺序为:本地缓存记录、区域记录、转发域名服务器、根域名服务器。

 

1.[root@localhost /]# yum -y install bind //如果出问题可以安装bind-chroot和bind-devel两个包。

Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 Setting up Install Process
 Resolving Dependencies
 --> Running transaction check
 ---> Package bind.i386 30:9.3.6-16.P1.el5 set to be updated
 --> Finished Dependency ResolutionDependencies Resolved
================================================================================
  Package       Arch          Version                        Repository     Size
 ================================================================================
 Installing:
  bind          i386          30:9.3.6-16.P1.el5             base          980 kTransaction Summary
 ================================================================================
 Install       1 Package(s)
 Upgrade       0 Package(s)Total download size: 980 k
 Downloading Packages:
 bind-9.3.6-16.P1.el5.i386.rpm                            | 980 kB     00:04     
 Running rpm_check_debug
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
   Installing     : bind                                                     1/1Installed:
   bind.i386 30:9.3.6-16.P1.el5                                                 Complete!

[root@localhost /]# /etc/rc.d/init.d/named start
Locating //etc/named.conf failed:
配置文件必须得按照以下的模板来修改
以前版本里在/etc/下有个named.conf ,AS5里没有,换成named.caching-nameserver.conf
和named.rfc1912.zones 这两个文件了.错误找不到/etc/named.conf文件,因为centos和rhce都是装好没有这个文件,接下来怎么解决这个问题只要安装一下named.caching-nameserver.conf是DNS缓冲的配置文件就可以了。

2.[root@localhost /]# yum -y install caching-nameserver//安装dns缓存服务器文件

Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 Setting up Install Process
 Resolving Dependencies
 --> Running transaction check
 ---> Package caching-nameserver.i386 30:9.3.6-16.P1.el5 set to be updated
 --> Finished Dependency ResolutionDependencies Resolved
================================================================================
  Package                  Arch       Version                   Repository  Size
 ================================================================================
 Installing:
  caching-nameserver       i386       30:9.3.6-16.P1.el5        base        62 kTransaction Summary
 ================================================================================
 Install       1 Package(s)
 Upgrade       0 Package(s)Total download size: 62 k
 Downloading Packages:
 caching-nameserver-9.3.6-16.P1.el5.i386.rpm              |  62 kB     00:00     
 Running rpm_check_debug
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
   Installing     : caching-nameserver                                       1/1Installed:
   caching-nameserver.i386 30:9.3.6-16.P1.el5                                   Complete!

3.[root@localhost /]# service named start//启动dns服务
Starting named:                                            [  OK  ]

 

4.拷贝named.conf文件到/etc目录下内容如下:可以自行修改,也可以用现成的named.caching-nameserver.conf 内容如下:

//caching-nameserver.conf
options {
         listen-on port 53 { 192.168.10.134; }; //这个地方要修改可以修改为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";
         forwarders {202.101.172.46;};
         // Those options should be used carefully because they disable port
         // randomization
          query-source    port 53;
          query-source-v6 port 53;        allow-query     { localhost; };//修改为0.0.0.0允许所有ip访问
         allow-query-cache { localhost; };//0.0.0.0
 };
 logging {
         channel default_debug {
                 file "data/named.run";
                 severity dynamic;
         };
 };
 view localhost_resolver {
         match-clients      { localhost; };//any
         match-destinations { localhost; };//修改为any
         recursion yes; // 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 "zh888.com" IN {
 type master;
 file "zh888.com";
 allow-update { none; };
 };zone "10.168.192.in-addr.arpa" IN {
 type master;
 file "zh888.rev";
 allow-update { none; };
 };

 

这个部分是named.conf的文件例子:

// named.conf for Red Hat caching-nameserver 
 //options设置通用的服务器配置,以及其他选项的默认值
 options {
         directory "/var/named";        //资源记录/var/named目录下,也就是说,bind服务器中的所有dns记录日志都集中在此。
         dump-file "/var/named/data/cache_dump.db";
         statistics-file "/var/named/data/named_stats.txt";
         forwarders { 202.101.172.46; };
         forward only;
         recursion yes;
 };// a caching only nameserver config
 //这部分为controls类型记录,其中inet表示利用tcp/ip socket来访问internet资源,它由指定的ip_addr(ip地址)和ip_port所产生,而此表示可允许本机(localhost)利用rndckey进行访问。 controls {
  inet 127.0.0.1 allow { localhost; } keys { rndckey; };
 };

//这部分是zone类型记录,它是用来定义一个dns区域,以及dns服务器管理区域信息的方法。其中.点表示此区域定义为(root)根网域的内容,而它是属于IN(internet)的区域类别(class),同时此区域类型为hint.

在建立一个区域类型的时候,要注意bind的类型有5种,master,slave,hint,stub和forward等。

master:dns的主要区域,它拥有来自区域信息的正本,可提供授权的的响应。
slave:是次要的区域是一份来自主要区域的复本
stub:区域与次要的很类似,但它只会复制主要区域中的ns记录,而非所有区域信息。
forward:所谓转送区域是一种以网域为基础来设置的的方法。
hint:为root域名服务器利用hint区域来指定,在服务器启动时,它会利用此区域提供的信息来找出root域名服务器,并得到最新的root域名服务器列表。最后file来指定的区域记录日志为named.ca,其中ca表示缓存的意思,启动系统文件加入缓存启动访问速度。

named.ca文件在/var/named目录下,也可以到ftp://rs.internic.net/domain/named.root下载最新文件,建议不要自行修改。

zone "." IN {
  type hint;
  file "named.ca";
 };zone "zh888.com" IN {
  type master;
  file "zh888.com";
  allow-update { none; };
 };zone "10.168.192.in-addr.arpa" IN {
 type master;
 file "zh888.rev";
 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; };
 };include "/etc/rndc.key";

 

拷贝以上named.conf文件到/etc目录下,然后重新启动named服务

[root@zh888 ~]# /etc/rc.d/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

5查看一下bind状态:

[root@zh888 ~]# /etc/rc.d/init.d/named status
 number of zones: 6
 debug level: 0
 xfers running: 0
 xfers deferred: 0
 soa queries in progress: 0
 query logging is OFF
 recursive clients: 0/1000
 tcp clients: 0/100
 server is up and running
 named (pid  3284) is running...

查看一下bind的连接测试

[root@zh888 ~]# telnet localhost 53
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

6.让系统启动服务chkconfig named on

[root@zh888 named]# chkconfig --list named
named           0:off   1:off   2:on    3:on    4:on    5:on    6:off

7.在/var/named目录下要建立一个zh888.com的正解文件,内容如下

[root@zh888 named]#vi /var/named/zh888.com
@  IN  SOA    zh888.com.  root.zh888.com.  (
                                        1997022700 ; Serial
                                        28800       ; Refresh
                                        14400       ; Retry
                                        3600000     ; Expire
                                        86400 )     ; Minimum
                     
 IN NS ns1.zh888.com.
 localhost IN A 127.0.0.1
 dns   IN   A    192.168.10.134
 proxy IN   A   192.168.10.134
 zh888  IN  A    192.168.10.134
 www   IN  CNAME zh888
 ftp   IN CNAME   zh888
 mail   IN MX 10  mail.zh888.com

8.建立一个反解区域文件到/var/named目录下内容如下:

[root@zh888 named]#vi /var/named/zh888.rev
$TTL 86400
 @ IN SOA zh888.com. root.zh888.com. (
 1997022700 ; Serial
 28800 ; Refresh
 14400 ; Retry
 3600000 ; Expire
 86400 ) ; Minimum
 @  IN NS zh888.com.


134 IN PTR mail.zh888.com. //这个格式要清楚主机ip地址[ttl时间] IN PTR 主机名称134 IN PTR ns1.zh888.com就可以了134是我的ip如果 写错的话就会提示:** server can't find 134.10.168.192.in-addr.arpa.: NXDOMAIN
这个问题就搞了我一天时间呢?互联网上查询都没找到答案,我修改了/etc/hosts, /etc/resolv.conf search 参数都没用。134 IN PTR dns.zh888.com.
134  IN PTR proxy.zh888.com.

9.修改一下权限
chmod 777 and chown named.named zh888.com zh888.rev

10.vi /etc/resolv中设置一下ip地址
vi /etc/resolv.conf

nameserver 192.168.10.134
search zh888.com

11.修改一下hostname
vi /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=zh888.com

12.修改一下/etc/hosts文件添加以下文件。

# Do not remove the following line, or various programs
 # that require network functionality will fail.
 127.0.0.1               localhost.localdomain localhost
 ::1             localhost6.localdomain6 localhost6
 192.168.10.134  zh888.com zh888

13:reboot系统,然后测试一下nslookup

正向解析:

[root@zh888 named]# nslookup -sil
 > proxy.zh888.com
 Server:         192.168.10.134
 Address:        192.168.10.134#53Name:   proxy.zh888.com
 Address: 192.168.10.134
 >

CNAME资源记录:

> www.zh888.com Server:         192.168.10.134
 Address:        192.168.10.134#53www.zh888.com   canonical name = zh888.zh888.com.
 Name:   zh888.zh888.com
 Address: 192.168.10.134
 >

反向解析:
> 192.168.10.134
Server:         192.168.10.134
Address:        192.168.10.134#53

134.10.168.192.in-addr.arpa     name = mail.zh888.com.
134.10.168.192.in-addr.arpa     name = proxy.zh888.com.
134.10.168.192.in-addr.arpa     name = dns.zh888.com.
>

修改解析器:

> set type=MX
 > mail.zh888.com
 Server:         192.168.10.134
 Address:        192.168.10.134#53mail.zh888.com  mail exchanger = 10 mail.zh888.com.zh888.com.
 > > set type=NS
 > zh888.com
 Server:         192.168.10.134
 Address:        192.168.10.134#53zh888.com       nameserver = zh888.com.
 > > set type=SOA
 > zh888.com
 Server:         192.168.10.134
 Address:        192.168.10.134#53zh888.com
         origin = zh888.com
         mail addr = root.zh888.com
         serial = 1997022700
         refresh = 28800
         retry = 14400
         expire = 3600000
         minimum = 86400
 >

 

总结完了因为本人花了不少时间在** server can't find 134.10.168.192.in-addr.arpa.: NXDOMAIN
这个问题上,还有就是每个字段的解释,其它zh888.com和zh888.rev两个字段没多解释,其实互联网上都有详细的解释,只要把每段的意思理解了就很容易排错了。自己写的文档难免会有错误请网友们指教。

 


转载于:https://blog.51cto.com/zh888/635791