奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 操作系统 >> Unix >> OpenBSD2.8服务器配置实务手册(2)
操作系统
Windows XP
Windows 2000
Windows Vista
Windows 2003
Windows 9x
DOS
Linux
Unix
  • FreeBSD从零学起图文手

  • FreeBSD服务器的安装与

  • FreeBSD服务器的安装与

  • FreeBSD服务器的安装与

  • FreeBSD+IPFILTER实现

  • FreeBSD下vmware的网络

  • FreeBSD 5.x 中 gbfs 

  • FREEBSD下VINUM做软RA

  • OpenBSD2.8服务器配置实务手册(2)
    字体:

    中华网络安全联盟    作者:佚名    来源:转载    时间:2006-3-31

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


    首先解释一下域名服务(DNS-Domain Name Server)的作用。其实,链接到网络的电脑,只需要知道IP地址就可以实现访问。但是谁会去记住129.128.5.191这个IP地址是代表OpenBSD的服务器呢?当然是www.openbsd.org容易记忆得多了。域名服务所实现的作用,就是把www.openbsd.org这样的名字转换成电脑可以识别的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=””

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.