[转载]DNS攻略(一)

作者: sunmarmot     发表时间:2002/10/16 10:38pm

好容易有点时间,再写点东东........头都写肿掉了,一天贴一点,也不知道有没人看

配置和管理域名服务器

1.主机名字解析和域名系统

1.1主机名解析介绍
主机名解析是主机名到IP地址的映射过程。这个过程通常用来寻找给定主机名的IP地址。
当知道某个特定主机的IP地址而需要获取特定的主机名时需要用到反向域名解析,在许多情况下需要反向域名解析,包括使用诸如rlogin和rcp等命令。通常可以通过不同的技术来完成这个过程。
在Solaris 8中可以使用多种主机名的解析方法
;/etc/inet/host文件,这个文件被链接到/etc/host文件
;NIS 网络信息系统
;NIS+ 高级网络信息系统
;DNS 域名系统
DNS是一个分级命名的主机的客户/服务器系统。DNS服务器在UDP端口53上监听客户端请求,解析主机名以响应客户端的请求。并且在TCP端口的53端口上实现两个域名系统的传输。
                                                                           
注意:
如果主DNS和次DNS之间要传输数据,必须把TCP 53和UDP 53端口打开。
                                                                             
1.2逆向主机名解析
逆向主机名解析用于查找指定主机名主机的IP地址,如果使用/etc/inet/host文件解析主机名,逆向主机名自动有效。但是如果使用DNS,则必须创建其他文件以允许逆向主机名解析。
                                                                             
注意:
逆向主机名解析也可用于安全目的。例如:如果不能解析到来邮件的服务器名,Sendmail将不接收收到的邮件。这个特性可用来防止垃圾邮件。
                                                                           
1.3使用/etc/inet/hosts文件
/etc/inet/hosts是最基本的,最古老的主机名解析方法。现在一般只在一些小型的私网中使用。
典型的hosts文件如下所示:
#
# Internet host table
#
127.0.0.1 localhost
192.168.2.222 fana loghost
192.168.2.11 laptop
192.168.2.1 desktop
192.168.29.28 fana-nt
192.168.30.30 kaka
在解析主机名时,将会从头到尾扫描hosts文件的没一行,获取最先匹配的一条记录。所以如果该文件中有多行的主机记录,每次只是使用第一条匹配成功的记录,其他的记录将被忽略。
1.4 域名系统介绍

1.5域名服务器的类型
主域名服务器(master)
每 个域都有一个主域名的权威,这个服务器在Internet上注册,使该域可见。主域名服务器是一个域或区域的管理权威。这个服务器的主要责任就是解析域或 区域内所有主机的名称。可以使用一个或多个次域名服务器作为主域名服务器的备份。当次域名服务器对主机名字记录采取强制终止策略。

次域名服务器(slave)
一个或多个次域名服务器作为主域名服务器的备份,当主域名服务器没有响应时使用次域名服务器,次域名服务器定期从主域名服务器复制数据库文件。

缓存服务器(hint)
缓存服务器没有任何数据库文件。它主要用于使用其他的名字服务器解析远程网络的主机名。它保存先前的解析主机记录,并在下列情况下使用:
;使用缓存来加速主机名的解析。
;为主域名服务器来担任主机名解析任务。
;在大型的网络中减少网络流量。


2.配置DNS客户端
2.1客户机如何解析域名
当DNS工作站向DNS服务器查询数据时,或者DNS服务器(DNS服务器也可以作为DNS工作站)向另外的DNS 服务器查询数据时,总共有三种不同的查询模式:
递归查询(Recursive Query):
当 收到DNS工作站的查询请求后,DNS服务器只会向DNS工作站返回 两种信息:要么是在该DNS服务器上查到的结果、要么是查询失败。该DNS服务器不会主动地告诉 DNS工作站另外的DNS服务器的地址,而需要DNS工作站自行向该DNS服务器询问。“递归”的意思 就是有来有往,并且来、往的次数是一致的。一般由DNS工作站提出的查询请求便属于递归查询。

转寄查询(Iterative Query迭代查询):
当 收到DNS工作站的查询请求后,如果在DNS服务器中没有查到所 需数据,该DNS服务器便会告诉DNS工作站另外一台DNS服务器的IP地址,然后,再由DNS工作站自 行向此DNS服务器查询,依次类推一直到查到所需数据为止。如果到最后一台DNS服务器都没有查 到所需数据,则通知DNS工作站查询失败。“转寄”的意思就是,若在某地查不到,该地就会告 诉你其它地方的地址,让你转到其它地方去查。一般在DNS服务器之间的查询请求便属于转寄查 询(DNS服务器也可以充当DNS工作站的角色)。

