2023年12月6日发(作者:)

centos5.5 bind快速安装总结

一.、Bind 简介。

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

二.、软件的相关资源。

官方网站:/

源码软件包:Bind 是开源的软件,可以去其官方网站下载

//sw/bind/帮助文档:

//sw/bind/ 有该软件比较全面的帮助文档。

FAQ://sw/bind/ 回答了该软件的常见问题。

配置文件样例:/ 一些比较标准的配置文件样例。

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:5 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package Arch Version Repository Size

================================================================================

Installing:

bind i386 30:5 base 980 k

Transaction Summary

================================================================================

Install 1 Package(s)

Upgrade 0 Package(s)

Total download size: 980 k

Downloading Packages:

| 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:5

Complete!

[root@localhost /]# /etc/rc.d/init.d/named start

Locating //etc/ failed:

配置文件必须得按照以下的模板来修改

以前版本里在/etc/下有个 ,AS5里没有,换成

和 这两个文件了.错误找不到/etc/文件,因为centos和rhce都是装好没有这个文件,接下来怎么解决这个问题只要安装一下是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:5 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package Arch Version Repository Size

================================================================================

Installing:

caching-nameserver i386 30:5 base 62 k

Transaction Summary

================================================================================

Install 1 Package(s)

Upgrade 0 Package(s)

Total download size: 62 k

Downloading Packages:

| 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:5

Complete!

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

Starting named: [ OK ]

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

//

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_";

statistics-file "/var/named/data/named_";

memstatistics-file "/var/named/data/named_mem_";

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/";

severity dynamic;

};

};

