分类:
2009-05-22 13:29:13
文件:
DNS截图.rar
大小:
79KB
下载:
下载
DNS服务器的设置
文件:
DNS截图.rar
大小:
70KB
下载:
下载
DNS服务器是为了网络上的主机提供域名解析的服务的服务器。Solaris 10虽然自带了BIND 9.2.4版本,但它并不是Sun公司的产品,Internet Software Consortium负责BIND软件的更新,我们不妨到网站下载最新版本的BIND软件,因为新的版本的软件可以防止某些漏洞。
下面我们来介绍如何配置DNS服务器。如果你使用Solaris 10系统自带的软件,请从第7步看起。
(1)为了下载最新的BIND软件,我们到http:///products/BIND/ 下载,本例子下载的是bind-9.3.1.tar.gz。
(2)将下载的软件放到系统中的某个目录下,本例中放在/home/bind目录下。
#cd/home/bind
(3)进入软件存放目录,对软件解压缩到/usr/local/src。
#tar -xzfz bind-9.3.1.tar.gz -C /usr/local/src
(4)进入安装目录。
# cd bind-9.3.1
(5)编译BIND软件。
# ./configure
# make
# make install
(6)生成的可执行文件位于/usr/local/sbin目录下。最重要的可执行文件为named和rndc。
(7)在/usr/sbin目录中创建可执行文件的软链接。
# ln -s /usr/local/sbin/rndc /usr/sbin/rndc
# ln -s /usr/local/sbin/named /usr/sbin/named
(8)在BIND9命名服务控制工具rndc和BIND8的控制工具ndc不兼容,rndc有一个控制文件,就是rndc.conf文件,其作用就是指定管理服务器和使用的加密算法。它是由rndc-confgen命令所产生的。下面就是创建rndc.conf配置文件的步骤:
# /usr/local/sbin/rndc-confgen > /etc/rndc.conf
# cat /etc/rndc.conf
输出为:# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "4fBARaySHEW4mnUsDsr9aQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "4fBARaySHEW4mnUsDsr9aQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
(9)创建rndc.key文件。将rndc.conf文件中注释部分拷贝生成如下文件:
# vi /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "4fBARaySHEW4mnUsDsr9aQ==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
检查rndc是否正常工作:
#/usr/local/sbin/named -g
Jan 11 11:56:45.075 starting BIND 9.2.3 -g
Jan 11 11:56:45.076 using 1 CPU
Jan 11 11:56:45.079 loading configuration from '/etc/named.conf'
......
#/usr/local/sbin/rndc status
(10)编辑named.conf配置文件。
# vi /etc/named.conf
内容如下:
bash-3.00# more /etc/named.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.root";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "duanfenglei.com" IN { //新加duanfenglei.com的域
type master;
file "duanfenglei.com.zone";
allow-update { none; };
};
zone "104.168.192.in-addr.arpa" IN { //新加域的反向解析
type master;
file "named.192.168.104";
allow-update { none; };
};
include "/etc/rndc.key";
先让我们了解这个文件上面用来做注解的符号是“//”,而不是一般Shell script的“#”;另外,“/*”与“*/”之间则注解一整段文字。同时,每一个完整的设定都以“ ;”结尾。
上面的部分是在这个文件开头的options设定的,首先用directory指定了named的资源记录(RR - Resource Record文件目录所在位置为:“/var/named”。也就是说,它会到这个目录下面寻找DNS记录文件)。所以,我们在后面部分所指定的文件,就无须使用绝对路径了,但它们一定要放在这个目录下面。
那一段被注释文字,如果你仔细阅读一下,它大致意思是如果你要设定的 DNS 伺服器和client之间隔着防火墙的话,要将“//query-source address * port 53;”前面的注解符号“//”拿掉(当然,也必须要设定好你的火墙)。不过,这只对早期的版本有影响,而在bind 8.1之后则无须担心这个设定。
接下来再让我们看下一段句子:
通过这几行语句,我们为named定义了DNS系统中的根区域“.”(root zone)的设定,同时它是一个internet(IN)的区域类别。这里还指定了root zone的服务器种类(type)为“hint”(也只有这个zone会使用这样的种类)。最后,用file指定这个区域记录文件为:“named.root”,也就是“/var/named/named.root”文件。
在root zone后面,你应该还会看到如下这两段:
这里是定义出关于本机名称的DNS解释:第一个zone是localhost的正解zone,其服务器种类是master,记录档名称是localhost.zone(在/var/named目录下面),但这个zone不允许客户主机(或服务器)自行更新DNS的记录。而第二个zone则是本机区域的反向解析zone。
再看下面的两段,这两段是duanfenglei.com域的正向和反向解析。
zone "duanfenglei.com" IN { //新加duanfenglei.com的域
type master;
file "duanfenglei.com.zone";
allow-update { none; };
};
zone "104.168.192.in-addr.arpa" IN { //新加域的反向解析
type master;
file "named.192.168.104";
allow-update { none; };
};
include "/etc/rndc.key";
最后一行是bind 9.x版本的新功能,用来进行区域转移或DNS更新所用的加密处理。
include "/etc/rndc.key";
(11)创建/var/named目录。
# mkdir /var/named
# cd /var/named
(12)匿名登录到ftp站点FTP.RS.INTERNIC.NET,获取/domain目录下的named.root文件,将该文件置于/var/named目录下。
(13)创建localhost.zone文件。
# vi /var/named/localhost.zone
bash-3.00# more localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
(14)创建named.local文件。
# more named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
2005022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
(15)创建duanfenglei.com.zone文件。
# vi duanfenglei.zone
bash-3.00# more duanfenglei.com.zone
$TTL 86400
@ IN SOA solaris10.duanfenglei.com. root.duanfenglei.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS solaris10.duanfenglei.com.
mail IN A 192.168.104.22
@ IN MX 5 solaris10.duanfenglei.com.
www IN A 192.168.104.22
www IN A 192.168.104.16
duanfenglei.com. IN A 192.168.104.22
(16)创建named.192.168.104文件。
# vi named.192.168.104
bash-3.00# more named.192.168.104
$TTL 86400
@ IN SOA solaris10.duanfenglei.com. root.duanfenglei.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS solaris10.duanfenglei.com
mail IN PTR solaris10.duanfenglei.com
@ IN MX 5 solaris10.duanfenglei.com
www IN PTR solaris10.duanfenglei.com
16 IN PTR dns.duanfenglei.com.
22 IN PTR dns.duanfenglei.com
(17)在Solaris 10操作系统中启动DNS服务。
#svcadm enable /network/dns/server
查看:
# svcs -l /network/dns/server
fmri svc:/network/dns/server:default
name Internet domain name server (DNS)
enabled true
state online
next_state none
restarter svc:/system/svc/restarter:default
contract_id 25
dependency require_all/none svc:/system/filesystem/minimal (online)
dependency require_all/none file://localhost/etc/named.conf (online)
dependency require_any/error svc:/network/loopback (online)
dependency optional_all/error svc:/network/physical (online)
(18)测试DNS反向解析是否成功。
# host 192.168.104.16
9.9.168.192.in-addr.arpa domain name pointer dns.duanfenglei.com.
(19)测试DNS解析是否成功。
# nslookup
>
Server: 192.168.104.16
Address: 192.168.104.16#53
Name:
Address: 192.168.104.16
>
出现上面的提示,说明DNS服务已经启动成功。