分类: LINUX
2011-06-17 13:50:51
Linux下DNS服务软件bind简介
Linux系统下架设DNS服务器通常是使用Bind程 序来实现的。Bind是Berkeley Internet Name Domain Service的简写,是一款架设DNS服务器的开放源代码软件。Bind原本是美国DARPA资助伯克里大学开设的一个研究生课题,后来经过多年的变化 发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数的DNS服务器都是用Bind来架设的。
Bind经历了第4版、第8版和最新的第9版,第9版修正了以前版本中的许多错误,并提升了执行时的效能。Bind能够运行在当前大多数的操作系统系统平台之上。
bind安装
[root@b ~]# rpm -ivh /media/Server/bind-9.3.6-4.P1.el5_4.2.i386.rpm
warning: /media/Server/bind-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:bind ########################################### [100%]
[root@b ~]# rpm -ivh /media/Server/caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm
warning: /media/Server/caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:caching-nameserver ########################################### [100%]
[root@b ~]#
named服务的配置
在Redhat 5的版本中/etc/named.conf文件已经不存在,改用/etc/named.caching-nameserver.conf文件替代,安装好 named服务之后先修改bind的配置文件named.caching-nameserver.conf
[root@c ~]# vi /etc/named.caching-nameserver.conf
options {
listen-on port 53 { 192.168.0.101; }; //定义监听dns服务的地址,也就是dns服务器的地址
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
query-source port 53;
# query-source-v6 port 53;
# allow-query { localhost; }; //运行使用该dns服务的地址
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
# match-clients { localhost; }; //允许使用的该dns服务的客户端
# match-destinations { localhost; }; //允许用户解析的dns目的地址
recursion yes;
include "/etc/named.rfc1912.zones";
};
然后修改/etc/named.rfc1912.zones 文件,添加正向及反向的解析域,这里我建立了一个liusuping.com的正向及反向解析域,如下面的代码
zone "liusuping.com" IN {
type master;
file "liusuping.com.zone"; //定义正向解析域的文件
allow-update { none; };
};zone "0.168.192.in-addr.arpa" IN {
type master;
file "liusuping.com.local"; //定义反向解析域的文件
allow-update { none; };
};
接下来就是创建两个解析配置文件,这里记录了正向及反向的域名解析记录。
正向解析记录
[root@c ~]# vim /var/named/liusuping.com.zone
$TTL 86400
@ IN SOA liusuping.com. root.liusuping.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimumIN NS 192.168.0.101
IN A 192.168.0.101
dns IN A 192.168.0.101
www IN A 192.168.0.101
@ IN MX 10 192.168.0.101
ftp IN CNAME .
反向解析记录
[root@c ~]# vim /var/named/liusuping.com.local
$TTL 86400
@ IN SOA liusuping.com. root.liusuping.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns.liusuping.com.
101 IN PTR dns.liusuping.com.
101 IN PTR .
注意:所有的郁闷后面都需要跟一个英文符号的"."
以上配置做好之后重启named服务
[root@c ~]# service named restart
停止 named:[确定]
启动 named:[确定]
[root@c ~]#
使用nslookup 进行DNS测试
正向记录
[root@c ~]# nslookup
>
Server: 192.168.0.101
Address: 192.168.0.101#53Name:
Address: 192.168.0.101
CNAME别名测试
>
Server: 192.168.0.101
Address: 192.168.0.101#53canonical name = .
Name:
Address: 192.168.0.101
mx记录测试
> set type=mx
> liusuping.com
Server: 192.168.0.101
Address: 192.168.0.101#53liusuping.com mail exchanger = 10 192.168.0.101.liusuping.com.
反向测试
> 192.168.0.101
Server: 192.168.0.101
Address: 192.168.0.101#53101.0.168.192.in-addr.arpa name = dns.liusuping.com.
101.0.168.192.in-addr.arpa name = .
至此一台基本的DNS服务器搭建完成。