view localhost_resolver {

match-clients { localhost; };//any

match-destinations { localhost; };//修改为any

recursion yes;

// :

zone "." IN {

type hint;

file "";

};

zone "localdomain" IN {

type master;

file "";

allow-update { none; };

};

zone "localhost" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master; file "ast";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

这个部分是的文件例子:

// for Red Hat caching-nameserver

//options设置通用的服务器配置,以及其他选项的默认值

options {

directory "/var/named"; //资源记录/var/named目录下,也就是说,bind服务器中的所有dns记录日志都集中在此。

dump-file "/var/named/data/cache_";

statistics-file "/var/named/data/named_";

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来指定的区域记录日志为,其中ca表示缓存的意思,启动系统文件加入缓存启动访问速度。

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

zone "." IN {

type hint;

file "";

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "localhost" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

zone "" IN {

type master;

file "ast";

allow-update { none; };

};

zone "" IN {

type master;

file "";

allow-update { none; };

};

include "/etc/";

拷贝以上文件到/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)

查看一下bind的连接测试

[root@zh888 ~]# telnet localhost 53

Trying 127.0.

Connected to omain (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目录下要建立一个的正解文件,内容如下

[root@zh888 named]#vi /var/named/

@ IN SOA . . (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS .

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

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

[root@zh888 named]#vi /var/named/

$TTL 86400

@ IN SOA . . (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

@ IN NS .

134 IN PTR . //这个格式要清楚主机ip地址[ttl时间] IN PTR 主机名称134 IN

PTR 就可以了134是我的ip如果 写错的话就会提示:** server can't find

.: NXDOMAIN

这个问题就搞了我一天时间呢?互联网上查询都没找到答案,我修改了/etc/hosts,

/etc/ search 参数都没用。134 IN PTR .

134 IN PTR .

9.修改一下权限

chmod 777 and chown

/etc/resolv中设置一下ip地址

vi /etc/

nameserver 192.168.10.134

search

11.修改一下hostname

vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=

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

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 omain localhost

::1 omain6 localhost6

192.168.10.134 zh888

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

正向解析:

[root@zh888 named]# nslookup -sil

>

Server: 192.168.10.134

Address: 192.168.10.134#53

Name:

Address: 192.168.10.134

>

CNAME资源记录:

>

Server: 192.168.10.134

Address: 192.168.10.134#53

canonical name = .

Name:

Address: 192.168.10.134

>

反向解析:

> 192.168.10.134

Server: 192.168.10.134

Address: 192.168.10.134#53

name = .

name = .

name = .

>

修改解析器:

> set type=MX

>

Server: 192.168.10.134

Address: 192.168.10.134#53

mail exchanger = 10 .

>

> set type=NS

>

Server: 192.168.10.134

Address: 192.168.10.134#53

nameserver = .

>

> set type=SOA

>

Server: 192.168.10.134

Address: 192.168.10.134#53

origin =

mail addr =

serial = 1997022700

refresh = 28800

retry = 14400

expire = 3600000

minimum = 86400

>

总结完了因为本人花了不少时间在** server can't find .:

NXDOMAIN

这个问题上,还有就是每个字段的解释,其它和两个字段没多解释,其实互联网上都有详细的解释,只要把每段的意思理解了就很容易排错了。自己写的文档难免会有错误请网友们指教。

转载请务必注明原文:/a/linuxrumen/

另一篇参考文章:

系统环境:CentOS 5.5

事项:配置DNS服务器

由于公司需要这两天就CentOS中配置了一个DNS服务器,以下内容比较基础(简易),建议自己完善。我在5.5 下安装配置DNS服务器。步骤如下:

1、所在网络:公司内网,本机器一作为DNS服务器,IP:192.168.1.88, 主机名:;

网卡设置项: #cat /etc/sysconfig/network-scripts/ifcfg-eth0

#Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.1.255

HWADDR=00:40:45:20:79:e1

IPADDR=192.168.1.88

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

ONBOOT=yes

TYPE=Ethernet

是使用的静态IP:192.168.1.88。

2、我的需求:将此机器设置为DNS服务器,内网其它PC通过此DNS服务器解析上网,同时让内网PC通过域直接访问公司内网WEB服务器;如公司网站、ERP系统、邮件WEB登陆等等。

3. 安装Bind

# yum -y install bind* # yum -y install caching-nameserver

4. 主配置文件的配置。

首先要进入目录,由于安装了chroot包(主要功能就不多介绍),所以主配置文件在/var/named/chroot/etc/下进行配置。命令如下:

[root@killgoogle ~]# cd /var/named/chroot/etc/

由于安装了上面六个包后,这个目录下就默认会生成一个文件,但这个文件只是个解释文档,所以我们要通过以下命令来把文件的模板拷贝一份。命令如下:

[root@killgoogle etc]# cp -p

现在就可以用文件进行配置了。命令如下:

[root@killgoogle etc]# vi //改后内容如下

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_";

statistics-file "/var/named/data/named_";

memstatistics-file "/var/named/data/named_mem_";

query-source port 53;

query-source-v6 port 53;

allow-query { any; };

};

logging { channel default_debug {

file "data/";

severity dynamic;

};

};

view localhost_resolver {

match-clients { any; };

match-destinations { any; };

recursion yes;

include "/etc/";

};

在此目录下还有一个文件要配置,命令如下:

[root@killgoogle etc]# vi

添加以下内容:

zone "" IN { //定义一个正向域

type master;

file ""; //定义正向解析文件名

allow-update { none; };

};

zone "" IN { //定义反向域

type master;

file ""; //定义反向解析文件名

allow-update { none; };

};

注意:以配置以上文件时不把注释内容也加进去如:“ //定义一个正向域 ”

5. 配置正、反解文件。

正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:

[root@killgoogle var]# cd /var/named/chroot/var/named/

[root@killgoogle var]# cp -p

[root@killgoogle var]# cp -p

记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解()、反解()这两个文件了。

[root@killgoogle var]# vi

$TTL 86400

@ IN SOA localhost root (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS

www IN A 192.168.1.110 上面这是最基本的正解文件的配置。

[root@killgoogle var]# vi

$TTL 86400

@ IN SOA localhost. ost. (

1997022700 ; Serial //只是序号而已

28800 ; Refresh //slave的更新时间

14400 ; Retry //当slave更新失败,重新更新时间

3600000 ; Expire //重复多久后不再更新

86400 ) ; Minimum //可看作TTL,尤其沒有設定$TTL时

IN NS .

110 IN PTR .

说明: 最后一句前面的那个110是指的我自己IP:192.168.1.110的最后一个数。

注:

到此为止,我们的DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。

收尾工作。

1、首先是修改/etc/文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:

[root@killgoogle var]# vi /etc/

只要加上一句:nameserver 192.168.1.88就行了。

2、配置selinux。命令如下: [root@killgoogle var]# setup

弹出一个对话框。我们要进行的是防火墙配置,步骤如下:

选择“Firewall Configuration”---按 “Tab”键切换到“Run Tool”—回车—“Security Level”选项要在“Enabled”前面按一下“Tab”键---“SelLinux”选项要选“Disabled”—按一下“Tab”键---选中 “Customize”---弹出新对话框---在“Other Port”栏目里输入“53:tcp 53:udp”—“OK”—返回上一个对话框—“OK”—对话框自动关闭。配置完成。

3、开启服务。命令如下:

[root@killgoogle ~]# service named start

4、测试。

测试的命令是nslookup,我想,知道DNS的、想配置DNS的人,应该不会不知道nslookup,更不会不知道Nslookup怎么用,所以在这就不多解释了。

5、设置named服务随机启动。

chkconfg named on

也可这个操作:输入setup命令---选择“System Services”---按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前---用空格键使“named”选项前多出个“*”表示----按 “Tab”键切换到“OK”----按 “Tab”键切换到“Quit”

注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。

在另一台机器中设置如下:

IP地址,自由获得(或者设定为:IP:192.168.1.120;子网掩码:255.255.255.0;网关:192.168.1.1);

首选DNS:192.168.1.88

打开浏览器打开相关站点。此时一切正常。