热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux学习笔记――DNS与BIND

DNS简介DNS(DomainNameSystem),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统。DNS采用CS架构,服务器端工作在U

DNS简介

  DNS(Domain Name System),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统。DNS采用CS架构,服务器端工作在UDP协议端口53和TCP协议端口53上。FQDN(Fully Qualified Domain Name)完全限定域名,它是使用DNS的树状层级结构的完全路径域名来表示一个准确位置对应的主机,提供正向解析(FQDN-->IP)和反向解析(IP-->FQDN)的功能。目前DNS已经成为了互联网通讯的基础服务。

  正向解析:根据主机名称(域名)查找对应的IP地址  

  反向解析:根据IP地址查找对应的主机域名

  DNS域名称空间:它指定用于组织名称的域的层次结构

  资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。

  DNS服务器:它存储和应答资源记录的名称查询  

  DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型

  DNS系统的分布式数据结构如下

     wKiom1YNDN_gIflgAACt-dEz-mU133.jpg

顶级域:由两三个字母组成的名称,用于指示国家(地区)或使用名称的单位的类型。如:

组织域(.net, .com, .org, .mil, .edu, .gov, .cc, .mobi)国家域(.jp, .tw, .hk, .iq, .ir, .cn, .uk, 

.us)

  全球13个根节点

  A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4

  B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107

  C PSINet公司(美国,弗吉尼亚州) 192.33.4.12

  D 马里兰大学(美国马里兰州) 128.8.10.90  

  E 美国航空航天管理局(美国加利弗尼亚州) 192.203.230.10

  F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241

  G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4

  H 美国陆军研究所(美国马里兰州) 128.63.2.53  

  I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17

  J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30  

  K RIPE NCC(英国,伦敦) 193.0.14.129  

  L IANA(美国,弗吉尼亚州) 198.32.64.12

  M WIDE Project(日本,东京) 202.12.27.33

  DNS服务器解析的客户端数据原理图

  wKioL1YNDXviXom3AAGfK2WvCGk285.jpg


DNS查询方式:递归查询(大多数客户机向DNS服务器解析域名的方式)、迭代查询(大多数DNS服务器向其他DNS服务器解析域名的方式)

  以下是简要描述

  客户端发起对www.baidu.com的解析请求

 (1)客户端首先查看查找本地hosts文件,如果有则返回,否则进行下一步

 (2)客户端查看本地缓存,是否存在本条目的缓存,如果有则直接返回,不再向外发出请求,否则进行下一步,转发。

 (3)将请求转发本地DNS服务器。

 (4)查看域名是否本地解析,是则本地解析返回,否则进行下一步。

 (5)本地DNS服务器首先在缓存中查找,有则返回,无则进行下一步。

 (6)向全球某一个根域服务器发起DNS请求,根域返回com域的地址列表。

 (7)使用某一个com域的IP地址,发起DNS请求,com域返回shifen域服务器地址列表。

 (8)使用某一个shifen域IP地址,发起DNS请求,shifen域返回www.a.shifen.com主机的IP地址,本地DNS服务收到后,返回给客户机。

  DNS的分类

  主DNS服务器:就是一台存储着原始资料的DNS服务器。

  从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也成辅助DNS服务器。

  缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。

  转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

  DNS服务器的主从协调工作,主要包含一下参数:  

区域数据文件有版本号(序列号): serial  

  刷新时间(检查周期):refresh  

  重试时间(重试周期): retry 

过期时间(失效时长): expire 

  否定应答的TTL值


域和区域

  域(domain):例如北京市是一个大域

  区域(zone):例如朝阳区是一个区域

  区域解析数据库

  资源记录:resource record(rr)  资源记录类型:resource record type  SOA: Start Of Authority,起始授权记录;一个区域文件有且只能一个SOA记录;SOA还必须是第一条资源记录;

     资源记录的定义格式

     语法:name[ttl] IN rr_type  value

      例如:test.com. 60 IN   SOA   

            test.com.  dns.test.com. (

                        2015092701  ;serial number  

                        1H  

                        5M  

                        7D  

                        1D )   

NS:Name Server,名称服务器(注意:一个区域数据文件可以有多个NS记录)

       如:test.com.      IN  NS  dns1.test.com.                   

                      IN  NS dns2.test.com.  

MX:Mail eXchanger,邮件交换器(注意:一个区域数据文件可以有多个MX记录)

       如:@IN MX  10   mx1.test.com.

               IN   MX  20   mx2.test.com.

          

A: Address,FQDN-->IPv4  应用于正向区域文件,也称A记录

       如:www.test.com. IN  1.1.1.1(ip) 

AAAA: Address, FQDN-->IPv6  

PTR: Pointer,指针,IP-->FQDN,应用于反向区域文件

       如:1.1.1.1.in-addr.arpa. IN  PTR www.test.com. 

CNAME: Cononical NAME,正式名称

       如:web.test.com. IN CNAME  www.test.com.


   BIND最为广泛的DNS服务软件,该软件含三个部分:域名服务器、域名解析器库、软件测试工具。可以

使用yum -y install bind,rpm安装软件。

   安装成功生成以下主要的目录和文件:

   服务脚本:/etc/rc.d/init.d/named

   主配置文件:/etc/named.conf

   区域解析库文件:/etc/named.rfc1912.zones

   服务根目录:/var/named/


BIND的安装和配置

1、安装

可以选择yum安装

yum install bind

2、配置test.com正向解析

配置named.conf配置文件

    wKioL1YNGPjyPLYOAAGHRihO4PE288.jpg

配置/etc/named.rfc1912.zones

    wKioL1YNFXiw_18iAAA1I-n_L30691.jpg


创建区域解析数据库文件

    wKiom1YNF_SxnGiCAAE8dbWSybo046.jpg

验证

   wKiom1YNHEKT7YK1AAKC0zutdOA422.jpg

2、配置test.com反向解析

配置/etc/named.rfc1912.zones

     wKioL1YNHgbSCAMHAABDs9KncW0117.jpg

    区域名称:网络地址反写.in-addr.arpa.

创建区域解析数据库文件

    wKiom1YNH4_SY5hkAADwXIgNXdw050.jpg

    注意:不需要MX和A,以及AAAA记录;以PTR记录为主

重读配置文件,并验证

   wKiom1YNIHKCwbf5AAKipGXIiFg705.jpg

4、主从DNS解析

      主DNS:编辑它的dns主配置文件,定义工作目录,添加两个区域,一个正向解析,一个反向解析

    wKioL1YNJv3iE3ziAADXG6ZjtxU588.jpg

      配置正向解析文件test1.com.zone

   wKiom1YNJtGin71RAACZTlY_G0Q898.jpg

      配置反向解析文件192.168.zone

   wKiom1YNJLXTalsnAACd5dnmMIQ815.jpg

      检查配置文件,并且启动named服务


      配置从服务器192.168.2.10,编辑它的主配置文件named.conf

   wKiom1YNJVyBtsqyAAF6gD6uxNI402.jpg

      配置从服务器named.rfc1912.zones 文件,增加正反向解析

   wKioL1YNJePwZSgIAAC2Cd22V7s479.jpg  主从DNS解析配置完成



推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • 第8章 使用外部和内部链接
    8.1使用web地址LearnAboutafricanelephants. ... [详细]
author-avatar
mobiledu2502891023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有