linux之DNS服务器

DNS的基本概念及作用

   DNSDomain Name System的缩写,中文的含义是域名系统。其作用是将人们易于记忆的域名与人们不容易记忆的IP地址进行转换。执行此项功能的主机被称为DNS服务器。

   例如:在Internetwww.aa.com是一个域名,其IP地址是192.168.0.3.显而易见前者比后者容易记忆。但是用户必须确保用到的域名已经在DNS服务器中做好了相应的IP地址映射工作。

DNS的结构

linux之DNS服务器

     其中根域是有多台DNS服务器构成,是树的*,它表示未命名的等级。在DNS域名中使用时,他的尾部用”.”表示,以指定该名称位于层次结构的最高层或根。在这种情况下DNS域名被认为是完整名称并指向名称树种的确切位置。以这种方式表示的被称为完全合格域名FQDN。例如“Ly.edu.cn.

     *域:通常有三个字母组成,指示国家或单位类型。常见的*域有:com,edu,org,gov,net

     二级域:是在Internet上使用而注册到个人或单位的长度可变的名称,它必须基于相应的*域。

     子域:单位可以创建的其他名称,这些名称从已注册的二级域名中派生,并可将其按部门或地理位置设置。

DNS的组成

   在概念上可以把DNS分为三个部分

域名空间:这是标识一组主机并提供它们的有关信息的树结构的详细说明。树上的每一个节点都有它控制下的主机的有关信息的数据库

域名服务器:这是保持并维护域名空间中数据的程序。每个域名服务器含有一个域名空间子集的完整信息,并保存其他有关部分的信息
    解析器:解析器是简单的程序或子程序库,它从服务器中提取信息以响应对域名空间中主机的查询。

DNS服务器的类型

