本文以Red Hat Enterprise Linux AS v4为平台。
一、资料参考与准备:
DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
一些标记解释:
@ —-这个符号意味着SOA与域是一样的
IN —–IN是提供IP地址的域名类当,与A,PTR或CNAME记录一起使用时可将域名映射为IP地址,反之一样 NS —–域名服务器指定的区域DNS服务器的域名或IP地址
MX —-MX记录定义何种机器来为域或单个主机传送电子邮件,为域定义就是告诉每个人将邮件发送给该域中要与之通信的人或机器
SOA—–Start Of Authority 指明其后的域名定义了主域名服务器及该域的联系点的电子邮件地址。
PTR—将IP地址映射为主机名,PTR记录执行与A及记录相反的过程
A—-将主机名映射为其IP地址
先从http://www.isc.org/products/BIND/下载bind安装包或者光盘中/cdrom/RedHat/RPMS可以找到相关的安装包。
二、服务器的安装与配置
主要配置文件解释:
#rpm -ql bind|More
列出该软件包的所有文件和位置。
配置文件一般在/etc/named.conf
数据库文件一般在/var/named下
以下是这次配置DNS服务器的几个配置文件:
/etc/named.conf
/在NAMED.CONF配置文件中使用//和/* */来进行注释,
ptions { /*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到/var/named下,在这里你还可以指定端口等等。不指定则端口是53。
*/
directory “/var/named”;
}; //
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone “.” IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区。
type hint;
/*在这里type类型有三种,它们分别是master、slave和hint它们的含义分别是:
master:表示定义的是主域名服务器
slave:表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
*/
file “named.ca”; //用来指定具体存放DNS记录的文件
};
zone “localhost” IN { //定义一具域名为localhost的正向区域
type master;
file “localhost.zone” ;
allow-update { none; };
};
zone “xuanfei.net” IN { //指定一个域名为test.net的正向区域
type master;
file “test.net”
allow-update { none;};
};
zone “0.0.127.in-addr.arpa” IN { //定义一个IP为127.0.0.*的反向域区
type master;
file “named.local”;
allow-update { none; };
};
zone “63.45.10.in-addr.arpa” IN { //定义一个IP为10.45.63.*反向域区
type master;
file “10.45.63”;
/var/named/test.net文件
@ IN SOA linux.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
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
*/
8400 )
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记录。
*/
IN NS linux
IN MX 10 linux
linux IN A 10.45.63.185
it IN A 10.45.63.188
www IN CNAME linux
/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名
/var/named/10.45.63
@ IN SOA linux.xuanfei.net. root.xuanfei.net. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.xuanfei.net.
/*以上的各关键字的含义跟xuanfei.net是相同的
185 IN PTR linux.xuanfei.net.
188 IN PTR it.xuanfei.net.
/*
上面的第一列表示的是主机的IP地址。省略了网络地址部分。如185完整应该是:
10.45.63.185
PTR:表示反向记录
最后一列表示的是主机的域名。
三、启用与测试
启动服务:
#/etc/init.d/named startd
测试工具:
linux:host dig ping
win:ping nslookup
客服端配置:
linux:修改/etc/resolv.conf
win:双击本地连接==》打开TCP/IP属性==》选中自定义DNS服务器地址
四、小结
DNS服务看上去简单,但其实里边是一大学问,想要搞清楚里边的细节,还得花很大的功夫!其应用也非常广可用在电信的的交换技术上、也可应用在IPv6的Anycasting上、Net to Net的VPN等领域。还有重要的安全防范领域!
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
得有多勇敢才能虚拟IT基础架构服务?
多数IT企业已经将不太重要的服务进行了虚拟,而一些比较关键的基础架构服务仍然在物理主机上。是时候对这些服务进行虚拟了?
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。