Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置

简介:

一、DNS简介

一、DNS简介    

    DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个域名可以有多个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。

1. DNS解析分正向解析和反向解析

正向解析:

        正向解析是指域名到ip地址的解析过程。

反向解析

         反向解析是指Ip地址到域名的解析过程。

2. DNS查询:分递归查询和迭代查询

        递归查询: 即客户端向本地DNS服务器请求查询域名,本地DNS服务器收到查询任务后如自身无法回答则向其他服务器查询,直到查到结果后返回结果给客户端。期间DNS服务器可能要查询很多其他DNS服务器。
        迭代查询:即客户端向本地服务器请求查询域名,本地DNS服务器无法回答,则给客户端返回另一个能查询域名的服务器地址,客户端再向另一服务器查询,期间可能客户端需查询多个DNS服务器,最终查到结果。

3. 主从DNS服务器:

         主DNS服务器(Master DNS): 数据库的修改更新;

         辅助DNS服务器 (SlaveDNS):请求主DNS服务器的数据同步更新;

         缓存DNS服务器:它主要用来缓存查询的地址信息,而不用承担任何其他的工作。它没有区域文件,也不从其他DNS服务器传输数据。它能响应客户机的查询,但是没有授权。

4. 资源记录类型

        1>.SOA记录:SOA名叫起始授权机构记录,用于说明负责解析的DNS服务器中哪一个是主服务器。

        2>.NS(NAME SERVER):名称服务器记录,用于说明这个区域由哪些DNS服务器负责解析,NS和A记录是成对出现   如:

1
2
3
  NAME                  TTL         IN        RPT             VALUE   
51yunxuexi.club.       400         IN        NS           ns.51yunxuexi.club.
ns.51yunxuexi.club.    400         IN        A               1.1.1.1

        3>.A记录(address):地址A记录把FQND(域名)解析到IPv4地址,把主机名解析到IPv4地址,正向解析

        4>.AAAA记录(address):AAAA资源记录把FQDN解析到IPv6地址,把主机名解析到IPv6地址

        5>.PTR指针记录(pointer):和A记录相反,用于实现IP地址映射到FQDN,反向解析

        6>.MX记录: 全称是邮件交换记录(邮件交换器),在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!优先级,0-99,数字越小,优先级越高

        7>.CNAME记录:也可说是别名记录,规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。比如一个网站a.com 在发布的时候,他可以建立一个别名记录,把B.com发布出去,这样不容易被外在用户所察觉!达到隐藏自己的目的!

        8>.SRV记录:它是DNS服务器的数据库中支持的一种资源记录的类型,它记录了哪台计算机提供了哪个服务这么一个简单的信息。SRV 记录:一般是为Microsoft的活动目录设置时的应用。


5. 区域

        区域是用于存储DNS域名的数据库。DSN服务器是以区域为单位来管理域名空间的。DNS数据库表称为区域文件(Zone File)。数据库中包含着DNS域的RR【资源记录】,数据库表中,RR是用文本形式表示的。

 

        一台DNS服务器可以管理一个或多个区域,而一个区域也可以由多台DNS服务器来管理。

在DNS服务器中必须先建立区域,然后才可以根据需要在区域中建立子域以及在区域中添加RR。

 

可以创建正向查找区域反向查找区域两种区域。

1>.区域类型主要区域(主区域)辅助区域(从区域)存根区域、准发区域、提示区域等

        主要区域:它是新区域的主副本,负责在新创建区域的服务器上管理和维护本区域的RR。

        辅助区域:它是主区域的副本【备份】,主要区域中的DNS服务器将把区域信息传递给辅助区域中的DNS服务器。使用辅助区域的目的是提供冗余、减少包含主要区域数据库文件的DNS服务器的负载。辅助区域的数据无法修改,其所有数据都是从主要区域复制而来。

        存根区域:它只包含用于标识该区域的授权DNS服务器所需的RR。含有存根区域的DNS服务器对该区域没有管理权。存根区域只能创建只含有NS、SOA和A记录的区域的副本。其所属的主要区域通常是一个受委派区域。

2>.区与域的关系:

        区包含了域中除了代理给别处的子域外所含有的所有域名和数据。如果域的子域没有被代理出去,则该区包含该子域名和子域中的数据。

