📄 1582.html
字号:
<br>
file "named.ca";<br>
<br>
};<br>
<br>
<br>
<br>
zone "0.0.127.in-addr.arpa" {<br>
<br>
type master;<br>
<br>
file "named.local";<br>
<br>
directory这一行告诉named到哪里去找寻文件。所有其后命名的文件都将是相对于此目录的。该文件告诉named去维持一个域名服务器响应的高速缓存,并利用named.ca文件的内容去初始化该高速缓存。该高速缓存初始化文件的名字可以是任何名字,但一般使用/var/named/named.ca。并不是在该文件中使用一个hint语句就能使它成为唯高速缓存配置,几乎每一种服务器的配置都要用到cache语句,而是因为没有master和slave语句才使它成为一个唯高速缓存配置。<br>
<br>
但是,在我们这个例子中却有一个master语句。事实上,几乎在每一个唯高速缓存的配置文件中都有这一个语句,它将本地服务器定义为它自己的回送域的主服务器,并假定该域的信息存储在named.local文件中。这个回送域是一个in-addr.arpa域(in-addr.arpa域用于指定逆向解析,或IP地址到DNS名字解析),它将地址127.0.0.1映射为名字localhost。转换自己的回送地址对于大多数人都是有意义的,因为大多数的named.conf文件都包含这一项。<br>
<br>
在大多数唯高速缓存服务器的配置文件中,这种directory、master和hint语句是唯一使用的语句,但也可以增加其他的语句,forwarders和slave等语句都可以使用。<br>
2.主服务器和辅助服务器的配置<br>
<br>
我们虚构的vbrew.com是举例说明主服务器和辅助服务器的基础,下面是将vlager定义为vbrew.com域的主服务器的named.conf文件:<br>
<br>
// generated by named-bootconf.pl<br>
<br>
<br>
<br>
options {<br>
<br>
directory "/var/named";<br>
<br>
/*<br>
<br>
* If there is a firewall between you and nameservers you want<br>
<br>
* to talk to, you might need to uncomment the query-source<br>
<br>
* directive below. Previous versions of BIND always asked<br>
<br>
* questions using port 53, but BIND 8.1 uses an unprivileged<br>
<br>
* port by default.<br>
<br>
*/<br>
<br>
// query-source address * port 53;<br>
<br>
};<br>
<br>
<br>
<br>
//<br>
<br>
// a caching only nameserver config<br>
<br>
//<br>
<br>
zone "." {<br>
<br>
type hint;<br>
<br>
file "named.ca";<br>
<br>
};<br>
<br>
zone "vbrew.com"{<br>
<br>
type master;<br>
<br>
file "named.hosts";<br>
<br>
};<br>
<br>
<br>
<br>
zone "0.0.127.in-addr.arpa" {<br>
<br>
type master;<br>
<br>
file "named.local";<br>
<br>
};<br>
<br>
<br>
<br>
zone "72.191.in-addr.arpa"{<br>
<br>
type master;<br>
<br>
file "named.rev";<br>
<br>
}; <br>
<br>
上例中第一个master告诉我们这是vbrew.com域的主服务器。该域的数据是从named.hosts文件中加载的。在我们这个例子中,我们将文件名named.hosts作为区文件名,但也可以使用更有说明性的文字,例如,vbrew.com区文件的名字使用vbrew.com.hosts则较好。<br>
<br>
第三个master语句指向能将IP地址191.72.0.0映射为主机名的文件。它假定本地服务器是反向域72.191.in-addr.arpa的主服务器,该域的数据从文件named.rev中加载。<br>
<br>
在上例配置中的hint语句和第二个用于回送域的primary语句我们前面在唯高速缓存配置中已经讨论过。在这些配置中,它们的作用是相同的,而且几乎在任何配置中都要使用它们。<br>
<br>
辅助服务器的配置与主服务器的配置不同,它使用slave语句代替master语句。slave语句指向用作域信息源的远程服务器,以替代本地磁盘文件。下面的named.conf文件可以将vale配置成为vbrew.com域的辅助服务器:<br>
<br>
// generated by named-bootconf.pl<br>
<br>
<br>
<br>
options {<br>
<br>
directory "/var/named";<br>
<br>
/*<br>
<br>
* If there is a firewall between you and nameservers you want<br>
<br>
* to talk to, you might need to uncomment the query-source<br>
<br>
* directive below. Previous versions of BIND always asked<br>
<br>
* questions using port 53, but BIND 8.1 uses an unprivileged<br>
<br>
* port by default.<br>
<br>
*/<br>
<br>
// query-source address * port 53;<br>
<br>
};<br>
<br>
<br>
<br>
//<br>
<br>
// a caching only nameserver config<br>
<br>
//<br>
<br>
zone "." {<br>
<br>
type hint;<br>
<br>
file "named.ca";<br>
<br>
};<br>
<br>
<br>
<br>
zone "0.0.127.in-addr.arpa" {<br>
<br>
type master;<br>
<br>
file "named.local";<br>
<br>
};<br>
<br>
zone "vbrew.com"{<br>
<br>
type slave;<br>
<br>
file "named.hosts";<br>
<br>
masters { 191.72.1.3; };<br>
<br>
};<br>
<br>
zone "72.191.in-addr.arpa"{<br>
<br>
type slave;<br>
<br>
file "named.rev";<br>
<br>
masters {191.72.1.3;};<br>
<br>
}; <br>
<br>
cache . named.ca<br>
<br>
secondary vbrew.com 191.72.1.3 named.hosts<br>
<br>
secondary 72.191.in-addr.arpa 191.72.1.3 named.rev<br>
<br>
primary 0.0.127.in-addr.arpa named.local<br>
<br>
第一个slave语句是使这个服务器成为vbrew.com的辅助服务器。它告诉named从IP地址为191.72.1.3的服务器中下载vbrew.com的信息,并将其数据保存在/var/named/named.hosts文件中。如果该文件不存在,named就创造一个,并从远程服务器中取得区数据,然后将这些数据写入新创建的文件中。如果存在该文件,named就要检查远程服务器,以了解该远程服务器的数据是否不同于该文件中的数据,如果数据有变化,它就下载更新后的数据,用新数据覆盖该文件的内容;如果数据没有变化,named就加载磁盘文件的内容,不必做麻烦的区转移工作。<br>
<br>
将一个数据库拷贝到本地磁盘文件中,就不必每次引导主机时都要转移区文件;只有当数据修改时,才进行这种区文件的转移工作。<br>
<br>
该配置文件中的下一行表示该本地服务器也是反向域72.191.in-addr.arpa的一个辅助服务器,而且该域的数据也从191.72.1.3中下载。该反向域的数据存储在named.rev中。<br>
DNS数据库文件和资源记录<br>
<br>
配置named所需的所有文件(named.hosts、named.rev、named.local和named.ca)中的信息是以称为资源记录的形式存在的。每个资源记录都有一个类型,这个类型说明记录的功能。这些记录都是标准资源记录,称为RR(resource records)。表5列出了最常见的资源记录类型,其余的类型很少用到,如果感兴趣的话。请参考相应的RFC和man page。<br>
<br>
表5 常见标准资源记录<br>
<br>
资源记录名<br>
<br>
记录类型<br>
<br>
功能说明<br>
<br>
地址<br>
<br>
A<br>
<br>
将主机名转换为地址。这个字段保存以点分隔的十进制形式的IP地址。任何给定的主机都只能有一个A记录,因为这个记录被认为是授权信息。这个主机的任何附加地址名或地址映射必须用CNAME类型给出<br>
<br>
规范名<br>
<br>
CNAME<br>
<br>
给定一个主机的别名,主机的规范名字是在这个主机的A记录中指定的<br>
<br>
主机信息<br>
<br>
HINFO<br>
<br>
描述主机的硬件和操作系统<br>
<br>
邮件交换<br>
<br>
MX<br>
<br>
建立邮件交换器记录。MX记录告诉邮件传送进程把邮件送到另一个系统,这个系统知道如何将它递送到它的最终目的地<br>
<br>
名服务器<br>
<br>
NS<br>
<br>
标识一个域的域名服务器。NS资源记录的数据字段包括这个域名服务器的DNS名。我们还需要指定这个名字名字服务器的地址与主机名相匹配的A记录<br>
<br>
指针<br>
<br>
PTR<br>
<br>
将地址变换成主机名。主机名必须是规范主机名<br>
<br>
管理开始<br>
<br>
<br>
<br>
SOA<br>
<br>
<br>
<br>
告诉域名服务器它后面跟着的所有所有资源记录是控制这个域的(SOA)表示授与控制权)。其数据字段用()括起来并且通常是多行字段。SOA记录的数据字段包含下面的项:<br>
<br>
origin<br>
<br>
这个域的主域名服务器的规范主机名。用点“.” 结尾的绝对主机名,因此,它不能被named守护进程修改<br>
<br>
contact<br>
<br>
负责维护这个域的人的电子邮件联系地址。因为@在资源记录中有特殊的意义,所以用点“.”代替这个符号。如果负责维护vbrew.com的人是clfls,那么联系地址就是clfls.vbrew.com<br>
<br>
serial<br>
<br>
这个区信息文件的版本号,它是一个整数。辅助域名服务器用它来确定这个区信息的文件是何时改变的。每次改变信息文件时都应该使这个数加一<br>
<br>
refresh<br>
<br>
辅助域名服务器在试图检查主域名服务器的SOA记录之前应等待的秒数。SOA记录不经常改变,因此可以把这个值设置为一天<br>
<br>
retry<br>
<br>
辅助服务器在主服务器不能使用时,重试对主服务器的请求应等待的秒数。通常,它应该按分进行设置<br>
<br>
expire<br>
<br>
这是辅助服务器在不能与主服务器取得联系的情况下丢掉区信息之前应等待的秒数,一般应该设置成30天左右<br>
<br>
minimum<br>
<br>
当没有指定ttl资源记录时默认的ttl值。如果网络没有太大的变化,那么这个数可以设得很大。可以在资源记录中指定一个ttl值来代替它<br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -