为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

网络管理-DNS域名解析

2018-05-05 26页 doc 171KB 12阅读

用户头像

is_597436

暂无简介

举报
网络管理-DNS域名解析网络管理-DNS域名解析 网络管理,DNS域名解析 DNS域名解析(1) 目标: 完成这一章,你将能够做一下事情: 比较三种主机名解析方式: /etc/hosts NIS DNS/BIND 使用hosts_to_named命令来配置主DNS服务器 配置辅DNS服务器 配置主机名解析器 配置/etc/nsswitch.conf文件 使用hosts_to_named命令增加/删除DNS数据库中的一个主机。 使用nslookup命令进行DNS服务查错 描述以下配置文件的作用和文件格式: /et...
网络管理-DNS域名解析
网络管理-DNS域名解析 网络管理,DNS域名解析 DNS域名解析(1) 目标: 完成这一章,你将能够做一下事情: 比较三种主机名解析方式: /etc/hosts NIS DNS/BIND 使用hosts_to_named命令来配置主DNS服务器 配置辅DNS服务器 配置主机名解析器 配置/etc/nsswitch.conf文件 使用hosts_to_named命令增加/删除DNS数据库中的一个主机。 使用nslookup命令进行DNS服务查错 描述以下配置文件的作用和文件: /etc/rc.config.d/namesvrs /etc/named.boot /etc/resolv.conf 1.将主机名解析成为IP地址 IP网络中的系统进行通讯必须依靠Internet地址。用户和应用程序可以通过主机名来查找一个主机,这就要求在数据包发送之前,IP层必须将这个主机名翻译成为一个IP地址(例如16.30.0.99)。这个主机名到IP地址之间的转换是在这个网络连接建立之前通过一个gethostbyname()的库函数来实现的。这个库函数也被称为解析器,因为它的作用是将主机名解析为一个IP地址。 同样,反向的解析有时也是必须的;因为有时候,必须将IP地址解析成为一个主机名,例如主机想要验证哪些主机连接到本机就必须通过将连接进来的IP地址映射成为一个名字,通常这个过程被用作鉴权:例如,文件/etc/hosts.equiv,$HOME/.rhosts,或者/etc/exports的使用就是具体例子。将IP地址解析成为主机名是通过调用一个名为gethostbyaddr()库函数而实现的。 维护一个小规模网络中的各个主机中包含有网络中的系统的名字和IP地址的/etc/hosts文件是一件很容易的的事情,而当网络变得很大同时地理上分布更广的时候,维护工作会变得十分困难。这时候就需要用其它的方法来实现域名和IP地址之间的互相解析。 与每一台机器都存储和维护所有主机名和IP地址信息的方式不同,一种称为域名服务器的服务,域名服务器可以由网络中的一个(或者多个)系统组成,其作用是存储并且提供信息,域名系统提供了另外一种与/etc/hosts文件不同的主机名与IP地址转换的方式,DNS常用在大型的网络中提供主机名解析的服务。 当前最常用的名称服务有Network Information Services(包括NIS和NIS+),和Berkeley Internet Name Domain(BIND)服务。 在这一章,我们将学习Berkeley Internet Name Domain 服务。 2.DNS概述 Berkeley Internet Name Domain(BIND)是一种基于RFC 1034/1035"域名"的域名系统(DNS)。BIND是由以下三部分组成: 分层的名称空间: 与单层的的名称空间相对应,/etc/hosts文件的域名解析方式就是一种单层的方式。 名称服务器中保存有域的树型结构的信息,这个服务器程序是在系统中是一个叫做named的进程。而提供这个网络服务的主机被叫做域名服务器。 解析器是一种负责将域名解析成为IP地址的程序,各种网络服务都可以调用这种程序,例如telnet,ftp,rcp,rlogin,和其它的网络服务。解析器能判断首先使用哪个名称服务(/etc/hosts,NIS,或者DNS),然后使用指定的服务来将主机名翻译为IP地址。如果使用的是DNS(BIND),解析器就会从域名服务器提取信息,解析器并不是一个特别的进程,解析器只是名称服务器的一个可编程的界面,这些被编译进gethostbyname()和gethostbyaddr() 流程中。任何执行这些调用的程序会自动调用BIND(如果系统中配置了这个服务).否则会使用NIS或者/etc/hosts文件。在有的系统中,有一个名称服务的开关(一个文件),其作用是指定系统解析域名时使用的方式的先后顺序和组合。 3.DNS层次化的名称空间 域名空间是一种对基于树型结构的网络中的节点进行分层命名的方法,树型结构可以粗略代表一个网络边界分支。 每一个名称空间中的子空间被称为一个域,每一个域都有一个标记,这个标记由一系列的由左到右的圆点分隔的字母组成,如:在sanfran.ca.hp.com这个域名中节点"sanfran"属于域"ca";域"ca"属于域"hp";而域"hp"属于域"com",而域"com"属于“根域”。 最后一个圆点,域名的结尾部分,指出的是绝对域名,这和相对域名相对立,如"sanfran.ca"。 解析器会将相对域名翻译为绝对域名,转换的原则我们会在以后的章节中学到。 4.公共和私有的域名空间 公共的域名空间 如果要将本地网络和一个公众网络相连接,如INTERNET ,就要求要有官方的IP地址和域名。你可以与InterNIC联系,或者通过来进行域名登记。 如果你已经注册了一个域,那么在这个域中,你可以独立地管理你这个域中的计算机,例如你可以在这个域中增加主机,可以自由分配一个属于这个网络地址的主机IP地址给这个主机,而不需要向管理机构注册,同样你也可以在这个域中分配子域,也不需要向管理机构注册,只有你域中的顶级域中的授权的服务器才需要注册。 私有域名空间 在这种情况下,客户的网络和公众网是相互分离的,这样你就可以任意选择域名和IP地址。但是如果将来会有可能连接到INTERNET,最好是去寻求一个正式的IP地址并且遵循命名的惯例。 5.名称服务器 域名服务器可以: 响应客户机的请求,然后将主机名解析为IP地址 划分名称空间 能够将域名解析的请求转发到其它的域名服务器 应该有辅域名服务器来作为备份 举例说明: ca.hp.com域名服务器 sanfran.ca.hp.com <--->128.1.1.1 oakland.ca.hp.com <--->128.1.1.2 la.ca.hp.com <--->128.1.1.3 有许多不同类型的DNS服务器 主域名服务器 主服务器对它所包含的数据来说是最有权威的(简而言之,由上一级的域赋予它的权利)。 它可以,依次,创建子域,并且分配权限。与副服务器相比较而言,主服务器上的信息是最新的信息。 副域名服务器 副域名服务器是一个备份服务器。它包含有主服务器上基本相同的信息。在一个可以设置的时间间隔,它会从主服务器上更新数据。副域名服务器可以选择是否在本地磁盘上保留原始记录。这可以在named.boot中进行配置。 缓存服务器 缓存服务器不在本地的磁盘上存储数据。所有的数据都是放在系统的缓存中。在多用户系统中使用缓存服务器可以加速域名查询的速度。缓存服务器提供一个非正式的备份方式,与在本地存储数据的副域名服务器相比较,这种方式最大的优点是:在一个新的子域加入到一个主域名服务器中时,它不需要更新本地DNS数据库中的数据。 你的位置:首页,>系统管理,>网络管理,>DNS域名解析(2) DNS域名解析(2) 6.解析在本域中主机的主机名 每当在一个网络服务中指明一个目标主机的主机名的时候,就会间接启动一个解析器程序如gethostbyname()。因为网络通信使用的是IP地址而不是主机名,所以首先要将主机名解析为 IP地址。 解析器的任务: 判定本地节点首先使用的是BIND,NIS,还是/etc/hosts,这里我们假设使用的是BIND。 当目标地址是一个相对域名的时候自动构建一个可能的绝对域名的列表。 向域名服务器发出查询请求(可以为本地主机或是在/etc/resolv.conf中配置的远程主机)将域名解析为IP地址。如果没有域名服务器响应,用户程序会挂起一小段时间。如果配置的域名服务器响应但是返回的数据无效,会自动转向使用NIS或者/etc/hosts。如果我们使用的是NIS而不是BIND,解析器会从指定的NIS服务器中查询主机的NIS映射表。如果BIND,和NIS都配置了,有的UNIX会首先使用BIND如(HP-UX),而有的UNIX会首先使用NIS,如(SUN-OS)。 域名搜索列表 当想要查询的主机的域名和你的当前主机在同一域或者子域的时候,你不需要键入完整的域名,解析器会自动为你加上后缀。例如,如果你在域ca.hp.com中,同时你键入命令telnet la,解析器会自动构造一个搜索列表: la.ca.hp.com 在解析器的配置文件中添加更多的域的后缀会进行更广泛的搜索,例如: hp.com ca.hp.com 解析器会向域名服务器查询搜索列表中的每个域名直到找到正确的域名。 如果用户提供的是一个完全格式的主机名,发送到域名服务器的就只有一个查询请求。 nsLookup nslookup命令可以检查主机名解析的过程: $ nslookup Default Name Server: sanfran.ca.hp.com address: 128.1.1.1 >ctrl + d $ nslookup la Name Server: sanfran.ca.hp.com Address: 128.1.1.1 Name: la.ca.hp.com Address: 128.1.1.3 Aliases: los_angeles $ 7.解析在其它域中的主机名 当查询在其它域中的主机名的时候,DNS客户端仍旧会将查询请求发送到本地的DNS服务器。由于被查询的主机名不在本地的服务器的数据库里,DNS服务器会以一种递归的方式在其它的域中查询这个主机名。 递归查询的过程如下所示: 1.假定机器genius,cs.tsinghua.edu.cn上的某个用户要求arpa,att.com机器进行数据通信,此时本地机器将发现在本域内(.cs.tsinghua.edu.cn)中无法实现此种转换(找到此域名对应的IP地址),于是发送一个请求给根服务器。根服务器根据域名中的.com和它所记录的.com域名服务器地址向此服务器询问arpa.att.com的地址,.com服务器接到此请求后,将根据名称中的.att域名及它所记录的.att域名服务器的地址向该服务器询与arpa.att.com相应的IP地址。在.att.com域名服务器中将记录有arpa主机的Internet地址,于是它将此地址返回给.com服务器。.com服务器会将此结果返回给根服务器,而最后由根服务器将之返回给genius机器。 2.本地DNS服务器会将这些所有的名称服务器的地址缓存,还有最后返回的解析结果。 3.如果本地服务器接收到另外的一个相同的主机名的解析请求时,就会直接从缓存中取出数据,并立即返回用户需要的IP地址。 你的位置:首页,>系统管理,>网络管理,>DNS域名解析(3) DNS域名解析(3) 配置主域名服务器 1.向internic注册你的域名。 2.在/etc/hosts文件中定义全格式的主机名(域名)。 3.创建一个目录存放DNS数据库文件。 4.创建一个hosts_to_named命令需要的配置参数文件。 5.创建一个hosts_to_named命令需要的DNS数据文件和启动文件。 6.下载一个db.cache文件,其中包含root服务器的最新的地址列表。 7.修改/etc/rc.config.d/namesvrs文件并且启动named守护进程。 8.配置DNS客户端的功能。 以上是配置一个主域名服务器的详细步骤。这里我们假定要将sanfran节点配置为一个主域名服务器,这个服务器所在的域为ca.hp.com。步骤如下: 1.向internic注册你的域 为了让internet中的其它的人可以检索到你的域中的主机名,internic必须要知道你的域的存在。你可以向internic申请你的域名,地址为。如果你要在这个你的公司已经申请管理的域中创建一个子域,则应由你公司内部的IT部门来分配这个子域,不需要向internic申请。 无论在哪种情况下,你可能都需要提供你的域名和主域名服务器和辅域名服务器的名称和IP地址。 2.提供完全格式的/etc/hosts文件 HP-UX提供的hosts_to_named工具能够将/etc/hosts中的数据直接转换成主域名服务器上的DNS数据库。为了实现这个功能,hosts文件中的所有条目都需要是完全格式的主机名。而旧主机名可以作为别名存在。 如果还可以删除hosts文件中域名服务器不能解析的子域条目。(注意,这样localhost条目 必须保留)。下面的例子说明了需要对sanfran主机上的hosts文件作出哪些改动: vi /etc/hosts 127.0.0.1 localhosts 128.1.1.1 sanfran.ca.hp.com sanfran 128.1.1.2 oakland.ca.hp.com oakland 128.1.1.3 la.ca.hp.com la 3.创建一个目录保存DNS数据库文件。 hosts_to_named程序会创建几个DNS数据文件。在默认情况下,这些文件会存储在/etc/named.data目录下。你也还可以使用mkdir命令手工创建这个目录: mkdir /etc/named.data cd /etc/named.data 4.为hosts_to_named程序创建一个param文件。 hosts_to_named是一个强大的创建DNS数据库文件的工具。hosts_to_named自动搜索一个param文件来决定对哪些域的主机提供域名解析服务。 在-d选项后面加上一个域名,指定这个域名服务器所服务的域,由于一些域名服务器同时为多个域提供域名解析,这时就需要多个-d选项。 在-n选项后面加上这个域中的每个子域的名称,由于很多主机存在于子域中,这时就需要多个-ns选项。 -b选项决定你的DNS启动文件存储的位置。的位置是/etc/named.boot。 因为辅域名服务器需要从主域名服务器下载一个配置文件,其中包含主域名服务器的IP地址和这个域的其它信息。-z选项会创建辅域名服务器需要下载的配置文件。 其它的选项可以参看hosts_to_named名称的联机帮助。 sanfran域名服务器的param文件如下所示: vi /etc/named.data/param -d ca.hp.com <---这里填上你的域名 -n 128.1.1 <---这里填上你的子域的地址 -z 128.1.1.1 <---这里填上你的辅域名服务器的IP地址 -b /etc/named.boot <---指定DNS启动文件存放位置 5.创建hosts_to_named的DNS数据文件和启动文件。 hosts_to_named工具自动使用/etc/hosts文件来生成DNS数据文件,使用的是在param文件中定义的选项。 如: # hosts_to_named -f param Translating /etc/hosts to lower case ... collecting network data ... 128.1 creating list of multi-homed hosts ... creating "A" data (name to address mapping) for net 128.1 ... creating "PTR" DATA (address to name mapping) for net 128.1 ... creating "MX" (mail exchanger) data ... Building default db.root file ... Building default boot.sec.save for secondary servers ... Building default boot.sec for secondary servers ... Building default boot.casheonly for cashing only servers ... done 6. 下载一个db.cashe文件,其中包含root服务器的IP地址列表。 hosts_to_named工具能够创建几乎所有的DNS数据库文件,只有一个文件除外,那就是你必须手工创建db.cashe文件,其中包含root 域名服务器地址。你可以从internic的web网站上ftp下来一个包含当前root服务器地址的文件。由于root服务器列表随时都可能改变,你可能会需要定时地下载这个文件。 7.修改/etc/rc.config.d/namesvrs。手工的启动named进程,不需要重启动机器。 为了让域名服务器的守护进程'named'在系统启动的时候一起启动,需要设置/etc/rc.config.d/namesvrs中的NAMED变量为“1”。 vi /etc/rc.config.d/namesvrs ... NAMED=1 NAMED_ARGS="" ... # /sbin/init.d/named start named可以带参数启动,但是通常对NAMED_ARGS变量的值都不进行设置。 8.配置客户端的功能在以下几章中说明。 param文件的中的选项 param文件的选项如下: d域。db.ca文件会被创建。想要添加其它的域,可以在这个 添加条目 n rroot服务器,db.root文件会被创建。 z 和Zboot.sec和boot.sec.save,这些文件会被传送到辅服务器作boot文件 bboot文件的名称和所在位置。 创建的数据文件 以下的数据文件是hosts_to_named将创建的文件。 /etc/named.boot named的启动文件 /etc/named.data/db.ca ca域的数据库文件,将主机名映射为IP地址 /etc/named.data/db.127.0.0loopback的数据库文件,将IP地址映射为主机名 /etc/named.data/db.128.1 网络128.1的数据库文件,将IP地址映射为主机名 /etc/named.data/db.root 仅作为root服务器 /etc/named.data/boot.sec 传送给辅域名服务器的文件 /etc/named.data/boot.sec.save 传送给辅域名服务器的文件 /etc/named.data/boot.casheonly 传送给缓存域名服务器的文件 注意:这些数据文件可以存在于任何目录下,这取决于你在什么目录下运行的hosts_to_named命令,name.boot文件中包含有这些文件的位置信息。 如果参数文件中不包含-b(boot 文件)的选项,你必须手工删除/etc目录下的named.boot 文件。 你的位置:首页,>系统管理,>网络管理,>DNS域名解析(4) DNS域名解析(4) 配置辅域名服务器 步骤: 1.为DNS数据文件创建一个目录 2.从主域名服务器上FTP 一个配置文件 3.从主域名服务器上FTP db.127.0.0和db.cache的一个拷贝 4.从主域名服务器上FTP 附加的DNS数据文件(可选) 5.修改配置文件/etc/rc.config.d/namesvrs,并启动named守护进程 6.设置辅域名服务器上的客户端的功能 为什么要配置一个辅域名服务器, 每一个域都应该有第二个服务器作为主域名服务器的补充。辅域名服务器的主要作用是在主域名服务器失效的时候提供名称解析一个备份。同时,通过对客户端进行某些设置,辅域名服务器也能够减轻主域名服务器的负载, 创建一个辅域名服务器的步骤如下: 1.在辅域名服务器上创建一个单独的目录存放数据库文件和配置文件。 大部分的辅域名服务器在本地保存本域的DNS数据文件。这个数据库文件一般是存储在/etc/named.data目录下。 # mkdir /etc/named.data # chmod 755 /etc/named.data 2. 从主服务器上FTP一个启动配置文件。 named进程在启动的时候会参考/etc/named.boot中的设置来决定DNS数据库文件存放的位置。你可以从主服务器上下载一个named.boot文件。 主服务器上可能会有两个named.boot文件的版本:/etc/named.data/boot.sec.save和/etc/named.data/boot.sec。如果你希望你的辅域名服务器在系统重启动后仍旧保留所有的DNS数据库文件的一个完全的磁盘拷贝,你可以选择下载/etc/named.data/boot.sec.save文件。这样作的目的在于:如果在辅域名服务器启动的时候主服务器无效,辅域名服务器仍然可以使用存储在本地的DNS数据文件来启动DNS服务。 如果你选择下载/etc/named/boot.sec文件,辅域名服务器就不会主动维护本地磁盘的数据库文件,在这种情况下,如果辅域名服务器启动的时候主服务器处于无效状态,named进程就不能够启动 注意,你只能有一个boot文件。named守护进程启动的时候会自动读取这个文件中的配置信息。 ftp 128.1.1.1 <--- FTP 连到你的主域名服务器 get /etc/named.data/boot.sec.save /etc/named.boot quit 3.从主服务器FTP一个db.127.0.0和db.cache文件。 每个域名服务器都要有两个DNS数据文件。db.127.0.0文件用来解析loopback地址。而域名服务器依靠db.cache文件来查找根域名服务器。从主域名服务器上可以下载这两个文件。 ftp 128.1.1.1 FTP连接到主服务器 get /etc/named.data/db.127.0.0 get db.127.0.0 get /etc/named.data/db.cacheget db.cache quit 4.从主域名服务器FTP另外的数据库文件(任选项) 如果你你想要你的辅域名服务器在本地磁盘中保存所有的DNS数据文件的拷贝,你需要从主服务器下载所有的数据文件。在第一次下载这个文件后,以后辅域名服务器会自动按照一定的间隔时间从主服务器上更新数据。 ftp 128.1.1.1 <--- FTP to the promary server mget /etc/named.data/db.* <--- GET the DNS database files quit <-- 退出ftp 5. 修改/etc/rc.config.d/namesvrsnamed进程,,不需要重新启动系统。 # vi /etc/rc.config.d/namesvrs NAMED=1 NAMED_ARGS="" # /sbin/init.d/named start named可以带参数运行,但是通常都不对NAMED_ARGS变量进行设置。 6.配置客户端功能在以后的章节中说明。 在设置一个辅域名服务器的时候,不要需要使用hosts_to_named命令,hosts_to_named命令不是用来创建辅域名服务器和cache_only服务器。使用rcp,ftp从主服务器上传送需要的BIND文件,如果有必要,也可以手工修改BIND文件。如果是私有域(不于公众网相连),就必须手工创建db.cache文件,因为这时的根服务器必须自己来指定。 与设置主服务器的另外一个不同之处是:你可以选择将DNS的数据文件存储在本地,也可以选择不存储在本地。但是无论哪种服务器上都必须要有db.127.0.0这个文件。在本地存储大量的DNS数据文件要占用磁盘空间,但是在主服务器一直都不能存取的时候这种方式会起作用,因为我们可以在不能立即和主服务器通信的情况下重新启动辅域名服务器,但是在超时之前主服务器必须能够重新投入使用。 配置DNS客户端 1.创建/etc/resolv.conf文件: search ca.hp.com hp.com nameserver 128.1.1.1 nameserver 128.1.1.2 2.修改/etc/nsswitch.conf文件: hosts dns nis files 3.修改/etc/hosts文件: 127.0.0.1 localhost 128.1.1.3 la.ca.hp.com la 4.修改~/.rhosts,/etc/hosts.equiv,和其它文件: la user1 la.ca.hp.com user1 在一个DNS域中所有的主机,包括主域名服务器和辅域名服务器,都应该被配置为DNS客户端。配置一个主机为一个DNS客户端可以确保主机的解析器使用指定的DNS域名服务器来解析域名和IP地址,而不是用本地的hosts文件。配置一个主机为一个DNS客户端的步骤如下: 1.修改解析器的配置文件。 /etc/resolv.conf。resolv.conf文件有两个重要的组成部分: a.创建一个“查找”列表。 /etc/resolv.conf文件中的search关键字定义了一系列的域名,解析器在进行主机名解析的时候会搜寻这个列表。这个列表中至少应该列出自己主机所在的域。为了以后方便,你也可以增加其它的域名。 在这个搜索列表中添加其它的域可以让你的用户不必输入完全格式的主机名,例如,由于下面的resolv.conf文件中在搜索列表内包含由ca.hp.com这个域,用户想要telnet到sanfran就可以简单地输入“telnet sanfran”。而由于ga.hp.com不包含在这个搜索列表中,所以想要存 取"atlanta.ga.hp.com"就不能简单的键入“telnet atlanta",而需要键入完全的域名。 vi /etc/resolv.conf search ca.hp.com hp.com <--- 在这里列出通常存取的域。 b.在/etc/resolv.conf文件中增加”nameserver"条目 客户端的解析器在进行主机名和IP地址解析的时候必须要知道使用的是哪个DNS服务器。你可以在/etc/resolv.conf文件中配置最多三个名称服务器;如果第一个域名服务器没有响应,解析器会自动去尝试用第二个服务器。 由于解析器会自动用resolv.conf文件中的DNS服务器的排列顺序来查找域名服务器,你可以使用如下的方法来达到负载均衡的目的:在一些主机上,将主服务器列在前面,在另外主机上将辅域名服务器列在前面。 vi /etc/resolv.conf search ca.hp.com hp.com <---在这里列出通常存取的域 nameserver 128.1.1.1<--- 在这里列出主域名服务器的IP地址 nameserver 128.1.1.2<--- 在这里列出辅域名服务器的IP地址 2.修改/etc/nsswitch.conf 多数UNIX都可以使用本地的hosts文件,NIS,DNS三种方式来解析主机名。/etc/nsswitch.conf 文件的作用就是用来决定使用哪个服务来进行名称解析,如果你没有/etc/nsswitch.conf文件,系统会默认使用DNS。如果你有一个/etc/nsswitch.conf文件,找到"hosts"这一行,确认DNS是第一个选项。 cat /etc/nsswitch.conf ... hosts dns nis files ... 一旦配置了/etc/resolv.conf和/etc/nsswitch.conf文件,解析器会立即开始使用DNS进行名称解析 3.修改/etc/hosts文件 由于现在大多数的主机名都是使用DNS来进行解析,你可以选择删除/etc/hosts文件中的大多数的条目。但是,你也可以保留一些关键的条目以免在域名服务器失效的时候可以起作用,至少你需要保留localhosts条目和你自己的主机名。 在主域名服务器上,你应该保存本域中所有主机的信息;在使用hosts_to_named之前,确认/etc/hosts文件中的主机名正确的并且格式完整。你同样可以选择以别名方式保留非全格式的主机名。如: 在la.ca.hp.com上,修改后的hosts文件如下: # vi /etc/hosts 127.0.0.1 localhost 128.1.1.3 la.ca.hp.com la 4.修改.rhosts,/etc/hosts.equiv等文件。 有些工具需要将接收到的数据包中的IP地址反向解析为域名。如果以下的文件存在,这些文件中应该包含完全格式的域名 ~/.netrc /etc/hosts.equiv /var/adm/inetd.sec 例如,la上最新的.rhosts文件包含如下信息: # vi ~/.rhosts oakland.ca.hp.com sanfran.ca.hp.com la.ca.hp.com 你的位置:首页,>系统管理,>网络管理,>DNS域名解析(5) DNS域名解析(5) 使用nslookup测试DNS # nslookup > server 128.1.1.1# 选择一个域名服务器器 > oakland.ca.hp.com # 将个主机名解析为一个IP > 128.1.1.2 # 解析一个IP地址为主机名 > exit Name Server: sanfran.ca.hp.com Address: 128.1.1.1 Trying DNS Name: oakland.ca.hp.com Address: 128.1.1.2 系统默认的配置是:如果DNS失效就从DNS切换为NIS,如果NIS也失效,就从NIS切 换为/etc/hosts。 如果配置了多种名称服务方式,并且允许在一种服务无效的时候自动切换使用另一种服务, 这时可能出现一种情况就是:对同样的请求,当请求发生的时间不同和响应这种请求的服务 不同而得到不同的结果。所以一定要确保所有的名称解析服务解析出来的结果是一致的。 注意:更改系统默认的名称服务查找的配置会使查错变得复杂。 如果swtrace选项没有设置,nslookup可能返回错误的数据源。 # nslookup la Name Server: sanfran.ca.hp.com Address: 128.1.1.1 Name : la Address: 128.1.1.3 但是如果使用swtrace选项可能会出现另外一种结果: # nslookup Name Server: sandran.ca.hp.com Address: 128.1.1.1 > set swtrace > la Name Server: sanfran.ca.hp.com Address: 128.1.1.1 lookup source is DNS *** No address (A) record available for la switching to next source in the policy lookup source is NIS Default NIS Server: oakland Address: 128.1.1.2 Name: la Address: 128.1.1.3 > DNS启动文件和数据文件 启动文件named.boot,必须放在/etc目录下,启动文件告诉域名服务器数据库文件的存放位置和指定的域使用哪种类型的域名服务器。 数据文件的位置是可配置的,建议创建一个单独的目录,目录名字可以随意选择。 注意: 域名服务器的cache数据都是存放在内存中,而不是存放在db.cache文件中,这个文件仅仅被用来指明根服务器的IP地址。 辅域名服务器上的named.boot文件和主服务器上的非常接近,只是在关键字primary的地方用secondary代替,同时IP地址为辅域名服务器的IP地址。 named守护进程在启动的时候会重新读取服务器的数据文件。所以无论对数据文件做了任何修改,都应该重新启动服务。 重启动服务的命令为:kill - HUP named_pid 或者sig_named restart。 加载DNS数据文件 当系统的运行模式为2或者更高的时候,/sbin/rc2.d中的一个启动脚本就会执行。这个脚本链接到运行脚本/sbin/init.d/named。这个脚本从/etc/rc.config.d/namesvrs中获取适当的变量。域名服务器用/usr/sbin/named命令启动。这是一个后台运行的守护进程。当named被激活,它会从启动文件/etc/named.boot中找到数据库文件的位置。 NAMED_ARGS变量很少使用。启动域名服务的语法和选项如下: Syntax:named [ -d debuglevel} [ -p port_number] [ -b bootfile} 选项有: -d -d后面的数字决定信息显示的级别。调试输出信息被重定向到 /var/tmp/named.run文件中。 -p 使用另外一个端口号 -b 使用另外一个启动文件而不是/etc/named.boot。 在任何时候,你都可以使用运行脚本来手工停止或者重启动named. # /sbin/init.d/named stop # /sinb/init.d/named start 注意: named进程只运行允许在BIND服务器上运行,而不能在BIND客户端运行。 更新主域名服务器 1.更新主域名服务器上的/etc/hosts文件 # vi /etc/hosts 2. 使用hosts_to_named命令重建DNS数据文件 # cd /etc/named.data # hosts_to_named -f param 3. 使用 sig_named restart命令重新读取DNS数据文件。 # sig_named restart 如果你的DNS域中新添加了一台主机或者修改了IP地址,这时就需要更新域名服务器的数据文件。你可以直接使用"vi"来进行修改,但是在一个简单的域中,你可以先修改/etc/hosts文件,然后运行hosts_to_named命令。 1.更新主域名服务器上的/etc/hosts文件。 在/etc/hosts文件中添加新的条目。一定要使用完全格式的主机名。 vi /etc/hosts 127.0.0.1 localhost 128.1.1.1 sanfran.ca.hp.com. sanfran 128.1.1.2 oakland.ca.hp.com. oakland 128.1.1.3 la.ca.hp.com la 128.1.1.4 sacramento.ca.hp.com sacramento 2.在主域名服务器上重新运行hosts_to_named命令。 此操作会重建主域名服务器上的DNS数据文件,使之能反映/etc/hosts文件的更动。 cd /etc/named.data hosts_to_named -f param 3.在主服务器上运行sig_named 默认的情况下,named进程在启动的时候只去读取db文件。sig_named命令强制named守护进程重新装载更新过的数据库文件。 sig_named restart 注意这时辅域名服务器上的数据不会立刻同步更新。下一章讲述如何更新辅域名服务器上的数据文件。 更新辅域名服务器 Q:如何知道DNS数据文件是最新的, Q:什么时候更新DNS数据文件, A:named根据数据文件的SOA记录来判断是否和什么时候对文件进行更新。 更新操作只需要在主域名服务器上进行。辅域名服务器只是在发现序列号增加的时候才进行一次数据传送。这要看SOA记录中的更新数据的定时器的配置。如果想要立即更新辅服务器上的数据,使用sig_named restart命令重新启动服务即可。 SOA记录列出一个序列号,主服务器上的数据库文件每更新一次,这个数字就会增长。每使用一次hosts_to_named命令,这个数字就会变化一次。辅域名服务器会定时检查这个序列号,如果主服务器上的这个序列号增长了,就自动进行一次数据传递来更新数据。如果在更新的时刻不能连通主域名服务器,隔一个时间段系统会自动重试;如果在一段给定的时间内都不能与主服务器联系,辅域名服务器会放弃所有更新的数据。 注意:辅域名服务器定时自动从主服务器更新数据,而如果你想要立即更新数据,在辅服务器上执行sig_named restart命令即可。
/
本文档为【网络管理-DNS域名解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索