6. 区域传输(区域传送) 

        将一个区域文件复制到多个服务器上的过程叫做区域传输。它是通过从主服务器上将区域文件的信息复制到辅助服务器上来实现的。

主服务器是区域复制的来源服务器,它既可以是主要区域,也可以是辅助区域。

*如果主服务器是主要区域,区域传输则直接从主要区域取得区域文件。

*如果主服务器是辅助区域,区域传输仅传输区域文件的一个只读副本。

两种区域文件复制方式:

        AXFR全部区域文件复制,复制整个区域文件。

        IXFR增量区域文件复制,仅仅复制区域里变化的记录。


二、 bind软件包的安装以及配置文件简介

1bind软件包的安装

        在使用DNS服务器时首先要确保bind软件包是否已经安装,可以使用rpm –qa | grep bind 查看。可以使用rpm命令安装,也可以使用yum源安装及所依赖软件包。首先要安装以下三个软件包。

bind-9.8.2-0.17.rc1.el6.x86_64       bind的安装包

bind-utils-9.8.2-0.17.rc1.el6.x86_64

bind-libs-9.8.2-0.17.rc1.el6.x86_64 

源码包安装可以在http://www.isc.org/官网下载安装

bind-chroot软件包:切换named根目录,加强DNS服务器的安全

caching-nameserver.i386软件包    可以快速构建DNS缓存名称服务器

2DNS监听的协议及端口

    53/UDP      默认查询过程中使用的是UDP协议,因不需要三次握手,速度快         

    53/TCP      主从服务数据传输时为确保数据的准确、性完整性和安全行,使用的是TCP   

    953/TCP     rndc远程域名服务控制器则使用953端口监听


3bind配置文件简介

/etc/named.conf bind服务进程的主配置文件,主要定义bind进程的工作属性和区域的定义

       /etc/rnd.key                  远程名称控制器,rndc的密钥文件

       /etc/rndc.conf                rndc的配置文件

       /etc/var/named/               区域数据文件,可自定义名称

       /etc/rc.d/init.d/named  { start|stop|restart|status|reload }服务进程的启动停止重启等

       /usr/sbin/named           bind的主程序文件

       /usr/sbin/named-checkconf     named-checkconf命令检查配置文件是否有语法错误

       /usr/sbin/named-checkzone     named-checkzone命令检查区域文件是否有语法错误

       /usr/sbin/rndc                rndc命令是远程控制工具

       /usr/sbin/rndc-confgen        rndc-confgen 命令是rndc配置文件生成器(/etc/rndc.conf

       /var/named/named.ca           Internet13个根服务器名字和地址,DNS接到客户端主机的查询请求时,如果在Cache中找不到相应的数据,就会通过根服务器进行逐级查询。

           Dig–t NS . 可以查询跟节点的NS服务器(可以访问互联网的情况下)

/var/named/named.localhost      本地localhost主机的正向解析

/var/named/named.loopback       本地localhost主机的反向解析

           /etc/resolv.conf                DNS服务器地址


三、/etc/named.cong主配置文件

      区域的定义,每个选项后面必须要加分号,定义全局选项  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
options {
         //  listen-onport 53 { 127.0.0.1; };               #默认监听本地53端口 
         
         listen-on port 53 { any; };                       #监听所有地址的53端口
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named" ;                      #自定义区域数据文件存放目录
        allow-query     { localhost; };                   #默认只允许本地查询
        recursion  yes ;                                    #是否允许递归
};
  
logging {                                                #日志
         channeldefault_debug {
                file  "data/named.run" ;                    #日志文件存放目录
                severity dynamic;
         };
};

区域zone的定义:

zong “ZONE NAME” IN{

       type    master() | slave() | hint(根区域) | forward(转发}区域类型   

}

如果定义的数据类型为主区域则还需定义 file “区域数据文件路径”;

如果定义的数据类型为主区域则还需定义 file “区域数据文件”;

                                                                                     master (主服务器地址;)

                                                                                 master (master_ip; ) 前后有空格

 

1
2
3
4
zone “.” IN {                                           #定义根区域
               type  hint;                                  #定义根区域类型
               file  “named.ca”;                          #定义根区域数据文件
};

1配置缓存服务器

1
2
3
4
5
6
7
8
9
打开并编辑 /etc/name .conf文件,也可以在named.rfc1912.zones文件中添加zone区域
               zone  "localhost"  IN {                   #定义本地localhost正向解析zone区域
                 type  master;                          #定义主区域类型
                 file "named.localhost" ;                #定义区域数据文件
};
zone  "0.0.127.in-addr.arpa"  IN {                      #定义本地localhost反向解析zone区域
                 type  master;                          #定义主区域类型
                 file "named.loopback" ;                 #定义区域数据文件
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
检查named配置文件语法是否正确
        [root@localhost etc] # named-checkconf
        [root@localhost etc] #
使用named-checkconf命令,无报错则说明配置文件语法正确
检查zone区域配置是否正确
[root@localhost etc] # named-checkzone "0.0.127.in-addr.arpa"/var/named/named.loopback
zone 0.0.127. in -addr.arpa /IN : loaded serial0
OK 
[root@localhost etc] # named-checkzone"localhost" /var/named/named.localhost
zone localhost /IN : loaded serial 0
OK
[root@localhost etc] #
使用named-cone命令检查区域是否有语法错误,返回OK则说明无语法错误
重启DNS服务器
[root@localhost etc] # service named restart
停止 named:.                                              [确定]
启动 named:                                               [确定]
[root@localhost etc] #

 可以使用tail /var/log/messages查看服务是否启动正常        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@localhost log] # tail /var/log/messages
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: 9.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: A.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: B.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]:  command
channel listening on 127.0.0.1 #953
Aug 29 22:43:10 localhost named[21072]:  command
channel listening on ::1 #953
Aug 29 22:43:10 localhost named[21072]: zone
0.0.127. in -addr.arpa /IN : loaded serial 0
Aug 29 22:43:10 localhost named[21072]: zone
localhost /IN : loaded serial 0
Aug 29 22:43:10 localhost named[21072]:
managed-keys-zone . /IN : loaded serial 7
Aug 29 22:43:10 localhost named[21072]: running
[root@localhost log] #

 使用dig –t NS. 命令测试本地缓存解析

