centos5.5下 BIND 快速安装总结
centos5.5 bind快速安装总结一. 、Bind 简介。Bind 是一款开放源码的DNS 服务器软件,Bind 由美国加州大学Berkeley 分校开发和维护的,全名为Berkeley Int
centos5.5 bind快速安装总结
一. 、Bind 简介。
Bind 是一款开放源码的DNS 服务器软件,Bind 由美国加州大学Berkeley 分校开发和维护的,全名为Berkeley Internet Name Domain 它是目前世界上使用最为广泛的DNS 服务器软件,支持各种unix 平台和windows 平台。本文将介绍它在Centos5.5中最基本的安装和配置。
二. 、软件的相关资源。
官方网站:http://www.bind.com/
源码软件包: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 Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size ================================================================================
Installing:
bind i386 30:9.3.6-16.P1.el5 base 980 k
Transaction 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/1
Installed:
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 Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size ================================================================================
Installing:
caching-nameserver i386 30:9.3.6-16.P1.el5 base 62 k
Transaction 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/1
Installed:
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