本文以RedHatEnterpriseLinuxASv4为平台
一、资料参考与准备:
DNS是指:域名服务器(DomainNameServer)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
一些标记解释:
@——这个符号意味着SOA与域是一样的
IN——IN是提供IP地址的域名类当,与A,PTR或CNAME记录一起使用时可将域名映射为IP地址,反之一样NS——域名服务器指定的区域DNS服务器的域名或IP地址
MX——MX记录定义何种机器来为域或单个主机传送电子邮件,为域定义就是告诉每个人将邮件发送给该域中要与之通信的人或机器
SOA——StartOfAuthority指明其后的域名定义了主域名服务器及该域的联系点的电子邮件地址。
PTR——将IP地址映射为主机名,PTR记录执行与A及记录相反的过程
A——将主机名映射为其IP地址
先从下载bind安装包或者光盘中/cdrom/RedHat/RPMS可以找到相关的安装包。
二、服务器的安装与配置
#rpm-ivhbind*.rpm#vi/etc/name.conf------------------------------------directory"/var/named";};controls{inet127.0.0.1allow{localhost;}keys{rndckey;};};zone"."IN{file"named.ca";};zone"localhost"IN{typemaster;file"localhost.zone";allow-update{none;};};zone"xuanfei.net"IN{typemaster;file"test.net”allow-update{none;};};zone"0.0.127.in-addr.arpa"IN{typemaster;file"named.local";allow-update{none;};};zone"63.45.10.in-addr.arpa"IN{typemaster;file"10.45.63";-----------------------------------------------------------#vitest.zone-----------------------------------------------------------$ttl1D@INSOAlinux.xuanfei.net.root.xuanfei.net.(10538911623H15M1W1D)INNSxuanfei.net.INMX5mail.xuanfei.net.wwwINA10.45.63.185itINA10.45.63.188----------------------------------------------------------#vi/var/named/10.45.63----------------------------------------------------------@INSOAlinux.xuanfei.net.root.xuanfei.net.(1997022700;Serial28800;Refresh14400;Retry3600000;Expire86400);MinimumINNSlinux.xuanfei.net.----------------------------------------------------------
主要配置文件解释:
#rpm-qlbind|More
列出该软件包的所有文件和位置。
配置文件一般在/etc/named.conf
数据库文件一般在/var/named下
以下是这次配置DNS服务器的几个配置文件:
/etc/named.conf
/在NAMED.CONF配置文件中使用//和/**/来进行注释,
ptions{/*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DIRECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到/var/named下,在这里你还可以指定端口等等。不指定则端口是53
*/
directory"/var/named";
};//
//
//acachingonlynameserverconfig
//
controls{
inet127.0.0.1allow{localhost;}keys{rndckey;};
};
zone"."IN{//在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区
typehint;
/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:
master:表示定义的是主域名服务器
slave:表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
*/
file"named.ca";//用来指定具体存放DNS记录的文件
};
zone"localhost"IN{//定义一具域名为localhost的正向区域
typemaster;
file"localhost.zone";
allow-update{none;};
};
zone"xuanfei.net"IN{//指定一个域名为test.net的正向区域
typemaster;
file"test.net“
allow-update{none;};
};
zone"0.0.127.in-addr.arpa"IN{//定义一个IP为127.0.0.*的反向域区
typemaster;
file"named.local";
allow-update{none;};
};
zone"63.45.10.in-addr.arpa"IN{//定义一个IP为10.45.63.*反向域区
typemaster;
file"10.45.63";
/var/named/test.net文件
@INSOAlinux.test.net.root.test.net.(SOA表示授权开始
/*上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表test.net,即表示一个域名记录定义的开始。而linux.test.net则是这个域的主域名服务器,而webmaster.test.net则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
2003012101;serial(d.adams)/*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。
*/
28800;refresh
/*定义的是以为单位的刷新频率即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
*/
7200;retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试
*/
3600000;expiry
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的