wKiom1XkXhSwb9ijAAM4z85iZ58596.jpg2、配置正向解析,反向解析DNS服务器

配置环境:在万网注册域名为    www.51yunxuexi.club

                                   NSDNS服务器master192.168.1.192

                                   NSSOAns1.51yunxuexi.club.

                                   www服务器:192.168.1.106  192.168.1.103

                                   mail服务器: 192.168.1.104

                                   有一台ftpwww主机上,ftpwww的别名CNAME


SOA:起始授权记录格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ZONE NAME           TTL          IN         SOA    FQDN(主DNS名称)  ADMIN MAIL(
                                                                                                                                                               Serialnumber
                                                                                                                                                               Refresh
                                                                                                                                                               Retry
                                                                                                                                                               Expire
                                                                                                                                                               Nattl )
$TTL 600
     @   IN     SOA    [FQDN]51yunxuexi.club.  admin.com.[管理员邮箱] (
                                 2015083001;serial     #版本号(最长为10位数字)
                                 refresh               #定义检查周期时间
                                 1H;retry              #定义重试时间
                                 1W;expire             #定义过期时间
                                 3H );minimum          #定义否定答案时长
  
时间单位:M(分钟)、H(小时)、D(天)、W(周)、默认单位是秒

ZONE NAME(区域名称/etc/named.conf中的zone “51yunxuexi.club”,可以使用@来代替51yunxuexi.club,@可以自动读取zone name

A)、打开并编辑/etc/named.conf,添加正向解析和反向解析的zone

    wKiom1XkYKTAgTzkAAJE7hEbQRI813.jpg

B)、在/var/named/目录下创建51yunxuexi.club.zone

       打开并编辑51yunxuexi.club.zone创建正向解析

       [root@localhost named]# vim /var/named/51yunxuexi.club.zone

wKiom1XkYXSAPGqOAALI6DoE4xI688.jpg

1
2
3
4
5
6
7
8
9
10
11
修改 /var/named  /51yunxuexi .club.zone的文件权限和属组
[root@localhost named] # chmod 640 51yunxuexi.club.zone
[root@localhost named] # chown root:named51yunxuexi.club.zone 
[root@localhost named] #
  
使用named-checkconf和named-checkzone命令检查主配置文件和数据区域文件是否有语法错误。
  [root@localhost named] # named-checkconf
[root@localhost named] # named-checkzone"51yunxuexi.club" /var/named/51yunxuexi.club.zone
zone 51yunxuexi.club /IN : loaded serial 2015080301
OK
[root@localhost named] #

