`
opensky85
  • 浏览: 73370 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Linux下配置DNS服务器

阅读更多

前言:半个月前开始安装、学习REDHAT LINUX7.0。作为一个Linux新手,不可避免的遇上了一些问题,通过翻阅书籍资料,查看BBS,自己的摸索实践,也解决了一些问题。

 

  想到自己的经验教训可供他人借鉴,于是大胆写出来,一来可以当作学习笔记保存,二来希望对刚刚接触Linux的朋友有所帮助。由于本人能力所限,笔记中有所疏漏不足也在所难免,还请各位高手海涵。

 

  一、DNS简介

 

  DNS就是Domain Name System,它能够把形如www.szptt.net.cn(深圳之窗)这样的域名转换为202.96.134.163这样的IP地址;没有DNS,浏览深圳之窗这个网站时,就必须用202.96.134.163这么难记的数字来访问。提供DNS服务的那台电脑,就是DNS服务器。

 

  DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。

 

  DNS的详细原理、工作流程、术语、概念,限于篇幅,这里就不说了。可以阅读专门的文章,如DNS-HOWTO加以了解。

 

  二、设置目标

 

  一台RedHat Linux7.0的电脑,IP是10.0.0.39,主机名是netfinity.zrs.com。所处的局域网已有一台DNS服务器,地址是10.0.0.211,负责解析baoan.gov.cn这个域。现在要在10.0.0.39上配置一台DNS服务器,让它负责zrs.com这个域的解析工作,同时也作为baoan.gov.cn域的辅助DNS服务器。所有相关文件的压缩包可以从这里下载。

 

  三、配置本机为ZRS.COM域的主DNS服务器

 

  Linux下的dns功能是通过bind软件实现的。bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var/named目录下。加上其他相关文件,共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。

 

  第一类:位于/etc目录下的有:hosts,hosts.conf,resolv.conf,named.boot,named.conf。

 

  1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:

 

  127.0.0.1 localhost.localdomain localhost

  10.0.0.39 netfinity.zrs.com netfinity

  2、“hosts.conf”文件,"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:

  order hosts, bind

  multi on

  nospoof on

  3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:

  domain zrs.com

  nameserver 10.0.0.39

  4、“named.boot”文件是早期版本的bind软件使用的配置文件,现在新版本中已经让位于“named.conf”。named.conf是dns server配置的核心文件。下面我们一段一段的来解说。

 

  // generated by named-bootconf.pl

 

  options {

  directory "/var/named";

  /*

  * If there is a firewall between you and nameservers you want

  * to talk to, you might need to uncomment the query-source

 

  * directive below. Previous versions of BIND always asked

  * questions using port 53, but BIND 8.1 uses an unprivileged

  * port by default.

  */

  // query-source address * port 53;

  };

 

  //

  // a caching only nameserver config

  //

 

  zone "." IN {

  type hint;

  file "named.ca";

  };

 

  zone "0.0.127.in-addr.arpa" IN {

  type master;

  file "named.local";

  allow-update { none; };

  };

 

  这一部分是你安装了bind软件后系统自动产生的named.conf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“name.ca”,根的反向查询域的记录文件是“named.local”。这两个记录文件也是系统自带的,不用去改动它。named.conf文件的这一部分内容,我们不必去改动它。

 

 

 

但我们可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。

 

  zone "zrs.com" IN {

  type master;

  file "named.zrs.com";

  allow-update { none; };

  };

  zone "0.0.10.in-addr.arpa" IN {

  type master;

  file "named.zrs.com.rev";

  allow-update { none; };

  };

 

 

  这一部分是手工添加的。定义了“zrs.com”这个域和对应的反向查询域。“type master”说明本机是“zrs.com”和“0.0.10.in-addr.arpa”这两个域的主dns服务器(primary name server)。“named.zrs.com”和“named.zrs.com.rev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。

 

  第二类:资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。

  1、named.zrs.com文件内容如下:

 

  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (

  1997022700 ; Serial

  28800 ; Refresh

  14400 ; Retry

  3600000 ; Expire

  86400 ) ; Minimum

  IN NS netfinity.zrs.com.

  IN MX 10 netfinity.zrs.com.

 

  netfinity IN A 10.0.0.211

  lily IN A 10.0.0.139

  www IN CNAME netfinity.zrs.com.

  pop3 IN CNAME netfinity.zrs.com.

  smtp IN CNAME netfinity.zrs.com.

 

  在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.zrs.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www.zrs.com、pop3.zrs.com其实都是指向同一台主机netfinity.zrs.com。

 

  2、named.zrs.com.rev文件内容:

  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (

  1997022700 ; Serial

  28800 ; Refresh

  14400 ; Retry

  3600000 ; Expire

  86400 ) ; Minimum

  IN NS netfinity.zrs.com.

 

  211 IN PTR netfinity.zrs.com.

  139 IN PTR lily.zrs.com.

 

  这是“zrs.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。

 

  到此为止,你已经成功配置了一个dns服务器,它能够解析“zrs.com”这个域了。

 

  四、配置本机为BAOAN.GOV.CN域的辅助dns服务器

 

  辅助DNS服务器,可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。在辅助服务器中有域信息的完整拷贝,所以也可以可以回答对该域的查询。这部分的配置内容如下:

 

  zone "baoan.gov.cn" IN {

  type slave;

  file "named.baoan.gov.cn";

  masters { 10.0.0.211; };

  allow-update { none; };

  };

  zone "0.0.10.in-addr.arpa" IN {

  type slave;

  file "named.baoan.gov.cn.rev";

  masters { 10.0.0.211; };

  allow-update { none; };

  };

  可以看到,和主DNS服务器不同地方就是:“type”改为了“slave”,然后指明了主DNS服务器的地址“masters { 10.0.0.211; };”。DNS服务启动时,就会自动连接10.0.0.211,读取BAOAN.GOV.CN域的信息,然后保存到本机的named.baoan.gov.cN文件里。我就是通过这个功能把原来10.0.0.211(系统为windows2000)上的所有记录复制了一份到10.0.0.39上。

五、测试DNS服务器

 

  改动过DNS的相应文件,用“ndc restart”命令重新启动服务,使改动生效。要测试DNS,可以找一台客户机,把它的DNS地址设成新建立的DNS服务器地址,然后试试上网,收信,下载等。也可以使用nslookup命令:运行nslookup,输入要查询的主机名,看是否返回正确的ip地址。

分享到:
评论

相关推荐

    Linux 下的DNS服务器配置

    Linux 下的 DNS 服务器配置 Linux 作为一款开源操作系统,在网络服务方面提供了非常强大的支持,包括 DNS 服务器的配置。DNS(Domain Name System)是互联网中的一种服务,能够将人类易于记忆的域名转换为机器易于...

    linux下DNS服务器的配置,DNS的辅助服务器配置.doc

    Linux 下 DNS 服务器的配置和辅助服务器配置 Linux 下 DNS 服务器的配置是指在 Linux 操作系统中安装和配置 DNS 服务器,以提供域名解析服务。DNS(Domain Name System)是互联网上的一种域名解析系统,它可以将...

    基于Linux下的DNS服务器的构建与配置

    2.Linux 下的 DNS 服务器配置:讲解如何在 Linux 系统中配置 DNS 服务器,包括安装 DNS 服务器软件、配置 DNS 服务器、测试 DNS 服务器等。 3.DNS 服务器的安全配置:讨论 DNS 服务器的安全问题,包括 DNS 服务器的...

    Linux平台下DNS服务器的实现与应用.pdf

    "Linux平台下DNS服务器的实现与应用" 本文主要介绍了在Linux操作系统平台上实现DNS服务器的配置和应用。文章首先介绍了DNS服务器的背景和发展历程,然后详细介绍了DNS服务器的实现过程,包括 Bind 软件的安装和配置...

    linux下dns服务器的搭建.pdf

    Linux 下 DNS 服务器的搭建 DNS(Domain Name System)是互联网中的一种解析域名的系统,能够将域名转换为 IP 地址,以便人们更方便地访问互联网上的资源。在 Linux 环境下搭建 DNS 服务器是非常重要的,这样可以...

    LINUX下的DNS服务器设置.rar_dns _dns linux_linux_linux DNS_linux 服务器

    这篇教程将深入讲解如何在Linux环境下设置DNS服务器,包括基本概念、配置文件解析以及实际操作步骤。 一、DNS服务器基础 DNS是一个分布式数据库系统,其主要功能是解析域名到IP地址的映射。在Linux中,常用的DNS...

    Linux中搭建DNS服务器.doc

    域传送漏洞是由于 DNS 服务器配置不当,导致匿名用户利用 DNS 域传送协议获取某个域的所有 DNS 记录。域传送漏洞的危害是网络拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器等。直接加快...

    Linux_DNS服务器的配置

    Linux_DNS服务器的配置 Linux_DNS服务器的配置

    Linux下DNS服务器配置的分析和探讨.pdf

    Linux下DNS服务器配置的分析和探讨 本文对Linux下DNS服务器配置进行了深入的分析和探讨,从基本的DNS配置讲起,深入分析最新的DNS配置技术,同时介绍不同版本Linux的DNS配置的差别。 一、DNS简介 DNS(Domain ...

    Linux环境中DNS服务器的配置与优化.pdf

    Linux环境中DNS服务器的配置与优化 本文详细介绍了Linux环境中DNS服务器的配置与优化,讨论了DNS服务器的重要性和 Bind 软件的使用。 DNS 服务器是网络信息共享的技术支持,能够提供域名和 IP 地址之间的自动转换。...

    linux下的DNS服务器

    区域文件通常放在`/etc/bind/zones`目录下,它们定义了DNS服务器所管理的域名及其记录。 **配置DNS区域**: 创建一个新的区域文件,例如`example.com.zone`,包含以下内容: ``` $TTL 86400 @ IN SOA example....

    linux主辅dns服务器配置的说明

    本文将详细介绍Linux环境下主辅DNS服务器的配置方法,特别是使用BIND作为DNS服务器软件的具体步骤。 #### 二、主辅DNS服务器概述 ##### 1. 需求背景 - **单点故障问题**:单一DNS服务器可能会因为网络问题或软硬件...

    SuSE_Linux_DNS服务器简单配置

    DNS 服务器配置是 SuSE Linux 中的一项重要任务,本文档旨在指导用户如何配置 SUSE Linux DNS 服务器,涵盖了 DNS 服务器的基础知识、 BIND 套件安装、 DNS 服务器配置、区域文档文件创建等内容。 一、DNS 服务器...

    linux下DNS服务器配置

    "linux下DNS服务器配置" Linux下的DNS服务器配置是指在Linux系统中安装和配置DNS服务器的过程。DNS(Domain Name System)是互联网上的一种目录服务,负责将域名转换为IP地址。 Linux下的DNS服务器可以分为三种:...

    Redhat_Linux下DNS配置

    总的来说,配置Redhat Linux下的DNS服务器涉及多个层面,包括软件安装、配置文件编辑、权限管理和网络设置。理解每个环节的作用和配置细节是成功的关键,同时也需要对Linux系统和DNS协议有深入的了解。希望这篇指南...

Global site tag (gtag.js) - Google Analytics