反向查询(Reverse Query):
从名字查询IP地址一般称为正查,而反向查询则是从IP地址来查询 名字。

译]Samhoo
本文的目的在于阐述DNS名称解析过程。为了给出一个例子,我们假设某个用户试图从客户机ftp到ftp.internic.net。
该客户机将经历如下解析步骤:
1. 客户机根据/etc/nsswitch.conf文件来确定名字解析的顺序。在本例中,假定的顺序是:首先是本地文件,其次NIS+服务器,最后是DNS。
2. 客户机查找本地/etc/inet/hosts文件,没有发现匹配项。

3. 客户机向NIS+服务器发起关于ftp.internic.net地址的查询,仍然没有找到。

4. 客户机根据/etc/resolv.conf文件确定名称解析搜索列表和本地DNS服务器的地址。

5. 客户机解析例程向本地DNS服务器发起一个递归的DNS查询,以返回ftp.intenic.net的地址。这次,客户机将阻塞直到本地DNS服务器完成名称解析。

6. 如果该查询最近出现过,本地DNS服务器首先会检查缓冲。如果该查询结果在本地缓冲里,它向客户机返回一个非权威的查询结果

7. 本地DNS服务器向负责internic.net域查询的DNS服务器(如果没有适当的DNS服务器就向根服务器)发起一个交互查询。在本例中,我们假设缓冲中没有所需的查询结果,而且根服务器服务于我们的查询。

8. 根服务器返回最接近的信息。这样,你只能从根服务器得到的所有net.服务器的名称和地址。根服务器返回的这些名称和地址还包含了维持时间(time-to-alive),维持时间用于通知本地域名服务器,这些名称和地址可以缓冲多长时间。

9. 本地DNS服务器向上一步查询返回的net.服务器的其中之一发起查询,查询的过程与上述向根服务器进行的交互查询是一样的。

10. net.服务器返回最为接近的信息--internic.net.服务器的地址和名称及其维持时间(time-to-live)。

11. 本地DNS服务器向其中的一个internic.net.服务器发起相同的查询。

12. internic.net.服务器返回ftp.internic.net的地址及其维持时间(time-to-live)。

13. 本地DNS服务器向客户机返回所请求的地址,然后就可以处理ftp命令。

14. 本地DNS服务器将缓冲ftp.internic.net的地址用于以后的查询。

2.2如何配置客户端
2.2.1 /etc/resolv.conf文件
记录DNS服务器的地址和域名
关键字:
domain domainname
search domainname
nameserver IPaddress

# hostname
x86DNS
# more /etc/resolv.conf
domain sunmarmot.com    
search sunmarmot.com
nameserver 192.168.9.1
nameserver 192.168.9.2

该 文件包含两种类型的记录。表示主机是sunmarmot.com的一部分。第二行是可能被解析的主机名,未使用FQHN。这就是说如果试图解析主机 x86DNS,服务器首先将域名加到主机名后变成x86DNS.sunmarmot.com,然后尝试解析它。最后两行列出了可用的名字服务器名。

2.2.2 /etc/nsswitch.conf文件
记录主机名的搜索顺序等信息
# more /etc/nsswitch.conf
#
# /etc/nsswitch.dns:
#
# An example file that could be copied over to /etc/nsswitch.conf; it uses
# DNS for hosts lookups, otherwise it does not use any other naming service.
#
# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports.

passwd: files
group: files
# You must also set up the /etc/resolv.conf file for DNS name
# server lookup. See resolv.conf(4).
hosts: files dns
ipnodes: files

hosts: dns files
表示只在DNS失效时候才使用/etc/hosts文件

hosts: dns
表示只用DNS解析主机

host: files
表示只用/etc/hosts文件解析主机

hosts: files dns
将使用/etc/inet/hosts文件解析主机,表示如果无法解析主机名将使用DNS。

如果使用了NIS+,那么这行将如下所示:
dns nisplus nis files

2.2.3 /etc/defualtdomain 本地域名
如:主机www.sunmarmot.com的/etc/defaultdomain文件应该包含以下条目
#more /etc/defualtdomain
sunmarmot.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值