BIND9.2.2安装配置终极手册(上)

类别:软件工程 点击:0 评论:0 推荐:

 

作者:刘颖博

时间:2003-6-6

mail[email protected],请指正

 

转载请注明出处及作者

环境

操作系统:red hat linux

内核版本2.4.20-8

下载源代码

在Internet Software Consortium(ISC)的ftp:

ftp://ftp.isc.org/isc/bind9/9.2.2/ 下载源代码包bind-9.2.2.tar.gz

 

目前最高的rpm版本是9.2.1

rpm包可以下载:ftp://updates.redhat.com/7.3/en/os/SRPMS/bind-9.2.1-1.7x.2.src.rpm

解压缩包

gzip -d  bind-9.2.2.tar.gz

//执行成功后生成bind-9.2.2.tar文件,bind-9.2.2.tar.gz不存在

 

tar xvf bind-9.2.2.tar

//执行成功后生成目录bind-9.2.2

 

或者tar zxvf binf-9.2.2.tar.gz

//执行成功后生成目录bind-9.2.2

 

编译 编译前需要确认的环境变量:

在运行./configure之间需要确认的环境变量,这几个环境变量将影响编译:(主要是确认环境变量正确性,如不存在以下环境变量,没有关系,执行./configure会自动配置)

CC

The C compiler to use. configure tries to figure out the right one for supported systems.

CFLAGS

C compiler flags. Defaults to include -g and/or -O2 as supported by the compiler.

STD_CINCLUDES

System header file directories. Can be used to specify where add-on thread or IPv6 support is, for example. Defaults to empty string.

STD_CDEFINES

Any additional preprocessor symbols you want defined. Defaults to empty string.

To build shared libraries, specify "--with-libtool" on the configure command line.

 

执行编译安装步骤:

 

./configure

//可以 ./configure --help获得帮助

//自动配置系统信息,生成一些相关文件

 

make all

 

make install

 

//时间比较长,同时会产生一些warning,不会产生影响

注:make clean (make superclean)

//卸装

BIND正常安装在/usr/local目录下,但可以调整通过 configure命令的—prefix参数设置,如./configure --prefix=/usr/local格式

这样就安装成功了!

 

配置 区数据文件(db.DOMAIN 与 db.ADDR文件) 配置

 

SOA记录: 指示该区的权威

NS记录:列出该区的一个名子服务器

其他记录:有关该区中主机的数据,包括

       A:名字到地址的映射

       PTR:地址到名字的映射

       CNAME:规范名字(相对于别名)

 

a.针对 db.DOMAIN db.ADDR文件

bind8.2版本以后使用$TTL语句设定默认的TTL(time to live生存期)的值

$TTL 86400  (或者用1D,24H等)

b. 针对db.DOMAIN db.ADDR文件

接下来就是SOA(start of authority)记录,每个db.DOMAIN

db.ADDR文件都是必须有一个也职能有一个SOA记录.我们的服务器享有对区yncnc.net的

权威,所以格式如下:

yncnc.net.  IN SOA  ns.yncnc.net. root.yncnc.net. (

                     1       ;序列号

                     3H   ;3小时后刷新

                     15M ;15分钟后重试

                     1W  ;1星期后过期

                     1D)  ;否定缓存TTL为1天

其中IN 表示Internet

SOA后面的第一个名字(ns.yncnc.net.)是yncnc.net区的主名字服务器.第二个名字(roo

t.yncnc.net.)是管理该区的人的邮件.

c. 针对db.DOMAIN db.ADDR文件

NS(name server)记录,为我们的区的每一个权威名字服务器都添加一个NS记录

如:

yncnc.net. IN NS ns.yncnc.net.

d. 针对db.DOMAIN 文件

地址和别名记录,创建名字到地址的映射,加下列\资源记录

;

;主机地址

;A代表地址

www.yncnc.net. IN A 221.3.128.268

ns.yncnc.net.  IN A 221.3.131.4

mail.yncnc.net. IN A 221.3.131.5

;

;别名

;CNAME(canonical name,规范名)

pop.yncnc.net. IN CNAME mail.yncnc.net.

pop3.yncnc.net. IN CNAME mail.yncnc.net.

smtp.yncnc.net IN CNAME mail.yncnc.net.

e. 针对db.ADDR文件

PTR记录,如下

5.131.3.221.in-addr.arpa. IN PTR mail.yncnc.net

注意:地址只能指向一个名字:规范名

 

上面就是完整的区数据文件中的各种资源记录

 

bind配置文件 ànamed.conf

注释

/**/

//

#

区数据文件的目录

option {

       directory “/var/named”;

       //这里放置区数据文件

}

区数据文件对应的说明

zone “yncnc.net”  in {

       type master;

       file “db.yncnc.net”

}

配置根线索文件

zone “.” in {

       type hint;

       file “db.cache”

       //ftp.rs.internic.net(198.41.0.6) 匿名下载domain目录最新的named.boot,改名

}

 

地址匹配列表ACL的语法

acl name {address_match_lists;};

 

blackhole子句语法,避免对一些地址作出相应

 

options {

       /*不对私有地址作出相应*/

       blackhole {

              10/8;

172.18/12;

192.168/16;

}

}

 

建立辅名字服务器

只需将区数据文件类似于

zone  “yncnc.net” in {

       type master;

       file “db.yncnc.net”;

}

改为

zone  “yncnc.net” in {

       type slave;

       file “bak.yncnc.net”;

       master {221.3.131.4;};

       //其主域名服务器的地址

}

 

DNS中电子邮件 MX记录的配置

yncnc.net. IN  MX  0   mail.yncnc.net

yncnc.net. IN  MX  10   mail2.yncnc.net

//假设存在两个邮件服务器,其中0 ,10 是配置的优先级,值越小优先级越高

注意配置的优先级 和 必须使用规范名,不能使用别名

 

配置解析器

 

主要resolv.conf文件

search指令:搜索列表,支持8个域名

nameserver指令:查询的名字服务器的地址,最多三个

options指令:debug,ndots,attempts,timeout,rotate,no-check-names几个选项

sortlist指令:指定优先使用的子网和网络,最多十个

domain指令:指定本地域名

 

 

本文地址:http://com.8s8s.com/it/it37202.htm