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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

一、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


相关文章
|
23天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
55 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
43 2
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
8月前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
100 0
|
网络协议 Linux
Linux学习笔记 26(DNS服务器配置)
1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 7、 启动DNS服务器 8、 同步
Linux学习笔记 26(DNS服务器配置)
|
网络协议 测试技术 Linux
|
网络协议 Linux 网络安全

相关产品

  • 云解析DNS