二、服务器的安装和配置
#rpm -ivh bind*.rpm
#vi /etc/name.conf
------------------------------------
directory '/var/named';
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone '.' IN {
file 'named.ca';
};
zone 'localhost' IN {
type master;
file 'localhost.zone' ;
allow-update { none; };
};
zone 'xuanfei.net' IN {
type master;
文件" test.net "
allow-update { none;};
};
zone '0.0.127.in-addr.arpa' IN {
type master;
file 'named.local';
allow-update { none; };
};
zone '63.45.10.in-addr.arpa' IN {
type master;
file '10.45.63';
-----------------------------------------------------------
#vi test.zone
-----------------------------------------------------------
$ttl1D
@在SOA linux.xuanfei.net .root.xuanfei.net .(
1053891162
3H
15M
1W
1D )
在南宣飞网.
IN MX5mail.xuanfei.net.
wwwIN A 10.45.63.185
It is in 10.45.63.188.
--------------------------------------------------------------------------------
#vi /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.
--------------------------------------------------------------------------------
主配置文件说明:
#rpm -ql bind|More
列出包的所有文件和位置。
配置文件通常位于/etc/named.conf中。
数据库文件通常位于/var/named下。
下面是这次配置DNS服务器的几个配置文件:
/etc/named.conf
/对命名的中的注释使用//和/* */。CONF配置文件。
OPTIONS {/* OPTIONS用于定义一些影响整个DNS服务器的环境。例如,这里的目录用于指定该文件中指定的文件的路径。
比如在这里它被赋给/var/named,在这里你还可以指定端口等等。如果未指定,端口为53。
*/
directory '/var/named';
}; //
//
//a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
区域“.”在{//这个文件中,一个zone关键字用来定义一个域,一个zone关键字定义一个域。
type hint;
/*这里有三种类型,它们是主类型、从类型和提示类型,它们的含义是:
Master:表示主域名服务器已定义。
Slave:表示定义了辅助域名服务器。
提示:表示它是Internet中的根域名服务器。
*/
文件“named . ca”;//用于指定存储DNS记录的文件。
};
{//中的区域“localhost”定义了一个域名为localhost的转发区域。
type master;
file 'localhost.zone' ;
allow-update { none; };
};
{//中的区域“xuanfei.net”指定域名为test.net的转发区域。
type master;
文件" test.net "
allow-update { none;};
};
{//中的区域“0.0.127.in-addr.arpa”定义了一个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 等领域。
还有重要的安全防范领域!还我们继续努力学习啊!)