如何在Linux上建立DNS服务器_第1页
如何在Linux上建立DNS服务器_第2页
如何在Linux上建立DNS服务器_第3页
如何在Linux上建立DNS服务器_第4页
如何在Linux上建立DNS服务器_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何在Linux上建立DNS服务器,什么是DNS服务器使用DNS的应用条件LINUX下的DNS简介named/etc/named.confndc,域名服务器(DNS),在TCPIP网络上,各个设备必须被分配一个惟一的地址。地址的语法由IP协议指定,称为IP地址。IP地址是4个0、255范围内的数字,由点号分开,例如127001。Internet或企业Intranet中的计算机使用这些数字地址与其他计算机通信。人们在使用网络资源的时候,倾向使用有代表意义的名称。这正是域名系统(DNS)出现的原因。DNS是一个分布式数据库系统,提供了主机名称与IP资源之间的映射。,DNS按逆向树的方式工作,很类似于文件系统中的目录结构。为了便于管理,DNS被划分为域。从顶层DNS结构以下的第一层独立的实体是七个顶层域,它们按照不同类别划分。商业组织使用com域;教育组织使用edu域;政府部门使用gov域等等。这些域可以被进一步划分为代表域中独立企业和分支的子域。,DNS的名字服务部分是基于客户服务器机制的,客户查询名字服务器(即DNS服务器)查找主机地址信息。各个DNS区域中都设置了一台主名字服务器,它维护了区域中所有主机信息的权威性数据库。除了本地主机信息,名字服务器还维护了如何与其他名字服务器通信的信息。如果名字服务器中没有保存特定域的信息,它在接收到关于该域的请求时,将继续沿着域层次把请求向上或向下传递,直到查找到一个权威答案。最常用的DNS名字服务器包括主名称服务器和二级名称服务器。,1主名称服务器主名称服务器时从本地硬盘文件中检索DNS登记项的服务器。对于特定区域,主名称服务器是具有权威性的,因为它不需要从其他区域的名字服务器中再次查询DNS信息。每个区域中都只有一个主名字服务器。一台服务器可以用做某个区域的主服务器,同时作为另一个或多个区域的二级服务器,2、二级名字服务器二级名字服务器中保存了主名字服务器DNS数据库的只读副本。当二级名字服务器启动时,它与主名称服务器联系并请求一个完整的主DNS数据库的副本。在最初的复制之后,二级名称服务器定时与主名称服务器联系,并下载最新的DNS信息。这个下载过程被称为“区域传输”,它保证了主名称服务器上修改的DNS信息跨越系统被复制。区域传输通常每2到4小时进行一次。二级名字服务器可以从多台主名字服务器中接收DNS更新信息。换句话说,一台主机可以作为多个区域的二级DNS服务器。,当本区域不能解析某个DNS请求时,服务器可以将请求转发给网络中的其他DNS服务器进行解析。主DNS服务器和二级DNS服务器都可以实现这种转发的功能。要配置DNS服务器、二级DNS服务器,需要在netconf中选择“DomainNameServer(DNS)”菜单项。下面,介绍其中的选项:“domain”定义了DNS管理的域名。“reversemapping”建立了一个伪域,“secondaries”用于创建二级服务器。把IP地址转换伪主机名称。“forwarders”和“forwardzones”用于设置DNS服务器的转发功能。,使用DNS的应用条件,下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下:(1)一个C类网段地址(本例中假定是192.168.2)(2)企业域名为,并已注册(主域名服务器地址192.168.2,主机名为)(3)企业网通过路由器与Internet连接,假如你的应用环境与上述条件不同,可在上述例子的基础上针对以下情况作修正:(1)多个网段(2)封闭的内部网(3)只能访问局部公共网的情况(如169网、上海热线等),LINUX下的DNS服务器,DNS服务器的主体是域名服务器进程named,named启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。/etc/rc.d/init.d/namedstart启动域名服务named启动时需要读取一个初始化文件,缺省情况下是/etc/named.conf,所以/etc/named.conf是named的基本配置文件。,建立named配置文件/etc/named.conf,/etc/named.conf是基本的配置文件,但不包含任何DNS数据,针对我们前面的假定,我们先建立以下/etc/named.conf,其内容如下:,其中以“;”开头的行是注释行,其他各行含义是(1)diretory/var/named指定named从/var/named目录下读取DNS数据文件。这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下。,(2)db.my指定named作为域的主域名服务器,db.my文件中包含所有*形式的域名转换数据。(3)primary0.0.127.IN-ADDR.ARPAdb.127.0.0指定named作为127.0.0网段地址转换主服务器,db.127.0.0文件中包含了127.0.0.*形式的地址到域名的转换数据。(127.0.0网段地址是局域网接口的内部loopback地址),(4)primary33.22.192.IN-ADDR.ARPAdb.192.22.33指定named作为192.22.33网段地址转换主服务器,db.192.22.33文件中包含了所有192.22.33.*形式的地址到域名的转换数据。(5)cache.db.cache指定named从db.cache文件中获得Internet的顶层“根”服务器地址要注意(3)(4)两行中的网段地址是倒写的,建立各个DNS数据文件,下一步,要按/etc/named.conf中的定义,建立各个DNS数据文件。,(1)建立正向域名转换数据文件db.my根据/etc/named.conf的定义,我们在/var/named目录下建立db.my,其中应该包括所有在域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是db.my的例子:,INSOA.(199511301;serial,todaysdate+todaysserial#28800;refresh,seconds7200;retry,seconds3600000;expire,seconds86400);minimum,secondsNS.MX10.,localhostAlinuxA0support2A02hp712A60supportA00mailMX10.MX20.wwwCNAME.ftpCNAME.nsCNAME.,其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。,括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username形式邮件地址所对应的邮件服务器名字。在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以为例,在A记录中域被省略,只写成hp712,named在处理时会根据named.conf中的定义自动加上,而其对应IP地址为60。,另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将username的邮件地址转换成username或username,即实际上真正的邮件服务器是和,其中的优先数为10,的优先数为20,所以通常邮件首先被发往优先数小的主机。,还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,比如我们将作为公司的www和ftp服务器,所以我们提供了和作为的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”,建立反向DNS数据文件,建立反向DNS数据文件db.127.0.0和db.192.22.33反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。对于内部网段127.0.0通常只有一个地址,即loopback地址,db.127.0.0内容如下:,INSOA.(1997022700;Serial28800;Refresh14400;Retry3600000;Expire86400);MinimumINNS.1INPTRlocalhost.,而外部网段的数据文件db.192.22.33中包含所有主机IP地址到DNS主机名的转换数据。db.192.22.33内容如下:INSOA.(199609206;Serial28800;Refresh7200;Retry604800;Expire86400);MinimumTTLNS.,;Allhosts;20PTR.102PTR.100PTR.160PTR.反向DNS数据文件中的主要部分是PTR记录,PTR记录中的IP地址都只有主机号,named会根据named.conf的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”,获得db.cache文件,在Linux系统上通常在/var/named下已经提供了一个named.ca,该文件文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic下载最新的版本。该文件可通过匿名ftp从下载,在domain目录下,文件名为named.root。注意该文件下载后要拷贝到named的工作目录并重命名成named.conf中指定的文件名,本文中为db.cache。,五、启动和测试named,首先,用/etc/rc.d/init.d/namedstart启动named:然后,为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/etc目录下,创建resolv.conf文件。以我们的例子,/etc/resolv.conf内容为:,nameserver0然后,我们就可以测试named了。Linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入:nslookup就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊断:,1)检查正向DNS解析,在nslookup提示符下输入带域名的主机名,如,nslookup应能显示该主机名对应的IP地址,如果只输入hp712,nslookup会根据/etc/resolv.conf的定义,自动添加域名并回答对应的IP地址。,(2)检查反向DNS解析,在nslookup提示符下输入某个IP地址,如0,nslookup应能回答该IP地址所对应的主机名。,(3)检查MX邮件地址记录,在nslookup提示符下输入:settype=mx然后输入某个域名,以本文的例子,输入或,nslookup应能够回答对应的邮件服务器地址,即和。,(4)检查CNAME别名记录,在nslookup提示符下输入:setq=cname然后输入某个别名,如,nslookup应能回答对应的真实主机名,即。如要退出nslookup,可输入exit。,六、修改DNS数据,如果要在网络中增加主机,例如要增加一台叫做的PC机,管理员要在db.my中增加该主机对应的A记录,并且要在db.192.22.33中增加对应的PTR记录,然后用/etc/rc.d/init.d/namedrestart更新named的数据:要注意必须同时更改A记录和PTR记录,许多管理员往往只增加A记录而忽略了逆向查询用的PTR记录,结果会使许多应用程序不能正常运行。特别注意,一旦修改了DNS数据文件的内容,请务必改动数据文件的版本号(Serial),七、使网络中的其他系统(客户机)使用DNS服务器,一旦DNS服务器开始工作,就可以配置所有企业网内的主机使用DNS服务。Unix主机配置的方法,已经在前面说明过,即创建/etc/resolv.conf文件,内容见前面第五节。Windows98的配置则是在网卡的TCP/IP配置中,选择使用DNS(enable),然后在配置窗口中分别填入各项参数。以本文的例子,如果运行Windows95的主机被命名为,则在主机名(Host)一栏中填pc01,在域名(Domain)一栏中填,然后把域名服务器(DNSServer)加入搜索列表中。WindowsNT节点的配置大致相同。,八、几种不同环境下的修正,(1)如果IP网段多于一个(2)如果企业网是封闭的(3)如果你联入的公共网不能访问Internet,假定现在在域中增加一个IP网段192.22.37,则/etc/named.conf的内容中就增加一个网段的定义,具体如下:;bootfilefornameserver;directory/var/db.myprimary0.0.127.IN-ADDR.ARPAdb.127.0.0primary33.22.192.IN-ADDR.ARPAdb.192.22.33primary37.22.192.IN-ADDR.ARPAdb.192.22.37cache.db.cache而反向DNS数据文件则增加一个定义192.22.37网段的文件db.192.22.37,其中包括了所有处于192.22.37网段中的节点,其格式与db.192.22.33类似。,如果企业网络不与外界Internet直接互连,DNS服务器就不必关心本企业域以外的域名,所以配置named的时候可以不理会db.cache,我们可以将/etc/named.conf中的cache行去除。,如果你的内部网接入的公共网只能访问有限的范围,如免费的169网、上海热线等,那么你的DNS服务器就不能通过Internet的顶层服务器(rootserver)进行地址解析,所以你必须用你直接能访问到的DNS服务器来替代。具体办法是用forwarders选项来指定上级DNS服务器,以本文为例,named.conf的内容为:,;bootfilefornameserver;directory/var/db.myprimary0.0.127.IN-ADDR.ARPAdb.127.0.0primary33.22.192.IN-ADDR.ARPAdb.192.22.33primary37.22.192.IN-ADDR.ARPAdb.192.22.37forwarders.optionsforward-only,其中.是你能直接访问到的DNS服务器的地址,通常就是你的ISP(169、上海热线等)的DNS服务器的地址,至少要有一个。通过forwarders和optionsforward-only参数的指定,你的企业DNS服务器就工作在forward-only模式下,所有本地不能解决的名字都被传送到ISP的DNS服务器上去解析。,九、建立后备DNS服务器(SecondaryDNSServer),通常有一台DNS主服务器,网络即可正常工作,但根据Internic对域名的管理规范,一个独立的域名必须至少有两台DNS服务器,即一台DNS主服务器(PrimaryServer)和一台后备DNS服务器(SecondaryServer),这主要是为DNS服务的可靠性考虑,能使Internet的性能更为可靠。,现在仍以前面的例子,现在要加入一台运行Linux的机器,IP地址为0。(1)主服务器上的修改首先确认DNS主服务器工作正常,然后,在主服务器上的正向DNS数据文件db.my中,加入的有关记录,并增加一个NS记录,使主服务器上的db.my成为下列内容:,INSOA.(199511301;serial,todaysdate+todaysserial#28800;refresh,seconds7200;retry,seconds3600000;expire,seconds86400);minimum,secondsNS.NS.;必须增加的记录MX10.,localhostAlinuxA0support2A02hp712A60supportA00nspcA0;增加的记录mailMX10.MX20.wwwCNAME.ftpCNAME.ns2CNAME.;增加的记录nsCNAME.,然后对主服务器上的各个反向DNS数据文件做类似的修改,增加有关后备服务器的NS记录,然后重新起动named。可见,其实在主DNS服务器上的改动主要是增加了一条NS记录,其余的改动和增加一台普通节点一样,如果是用现有的节点做后备DNS服务器,则增加NS记录是唯一必须的步骤。,2)后备DNS服务器(secondaryserver)的配置,需要在后备DNS服务器上创建的配置文件只有named.conf和db.cache,格式与主服务器相似,named.conf内容为:,;bootfile

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论