<2> 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的DNS信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。
<3> 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址。
<4> 本地服务器再向返回的域名服务器发送请求。
<5> 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。
<6> 本地域名服务器将查询请求发送给返回的DNS服务器。
<7> 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS信息,查询过程将重复<6>、<7>步骤,直到返回解析信息或解析失败的回应)。
<8> 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

1)正向解析
正向解析是指域名到IP地址的解析过程。
2)反向解析
反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。


为了将名字解析为IP地址,服务器查询它们的区(又叫DNS数据库文件或简单数据库文件)。区中包含组成相关DNS域资源信息的资源记录(RR)。例如,某些资源记录把友好名字映射成IP地址,另一些则把IP地址映射到友好名字。
某些资源记录不仅包括DNS域中服务器的信息,还可以用于定义域,即指定每台服务器授权了哪些域,这些资源记录就是SOA和NS资源记录。
1)SOA资源记录
每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。区域以服务器授权机构的概念为基础。当DNS服务器配置成加载区域时,其使用SOA和NS两种资源记录来确定区域的授权属性。
SOA和NS资源记录在区域配置中具有特殊作用,它们是任何区域都需要的记录并且一般是文件中列出的第一个资源记录。
起始授权机构SOA资源记录总是处于任何标准区域中的第一位。它表示最初创建它的DNS服务器或现在是该区域的主服务器的DNS服务器。它还用于存储会影响区域更新或过期的其他属性,比如版本信息和计时。这些属性会影响在该区域的域名服务器之间进行同步数据的频繁程度。
SOA资源记录语法格式:
区域名(当前) 记录类型 SOA 主域名服务器(FQDN) 管理员邮件地址 (序列号 刷新间隔 重试间隔 过期间隔 TTL)
SOA资源记录字段:
主域名服务器:区域的主DNS服务器的FQDN
管理员:管理区域的负责人的电子邮件。在该电子邮件名称中使用英文句号“.”代替at符号“@”。
序列号:该区域文件的修订版本号。每次区域中的资源记录改变时,这个数字便会增加,每次区域改变时增加这个值非常重要,它使部分区域改动或完全修改的区域都可以在后续传输中复制到其他辅助DNS服务器上。
刷新间隔:以秒计算的时间,辅助DNS服务器请求与源服务器同步的等待时间。当刷新间隔到期时,辅助DNS服务器请求源服务器的SOA记录副本,然后辅助DNS服务器将源服务器的SOA记录的序列号与其本地SOA记录的序列号相比较,如果二者不同,则辅助DNS服务器从主DNS服务器请求区域传输。这个域的默认时间是900秒(15分钟)。
重试间隔:以秒计算时间,辅助DNS服务器在请求区域传输失败后,等待多长时间再次请求区域传输时间。通常,这个时间短于刷新间隔。默认值为600秒(10分钟)。
过期间隔:以秒计算时间,当这个时间到期时,如果辅助DNS服务器还无法与源服务器进行区域传输,则辅助DNS服务器会把它的本地数据当作不可靠数据。默认值为86400秒(24小时)。
最小(默认)TTL:区域的默认生存时间(TTL)和缓存否定应答名称查询的最大间隔。默认值为3600秒(1小时)
名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。
NS资源记录语法格式:
区域名 IN NS 完整主机名(FQDN)
地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
完整主机名(FQDN) IN A IP地址
相对于A资源记录,该记录与A记录相反,用于查询IP地址与主机名的对应关系。
PTR资源记录语法格式:
IP地址 IN PTR 主机名(FQDN)
规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。别名(CNAME)资源记录用于为某个主机指定一个别名。例如管理员告知公司的首页为www.abc.com,而实际在访问时访问的是www1.abc.com主机。该资源记录经常用于在同一区域的A资源记录中的主机需要重命名时或者为多台主机(例如一组WWW服务器)提供相同的别名。
CNAME资源记录语法格式:
别名 IN CNAME 主机名
邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
区域名 IN MX 优先级(数字) 邮件服务器名称(FQDN)
Master:主DNS服务器:拥有区域数据文件,并对此区域提供管理数据
Slave:辅助DNS服务器:拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据。
Stub:stub区域和slave类似,但其只复制主DNS服务器上的NS记录而不像辅助DNS服务器会复制所有区域数据。
Forward:一个forward zone是每个域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarders是空表,那么这个域就不会有转发,消除了options语句中有关转发的配置。
Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。如果没有指定class IN的线索区域,服务器使用编译时默认的根服务器线索。不是IN的类别没有内置的默认线索服务器。
Delegation-only:用于强制区域的delegation .ly状态。
当前的目录为/etc/named.conf
directory "/var/named" ;
};
zone "." {
type hint ;
file "named.ca" ;
file "tech.org.zone" ;
};
file "192.168.0.zone" ;
@ IN SOA dns.tech.org. root (
2009070900
1H
1W
1D
)
dns IN A 192.168.0.1
client1 IN A 192.168.0.5
client2 IN A 192.168.0.6
client3 IN A 192.168.0.7
当前的目录为/var/named/
2009070900
1H
1W
1D
)
@ IN NS dns.tech.org.
1 IN PTR dns.tech.org.
5 IN PTR cilent1.tech.org.
6 IN PTR client2.tech.org.
7 IN PTR client3.tech.org.
随后就是自行测试了!
vim etc/named.conf
directory "/var/named" ;
};
type hint ;
file "named.ca" ;
};
file "tech.boobooke.zone" ;
};
type master;
file "192.168.31.zone";
};
type master;
file "mart.boobooke.zone";
};
zone "32.168.192.in-addr.arpa" {
type master;
file "192.168.32.zone";
};
type master;
file "freedom.boobooke.zone";
};
type master;
file "192.168.33.zone";
};
@ IN SOA dns.tech.boobooke. root (
2009070900
1H
1W
1D
)
dns IN A 192.168.31.134
client1 IN A 192.168.31.1
client2 IN A 192.168.31.2
client3 IN A 192.168.31.3
client4 IN A 192.168.31.4
client5 IN A 192.168.31.5
client6 IN A 192.168.31.6
client7 IN A 192.168.31.7
client100 IN A 192.168.31.100
$TTL 86400
@ IN SOA dns.mart.boobooke. root (
2009070900
1H
1W
1D
)
dns IN A 192.168.31.134
client1 IN A 192.168.32.1
client2 IN A 192.168.32.2
client3 IN A 192.168.32.3
client4 IN A 192.168.32.4
client5 IN A 192.168.32.5
client6 IN A 192.168.32.6
client7 IN A 192.168.32.7
client100 IN A 192.168.32.100
$TTL 86400
@ IN SOA dns.freedom.boobooke. root (
2009070900
1H
1W
1D
)
dns IN A 192.168.31.134
client1 IN A 192.168.33.1
client2 IN A 192.168.33.2
client3 IN A 192.168.33.3
client4 IN A 192.168.33.4
client5 IN A 192.168.33.5
client6 IN A 192.168.33.6
client7 IN A 192.168.33.7
client50 IN A 192.168.33.50
vim 192.168.31.zone
@ IN SOA 31.168.192.in-addr.arpa. root.tech.boobooke. (
2009070900
1H
1W
1D
)
@ IN NS dns.tech.boobooke.
vim 192.168.32.zone
@ IN SOA 31.168.192.in-addr.arpa. root.mart.boobooke. (
2009070900
1H
1W
1D
)
@ IN NS dns.mart.boobooke.
vim 192.168.33.zone
@ IN SOA 31.168.192.in-addr.arpa. root.freedom.boobooke. (
2009070900
1H
1W
1D
)
@ IN NS dns.freedom.boobooke.
chown root:named 192.168.31.zone
chown root:named 192.168.32.zone
chown root:named 192.168.33.zone
chown root:named tech.boobooke.zone
chown root:named mart.boobooke.zone
chown root:named freedom.boobooke.zone
【实例3】安装基于chroot的DNS服务器,并将其配置成缓存Cache-only服务器,然后将客户机的查询转发到202.100.138.68和202.100.128.68的DNS服务器上。
directory "/var/named" ;
forwarders {202.100.138.68;
202.100.128.68;
};
forward only;
};
【实例4】安装基于chroot的DNS服务器,并根据以下要求配置主要名称服务器。
(1)定义服务器的版本信息为“
(2)设置根区域,以便DNS服务器在本地区域文件不能进行查询的解析时,能转到根DNS服务器查询。
(3)建立xyz.org主区域,设置允许区域复制的辅域名服务器的地址为192.168.31.134。
(4)建立以下A资源记录。
dns.xyz.org. IN A 192.168.31.1
www.xyz.org. IN A 192.168.31.2
mail.xyz.org. IN A 192.168.31.3
(5)建立以下别名CNAME资源记录。
bbs IN CNAME www
(6)建立以下邮件交换器MX资源记录
xyz.org. IN MX 10 mail.xyz.org.
(7)建立反向解析区域31.168.192.in-addr.arpa,并为以上A资源记录建立对应的指针PTR资源记录。
vim etc/named.conf
options {
directory "/var/named" ;
version "
allow-transfer {192.168.31.132;};
};
type hint;
file "named.ca";
};
type master;
file "xyz.org.zone";
};
type master;
file "192.168.31.zone";
};
vim var/named/xyz.org.zone
$TTL 86400
@ IN SOA dns.xyz.org. root (
2009071000
3H
1H
1W
0
dns IN A 192.168.31.1
www IN A 192.168.31.2
mail IN A 192.168.31.3
bbs IN CNAME www
xyz.org. IN MX 10 mail.xyz.org.
@ IN SOA 31.168.192.in-addr.arpa. root.xyz.org. (
2009071000
1H
1W
0
)
@ IN NS dns.xyz.org.
(1)建立xyz.org从区域,设置主要名称服务器的地址为192.168.31.134。
(2)建立反向解析从区域31.168.192.in-addr.arpa,设置主要名称服务器的地址为192.168.31.134。
options {
directory "/var/named";
};
type slave;
masters { 192.168.31.134; };
file "slaves/xyz.org.zone";
};
type slave;
masters { 192.168.31.134; };
file "slaves/192.168.31.zone";
};