C)、打开并编辑/var/named/192.168.1.zone创建反向解析

        wKioL1XkZBWjmsssAAHKtrHA93I707.jpg

1
2
3
4
5
6
7
使用named-checkconf 和named-zone命令检查配置文件是否有语法错误
[root@localhost ~] #
[root@localhost ~] # named-checkconf
[root@localhost ~] # named-checkzone"1.168.192.in-addr.arpa" /var/named/192.168.1.zone
zone 1.168.192. in -addr.arpa /IN : loaded serial2015080301
OK
[root@localhost ~] #

我在这里使用nslookup命令测试正反向解析是否能正常解析

wKioL1XkZKPDeAAaAANARjKXCwA049.jpg正反向解析正常,说明正反向解析服务器完成配置!



本文转自 zhangguangyi 51CTO博客,原文链接:http://blog.51cto.com/bosszhang/1688094


相关文章
|
11天前
|
监控 关系型数据库 Linux
|
5天前
|
弹性计算 Ubuntu Windows
2024年部署幻兽帕鲁/Palworld服务器多少钱?阿里云帕鲁主机优惠价格解析
对于热爱《幻兽帕鲁》的玩家们来说,一个稳定、高效的游戏服务器是畅享游戏乐趣的关键。那么,搭建一个这样的服务器需要多少钱呢?别担心,阿里云已经为大家准备了超值的幻兽帕鲁Palworld游戏服务器!
|
18天前
|
缓存 Linux 网络安全
百度搜索:蓝易云【Linux系统服务器启动SSH服务时出现“error while loading shared libraries”错误该如何解决】
以上步骤应该能够解决“error while loading shared libraries”错误,使SSH服务能够正常启动并运行。
23 3
|
8天前
|
弹性计算 固态存储 Linux
阿里云上Palworld/幻兽帕鲁服务器搭建全解析:超详细步骤,轻松掌握
想要在阿里云上轻松开服玩《幻兽帕鲁》吗?跟着我们的步骤来,简单几步就能搞定!
|
10天前
|
弹性计算 Ubuntu Linux
新手也能玩转幻兽帕鲁联机服务器:Palworld/幻兽帕鲁搭建攻略全解析
随着《幻兽帕鲁》的持续火爆,越来越多的玩家希望与好友在这款游戏中共同冒险。为了实现这一愿望,搭建一个属于自己的《幻兽帕鲁》服务器成为不少玩家的首选。今天,就为大家带来一篇关于如何轻松搭建《幻兽帕鲁》服务器的完整攻略,即使你是新手小白,也能轻松上手!
14 0
|
10天前
|
弹性计算 Ubuntu Linux
2024年Palworld/幻兽帕鲁服务器自建手册:详细步骤解析与设置指南
爆款游戏《幻兽帕鲁》是很多玩家在与好友开黑时的首选,因为《幻兽帕鲁》有着十分丰富的游戏内容,玩家在联机游玩《幻兽帕鲁》时能够获得非常多的快乐。 但在《幻兽帕鲁》进行联机时,是需要自行搭建服务器的,下面就带来,最新《幻兽帕鲁》服务器设置全步骤大全,方便玩家更好的进行联机游玩。 以下就是幻兽帕鲁服务器自建:幻兽帕鲁服务器设置全步骤大全的相关内容。
23 3
|
12天前
|
弹性计算 安全 Linux
阿里云ECS Linux系统漏洞修复详细教程
阿里云ECS Linux系统漏洞修复详细教程
|
13天前
|
存储 弹性计算 安全
2024阿里云服务器ECS全方位解析_云主机详解
2024阿里云服务器ECS全方位解析_云主机详解,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
|
16天前
|
网络协议 Linux
百度搜索:蓝易云【CentOS7下,如何设置DNS服务器】
通过以上步骤,你可以在CentOS 7上设置DNS服务器,使得系统能够正确解析域名,并连接到指定的DNS服务器获取网络信息。请确保使用正确的DNS服务器地址,以确保网络连接正常。买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
27 3
|
17天前
|
弹性计算 大数据 测试技术
阿里云服务器服务费怎么算的?详细解析
2024年阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实例、ECS计算型c7、通用型g7、c8i、g8i等企业级实例规格

相关产品

  • 云解析DNS