Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3386346
  • 博文数量: 631
  • 博客积分: 10716
  • 博客等级: 上将
  • 技术积分: 8397
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-01 22:35
文章分类

全部博文(631)

文章存档

2020年(2)

2019年(22)

2018年(4)

2017年(37)

2016年(22)

2015年(1)

2013年(12)

2012年(20)

2011年(19)

2010年(20)

2009年(282)

2008年(190)

分类:

2009-05-22 13:29:13

文件: DNS截图.rar
大小: 79KB
下载: 下载
文件: DNS截图.rar
大小: 70KB
下载: 下载
DNS服务器的设置

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目录下。最重要的可执行文件为namedrndc

7)在/usr/sbin目录中创建可执行文件的软链接。

# ln -s /usr/local/sbin/rndc /usr/sbin/rndc

# ln -s /usr/local/sbin/named /usr/sbin/named

8)在BIND9命名服务控制工具rndcBIND8的控制工具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解释:第一个zonelocalhost的正解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服务已经启动成功。

阅读(2723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~