Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1830921
  • 博文数量: 237
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-30 10:33
文章分类

全部博文(237)

文章存档

2011年(1)

2007年(59)

2006年(177)

我的朋友

分类: BSD

2006-06-23 10:40:39

OpenBSD全能服务器安装手册之域名解析篇

 

 

第二课、设置域名解释服务 

??首先解释一下域名服务(DNS-Domain Name Server)的作用。其实,链接到网络的电脑,只需要知

IP地址就可以实现访问。但是谁会去记住129.128.5.191这个IP地址是代表OpenBSD的服务器呢?当然

容易记忆得多了。域名服务所实现的作用,就是把这样的名字转换

成电脑可以识别的129.128.5.191这样的IP地址。 

??所以域名解释服务应当包含两种转换过程:从名字到IP地址(正向解释);从IP地址到名字(反向

解释)。理解了这些基本感念,配置域名解释服务得时候就会比较容易了。 

 

第一节、设置named.boot文件 

??OpenBSD 2.8系统在安装完成后就已经有域名解释服务程序named 4.9.7-REL,只是需要人工设定启

动。named的配置文件在/var/named目录里面,文件名是named.boot。一个简单的,可以使用的(当然是

和手册的例子联系起来啦!)的named.boot的文件内容如下: 

directory /namedb 

cache . root.cache 

primary 0.0.127.IN-ADDR.ARPA localhost.rev 

primary 32.168.192.IN-ADDR.ARPA 01tech.rev 

primary 01tech.nat 01tech 

??可以用vi工具来编辑这个文件(vi的使用方法请参考『附录4』)。解释一下这个文件各行的含义: 

??第一行用于指定域名解释文件所在目录,其实真正的域名解释文件是放在/var/named/namedb目录里

面,因为我们将采用chroot的方式(执行程序的时候切换到程序需要的用户,并以改用户的根目录作为

根目录的方式)执行named,所以这里是/namedb。 

??第二行指定了缓存文件,对于曾经访问过的域名,将会记录在缓存文件里面,以后查询的时候就会

快很多。缓存文件的文件名是root.cache。 

??第三行指定了对于本机的域名反解文件。0.0.127.IN-ADDR.ARPA的写法其实就是说要反过来求

127.0.0.x(x的范围是1~255)的对应名称。相关的解释文件是localhost.rev 

??第四行和第三行同理,就是要求192.168.32.x的对应名称。相关的解释文件是01tech.rev 

??第五行是正解,指定凡是域名为01tech.nat的名称都交给01tech文件进行解释。 

 

第二节、配置域名解释文件 

??然后,我们看看/var/namedb目录里面的文件的内容,在系统没有配置域名解释服务的时候,默认

只有两个文件:localhost.rev和root.cache,其中的localhost.rev并非我们需要的内容,要自行改写,

改写后的内容如下: 

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 

14 ;Serial 

3600 ;Refresh 

900 ;Retry 

3600000 ;Expire 

3600) ;Minimum 

IN NS moo.01tech.nat. 

1 IN PTR localhost. 

??解释一下这个文件的构成吧!其实这个文件由三个RR(Resource record)构成,或者我们用表格的

方式来分析,会比较容易理解吧: 

[ name ] [ ttl ] [ class ] type data 

@ 省略 IN SOA …… 

省略 省略 IN NS …… 

1 省略 IN PTR …… 

Name必须为主机名或者域名,当使用@时代表缩写,就是和named.boot文件中指定的一样,在这里就代

127.0.0.x了。 

ttl是指此条数据的有效保存期限,通常都忽略掉,采用默认的ttl值。 

class指定网络类型,IN代表Internet,基本上都不会使用别的类型。 

type常见的有SOA、NS、A、PTR、MX、CNAME等。 

SOA(Start Of Authority)后面跟负责这个域的主机,管理员邮箱,序列号,副解释域更新间隔,副解

释域更新失败重试间隔,主解释域失败时副解释域提供数据的有效期限,其他域名解释服务器保留本域

名解释服务器的时间。需要注意的是,在主机和管理员邮箱后一定不能缺少“.”否则系统会自动加上

完整的域名,例如只写moo的话,系统会添加为moo.01tech.nat。所以也可以简单的把SOA语句写

SOA moo root.moo (……)。 

NS(Name Server)后面跟指定的提供域名解释服务的主机名 

PTR(Pointer)后面是对应于前面IP地址的名称。 

A(Address)后面是对应于前面的名称的IP地址。需要注意正解的A和反解的PTR的记录必须相符,否则会

造成DNS查询不正常,系统变慢。 

CNAME用于建立别名,这样访问别名的时候,就会转为访问正式的名称。 

MX记录的是一串目的地址列表,用于告诉邮件服务器传送信件的优先顺序。 

对于A、CNAME、MX的使用方法将会在后面的正解文件中看到,以后将不再作出解释。 

??01tech.rev的文件内容和localhost.rev文件基本相同,如下: 

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 

14 ;Serial 

3600 ;Refresh 

900 ;Retry 

3600000 ;Expire 

3600) ;Minimum 

IN NS moo.01tech.nat. 

1 IN PTR moo.01tech.nat. 

??01tech的内容如下: 

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. ( 

14 ;Serial 

3600 ;Refresh 

900 ;Retry 

3600000 ;Expire 

3600) ;Minimum 

IN NS moo.01tech.nat. 

IN MX 5 pop.01tech.nat. 

moo IN A 192.168.32.1 

www IN CNAME moo 

pop IN CNAME moo 

smtp IN CNAME moo 

localhost. IN CNAME moo 

01tech.nat. IN CNAME moo 

第三节、测试DNS 

??好了,说了一大堆的东西,需要好好消化,不过我们还是看看我们的DNS是否正常吧,通过以下

的命令启动named: 

named –t /var/named 

??然后用nslookup来检查DNS是否正常。以下是nslookup运行的结果,任何时候如果域名不能解释,

通过按Ctrl+C可以中断查询。 

nslookup 

Default Server: moo.01tech.nat 

Address: 192.168.32.1 

>pop 

Server: moo.01tech.nat 

Address: 192.168.32.1 

Name: moo.01tech.nat 

Address: 192.168.32.1 

Aliases: pop.01tech.nat 

>exit 

??如果您完全按照手册的例子来配置您的DNS,但是查询却没有这样的结果,那么您需要重新再来,

好好吃透上面的说明了。 

 

第四节、在启动系统的时候自动启动DNS 

??要使系统在启动时自动启动DNS服务非常简单,修改/etc/rc.conf文件里面的相关项就可以了 

named_flags=NO 改为 named_flags=”” 

 

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