域名服务-dns配置全文
在Linux中,域名服务(DNS)是由柏克莱网间名域(Berkeley Internet Name Domain——BIND)软件实现的。BIND是一个客户/服务系统,它的客户方面称为转换程序(resolver),它产生域名信息的查询,将这类信息发送给服务器,DNS软件回答转换程序的查询。BIND的服务方面是一个称为named(读作“name”“d”)的守护进程。
我们将讨论三种差不多BIND配置任务:
配置BIND转换程序。
配置BIND域名服务。
建立服务器数据库文件,称为“区文件(zone file)。
前面我们介绍过,术语“区(zone)”往往能够与单词“域(domain)”互换使用,但那个地点却有一些区不,“区”是指域数据库文件,而“域”则比较通用。在本书中,域是用域名定义的域结构中的一部分,而区则是域数据库文件中包含域信息的集合,包含域信息的文件称为“区文件”。
DNS的作用是把IP地址转化为代表主机、网络和邮件不名的助记名。它把整个Internet IP地址和名字空间分解为不同的逻辑组来做这项工作。每个组对它所拥有的运算机和其他信息具有操纵权。
DNS服务器的类型
BIND能够配置成以几种不同的方法运行的DNS,常见的BIND配置是唯转换程序系统、唯高速缓存系统、主服务器和辅助服务器。
转换程序是一段要求域名服务器提供域信息的程序,在Linux系统中,它是作为一个库程序来实现的,不是一个单独的客户程序。在唯转换程序系统中,仅使用转换程序,并不运行域名服务器。这种系统是专门容易配置的,最多只需要设置/f文件。其它三个BIND配置选项差不多上用于named服务软件的。
唯高速缓存服务器 唯高速缓存服务器(caching-only server)可运行域名服务器软件然而没有域名数据库软件。它从某个远程服务器取得每次域名服务器查询的回答,一旦取得一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。所有的域名服务器都
按这种方式使用高速缓存中的信息,但唯高速缓存服务器则依靠于这一技术提供所有的域名服务器信息。唯高速缓存服务器不是权威性服务器,因为它提供的所有信息差不多上间接信息。
关于唯高速缓存服务器只需要配置一个高速缓存文件,但最常见的配置还包括一个回送文件,这或许是最常见的域名服务器配置。接着才是唯转换程序配置,它是最容易配置的。
主服务器 主服务器(primary name server)是特定域所有信息的权威性信息源。它从域治理员构造的本地磁盘文件中加载域信息,该文件(区文件)包含着该服务器具有治理权的一部分域结构的最精确信息。主服务器是一种权威性服务器,因为它以绝对的权威去回答对它域的任何查询。
配置主服务器需要一整套配置文件,包括正规域的区文件(named.hosts)和反向域的区文件(v)、引导文件(f)、高速缓存(named.ca)和回送文件(named.local),其它的配置都不需要如此一整套文件。
辅助域名服务器 辅助域名服务器(secondary name server)可从主服务器中转移一整套域
信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件储备在辅助服务器中。这种转移称为“区文件转移”。在辅助域名服务器中有一个所有域信息的完整拷贝,能够有权威地回答对该域的查询,因此,辅助域名服务器也称作权威性服务器。
配置辅助域名服务器不需要生成本地区文件,因为能够从主服务器中下载该区文件。然而其它的文件是确是需要的,包括引导文件、高速缓存文件和回送文件。
一个域名服务器能够是这类配置中的任何一种,但经常是将多种配置类型的元素组合在一起。然而所有的系统都要运行转换程序。
DNS常用术语
DNS是一个专门复杂的概念,表1列出了常用的DNS术语。
表1 常用DNS术语
域:代表网络一部分的逻辑实体或组织
域名:主机名的一部分,它代表包含那个主机的域。它能够和域交换使用
主机:网络上的一台运算机
节点:网络上的一台运算机
域名服务器:提供DNS服务的运算机,它将DNS名字转化为IP地址
解析:把一个DNS服务器转化为与其相映的IP地址的过程
解析器:从域名服务器中提取DNS信息的程序或库子程序
反向解析:将给出的IP地址转化为其相映的DNS名字
欺诈:使网络看上去仿佛具有不同的IP地址或域名的行为
在概念上能够把DNS分为三个部分:
域名空间 这是标识一组主机并提供他们的有关信息的树结构的详细讲明。树上的每一个节点都有它操纵下的主机的有关信息的数据库。查询命令试图从那个数据库中提取适当的信息。简单地讲,这只是所有不同类型信息的列表,这些信息是域名、IP地址、邮件不名和那些在DNS系统中能查到的内容。
域名服务器 它们是保持并爱护域名空间中的数据的程序。每个域名服务器含有一个域名空间子集的完整信息,并储存其它有关部分的信息。一个域名服务器拥有它操纵范畴的完整信息。操纵的信息按区进行划分,区能够分布在不同的域名服务器上,以便为每个区提供服务。每个域名服务器都明白每个负责其他区的域名服务器。如果来了一个要求,它要求给定域名服务器负责的那个区的信息,那么那个域名服务器只是简单地返回信息。然而,如果要求是不同区的信息,那么那个域名服务器就要与操纵该区的相映服务器联系。
解析器 解析器是简单的程序或子程序库,它从服务器中提取信息以响应对域名空间中主机的查询。
配置转换程序
使用DNS的第一步是在用户的运算机上配置转换程序,即让机器能够能够从DNS服务器中猎取域名解析/反解析服务。转换程序不是一个单独而明确的处理进程,而是网络进程调用的一个标准C程序库。如果本地系统不运行named,就必须配置本地转换程序。
转换程序操纵文件/f
/
f是用来操纵本地转换程序的文件的设置。该文件告诉转换程序使用哪些服务、按照什么顺序进行。该文件的字段能够用空格或制表符分隔。字符“#”表示注释行。表2是可在f中指定的选项。
表2 /f文件的配置选项
hosts 试图通过查本地/etc/hosts文件来解析名字
bind 使用DNS域名服务器来解析名字
nis 使用网络信息服务(NIS)协议来解析主机名字
高速查询multi:以off和on为参数。与host查询一起使用,用来确定一台主机是否在/etc/hosts文件中指定了多个IP地址
nospoof:如果用逆向解析出与指定的地址匹配的主机名,对返回的地址进行解析以确认它确实与您查询的地址相配。为了防止“骗取”IP地址,通过指定nospoof on来承诺这种功能
alert:以off和on为参数。如果打开,任何试图骗取IP地址的行为都通过syslog工具进行记录
trim:以域名为参数。在/etc/hosts中查名字前,trim删除那个域名。着使你只把差不多主机名放在/f中而不指定域名
下面那个例子是主机vlager上的/f文件:
# /f
# We have named running, but no NIS (yet)
order bind hosts
# Allow multiple addrs
multi on
# Guard against spoof attempts
nospoof on
# Trim local domain (not really necessary).
转换程序/配置文件/f
当配置转换程序使用BIND域名服务查询主机时,我们必须告诉转换程序使用哪一个域名服务器。用来完成这项任务的工具确实是/f文件。/f操纵转换程序使用DNS解析主机名使用的方式,它能够明确地定义系统的配置,承诺我们命名由于缺省服务器不响应而使用的备份服务器。因此,尽管会增加系统负荷,但在某些场合使用f是专门受欢迎的。
/f是一个简单而易读的文件。在/f中使用的命令,具有系统专用的形式,但一样都支持domain和nameserver两项命令。
发布评论