DNS服务器(某个区域是主区域master.

辅助DNS服务器(说明某个区域是从区域slave),可以从主服务器中转移一整套域信息。

缓存服务器等

DNS区域类型

maser标准主区域:创建新的查找数据库,存储主机名和IP地址的解析记录。

slave标准辅助区域:是标准主区域的数据库的只读拷贝,使用它可减轻主服务器的工作负荷,DNS使用区域传送从主域名服务器发送记录到辅助的域名服务器上。

hint:线索区域

forward:转发区域

DNS查询

DNS性质:DNS是一个分布式数据库系统,它提供将域名转换成IP地址信息。

名称解析:将域名转换成IP地址的方法,即查询转换的过程。

查询:递归查询(逐级的一个过程),和迭代查询(一个服务器请求多次)

名称解析分类:

正向解析:DNS将域名转换成IP地址的过程。

反向解析:DNSIP地址转换成域名的一个过程。

DNS资源记录类型

FQDN-->IP  A记录,AAAA记录  正向解析

       IP-->FQDN PTR指针记录       反向解析

       SOA:Start Of Authority :起始授权记录,由此开始下面是区域,

       NSNameserver  后面要加主机名称 标识区域的负责人

       CNAME:别名记录,正式记录

       MX:Mail exchanger  邮件交换器  只存在正向(A)记录中  

DNS的安装过程

  下面是安装bind97的一个简单操作

#yum list all | grep bind    查看当前系统上的bind的详细信息。

#rm –e bind-libs bind-utils   删除以前安装的bind

#yum install bind97 bind97-libs  bind97-utils  使用yum安装bind97

DNS的配置过程

  安装过DNS后,现在我们开始配置DNS的主配置文件/etc/named.conf  ,可以把原先的配置文件删除,自己建立一个具体内容如下

  options{

     directory /var/named定义DNS服务数据所在的文件目录

};全局配置项

   zone “.”  IN{            区域

          type hint;

          file “named.ca” ;

};

zone “localhost” IN {    正向解析

  type master

   file “localhost.zone”

};

     zone “0.0.127” IN{        反向解析

        type master

        file “named.local”

};

配置好主配置文件之后,接下来建立正向解析的文件localhost.zone 和反向解析的文件named.local.

  vim localhost.zone

  $TTL 600

  localhost.  IN  SOA localhost.  admin.localhost. (

                    2012071001      主服务器数据库上的版本号,也就是序列号

                    50M             复制间隔时间

                    20M             重试时间

                    3D               过期时间

                    1D)              否定回答时间

 localhost.  IN NS    localhost.

 localhost.  IN A     127.0.0.1

 

vim named.local

 $TTL 600

@  IN  SOA  localhost. admin .localhost.(

                    2012071001      主服务器数据库上的版本号,也就是序列号

                    50M             复制间隔时间

                    20M             重试时间

                    3D               过期时间

                    1D)              否定回答时间

@    IN  NS  localhost.

 1                 IN   PTR  localhost.

修改文件的属组权限

#chown :named  /etc/named.conf

#chmod 640  /etc/named.conf

#cd  /var/named

#chown :named named.local localhost.zone

#chmod 640 named.local localhost.zone

检查配置文件以及区域的语法错误

#named-checkconf   检查配置文件的语法错误

#named-checkzone  localhost  localhost.zone

#named-checkzone  0.0.127.in-addr.arpa named.local

到此为止简单的DNS已经配置成功,接下来只需重启服务即可

#service named start   效果如下图

linux之DNS服务器

主从配置过程

 现在我们就假设我们有两台DNS服务器ABA作为主服务器,作为从服务器

  主机AIP 172.16.99.1   域名ns1.magedu.com

  主机BIP172.16.200.1   域名为ns2.magedu.com

其中还有mail.magedu.com,pop3.magedu.com

首先配置主DNS服务器,在上面的配置基础上,我们只需要在/etc/named.conf文件中添加如下区域即可。

linux之DNS服务器 

上图中的allow-transfer表示允许传送,后面跟允许传送的主机IP

然后分别创建magedu.com.zone16.172.zone两个文件

vim magedu.com.zone,文件内容具体如下图

linux之DNS服务器

vim 16.172.zone 文件具体内容如下图

linux之DNS服务器

然后使用named-checkzone检查区域错误。

测试建立的DNS服务器,测试结果如下图

linux之DNS服务器

配置从DNS服务器

   主服务器配置基本上一样,但是从DNS服务器不用配置区域文件而是从主DNS服务器上复制而来,因此只需把主配置文件中的区域类型修改成slave即可,具体配置如下图:

linux之DNS服务器

然后service named start 启动服务,查看/var/named/slaves 目录下生成两个文件,如下图所示

linux之DNS服务器

查看自动生成的文件magedu.com.zone 如下图所示

linux之DNS服务器

由此可知主从配置成功

 DNS子域授权

   由于DNS分布式的层级结构,把一个大名称空间划分成许多小的名称空间,并逐级委托给某一个小空间的小服务器来实现名称解析的应用,当DNS服务器繁忙时,可以授予子域进行名称解析,以减少服务器压力。

  在这里我们只讲解正向区域的DNS子域授权。

 假使我们有两台主机ABA作为主DNS服务器,B作为子域授权服务器

AIP地址为172.16.99.1BIP地址为172.16.8.1

配置主机A

主机A的主配置文件/etc/named.conf 和主从配置中A的配置一样,在这里就不再讲述了,接下来只需编辑区域文件,在magedu.com.zone中添加如下内容即可

tech.magedu.com  IN  NS ns.tech.mageduc.om

ns.tech.magedu.com IN A  172.16.8.1

然后重启服务

 配置主机B

   配置DNS的主配置文件/etc/named.conf,先按照上述配置DNS过程把DNS服务能够启动起来,然后在主配置文件中添加如下区域,并创建区域文件即可,具体内容如下图

linux之DNS服务器

  编辑区域文件

vim tech.magedu.come.zone具体内容如下图

linux之DNS服务器

vim 172.16.zone,具体内容如下图

linux之DNS服务器 如果有些请求BDNS服务器不能解析,则可以转发给主机A进行解析,此时只需在主机B中的主配置文件/etc/named.conf中添加区域

 zone “magedu.com” IN {

       type forward;

       forward none;

       forwarders { 172.16.100.1; } ;  指定转发给谁

};

 

本文转自  沐木小布丁  51CTO博客,原文链接:http://blog.51cto.com/sxhxt/925858

上一篇:SSH反向隧道的内网穿透


下一篇:Loadrunner通过SSH模拟故障连接