一、DNS

1、DNS:Domain Name System,是因特网的一项服务,它作为将域名和IP地址相互映射的一个分布式

数据库,能够使人更方便的访问互联网。DNS 使用TCP和UDP端口53。当前,对于每一级域名

长度的限制是63个字符,域名总长度则不能超过253个字符。

2、BIND (Berkeley Internet Name Domain),分布式的多层次的主机名IP对应系统,使用最广的DNS软    件。

目前流行的版本是BIND8和9。

所有的DNS服务器的其他软件开发默认兼容BIND服务器

3、FQDN: Fully qualified domain name,完全资格域名。能指定其在域名系统 (DNS) 树状图下的

一个确实位置。一个完全资格域名会包含所有域名级别,包括 顶级域名 和 根域名。它只

能用一种方式解析。因为其独立性和明确性,一个完全资格域名的唯一性可被识别。

主机名.域名. 注意最后以点结尾。

4、DNS组织结构

最上面是根域,全球13台根域服务器储存根域的解析信息。根域解析的是顶级域的解析服务器地

址。顶级域维护的是二级域的解析的服务器地址。

常见的顶级域服务器

net 网络域名

edu 教育域名

org 组织的域名

gov 政府域名

mil 军事域名

cn 中国地区

hk 香港地区

tw 台湾地区

int 国际组织

比如解析www.e-bai.com.,第一步,查询本地host文件和缓存有没有这个记录,有就直接解析,没有就访问DNS服务器,如果DNS服务器上没www.e-bai.com或者e-bai.com不在你访问的DNS服务器管理区域内,那么DNS服务器就会向根域名服务器发递归查询。

5、DNS域名解析基本过程

实际中不使用递归式查询,而是使用迭代式查询

我们日常的DNS查询是本地的DNS局端服务器。这个服务器本身不做任何解析,只维护缓存。实际的使用过程中不直接访问.域服务器,而是中间由本地DNS缓存服务器去处理。相应的DNS缓存服务分布在互联网用户当地的局端服务器。只有在局端服务器没有的记录和整个上级服务器没有的情况下,才会访问.域服务器。因此请求的压力被相应的缓存服务器分担,整个DNS构成了全球最大的分布式数据库。

带来的问题,例如域名如果发生改变,不会第一时间被网络客户端接受到。当域名发生变化后,需要等待当地DNS局端服务器的缓存失效后,才会发生变更。域名发生变化需要等待一段时间,等待更新传递到当地的缓存服务器,等待时间由几分钟到48小时不等。等待时间依据缓存服务器对应缓存时间的设置以及当前本地域记录缓存的有效时间。

因此做域名的变更或调整的时候,需要预留扩散的时间。

6、DNS的查询方向

1)正向解析

查询域名,询问DNS的服务器查询域名的IP地址

2)反向解析

通过查询IP地址得出域名的结果

例如邮件服务器通过反向查询判断用户的发信服务器是否是真实的服务器,如果不是就会判断为垃圾邮件。

如果需要把配置的DNS服务器给所有的互联网用户进行使用,还需要将DNS服务器的域名注册为合法的域名。

所谓注册域名是指向相应的根域和顶级域中加入域名的信息。

IANA(Internet Assigned Numbers Authority,互联网号码分配局)是一家互联网地址指派机构,管理国际互联网中使用的IP地址、域名和许多其它参数的机构。IP地址、自治系统成员以及许多顶级和二级域名分配的日常职责由国际互联网注册中心(IR)和地区注册中心承担。IANA是由ICANN管理的。

ICANN:(Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,是美国加利福尼亚的非营利社团,主要由互联网协会的成员组成,创建于1998年9月18日,目的是接管包括管理域名和IP地址的分配等与互联网相关的任务,这些任务曾由其它组织(特别是IANA)代表美国政府来执行。

CNIC(Computer Network Information Center×××计算机网络信息中心),成立于1995年4月,是×××下属的科研事业单位。主要从事×××信息化建设、运行与支撑服务,以及计算机网络技术、数据库技术和科学工程计算的研究与开发,并负责中国境内的域名注册和地址分配服务

7、DNS报文格式

8、主要的查询类型和响应

1)A记录: 对应的IP地址。 域名指向IP地址

2)NS: nameserver,表示这个域由哪个服务器负责进行解析

3)CNAME: 别名记录

假设三个网站的域名同时指向一个服务器

www.a.com IN A 1.2.3.4

book.a.com IN A 1.2.3.4

news.a.com IN A 1.2.3.4、

现在服务器发生变化,需要修改3条记录

如果设置为

www.a.com IN CNAME host1.a.com

book.a.com IN CNAME host1.a.com

news.a.com IN CNAME host1.a.com

host1.a.com IN A 1.2.3.4

现在服务器如果发生变更,只需要修改

host1.a.com IN A 1.2.3.4 一条记录即可

4)PTR:指针记录,专门做反向解析的。A记录的反义词。将IP地址指向域名

5)MX: 邮件交换记录。专门用来解释邮件服务器的。

因为在域中会有多种主机,邮件服务器发送邮件的时候是

用户名@域名,我们回信的时候再发给域,这个时候邮件服务器具体地址无法确定,所以需要一台专门的机器描述它,

确定域中的服务器具体地址。MX专门来做这种解释

9、如何安装Bind

1)执行yum install bind bind-chroot安装bind和bind-chroot

bind是主程序包,bind-chroot可以让bind服务器具有chroot

功能。

在rhel中装完这两个包,程序已经完整,但是相应的配置文件是空的,不能方便开始和操作。所以需要安装caching-nameserver

2)yum install caching-nameserver

3)由于已经安装bind-chroot包,所以bind在运行时把/var/named/chroot当成根目录使用,

bind-chroot会改变默认的root目录,而把/var/named/chroot当成根目录来进行使用。

chroot功能增强了安全性。用户使用DNS服务器的时候,相应程序的工作范围局限在/var/named/chroot目录。因此默认情况下,bind的配置文件应该是放在/etc/目录中,

现在bind的配置文件的真实保存目录是/var/named/chroot/etc,该目录下设置不同的子目录。不能把配置文件放在根目录下的/etc目录下,否则bind配置无法生效。

现在/var/named/chroot/etc/下已经安装了一些文件,这些文件是安装caching-nameserver包时安装的,主要是

named.caching-nameserver.conf named.rfc1912.zones这两个文件

(1)执行mv named.caching-nameserver.conf name.conf

因为bind服务器默认配置文件名为name.conf,改名之后表示已经启用

(2)bind调用的信息文件放置在

/var/named/chroot/var/named/

.zone文件是区域解析文件。描述多个域内的域名的解析配置

(3)bind服务器的日志默认输出到/var/log/messages

10、如何配置和使用bind

1)打开主配置文件name.conf

2) name.conf文件是一个配置的模板,该文件默认情况无法使用,需要修改

options部分

(1)options bind服务器的本身的参数设置

(2)大括号包括的内容是options这一块的配置项

注意:每一行配置最终都以分号;表示结尾

(3)listen-on port 53 表示当前bind服务器监听的是53号端口。

(4){ 127.0.0.1; } 相应的控制列表设置,bind的ACL访问控制列表,表示在{ }内写到的是可以访问的,没写到就不能访问。

默认127.0.0.1只能本机访问,如果设置成公开

的,可以修改为any

这个控制列表写法是

{ 开始,}结束,表示这个配置项;配置中间的内容左边和右边必须要有一个空格,切记!!

并且以分号;表示一个配置的结束

(5)listen-on-v6 port 53 { ::1; }; 表示对IPV6地址的设置,目前尚未使用IPV6,所以我们可以注释掉。

注意:在DNS配置文件中注释的符号是//

(6)directory "/var/named";表示当前DNS服务器域解

析记录的文件的保存位置

注意:我们的bind服务器运行在chroot环境中,所以这里的/var/named具体目录是

/var/named/chroot/var/named

(7)dump-file "/var/named/data/cache_dump.db";

当前DNS服务器的缓存信息保存的文件,同样是chroot

的地址

(8)statistics-file "/var/named/data/named_stats.txt";记录当前named服务器的一些信息的文件

(9)memstatistics-file "/var/named/data/named_mem_stats.txt";

记录内存状态文件

(10)allow-query { localhost; };

哪个来源主机可以访问。控制的是进入的数据包,

和listen-on port 53的区别:

listen-on port 53:表示控制监听端口绑定在哪个IP地址上,默认绑定在127.0.0.1只对本机服务,改成any表示本机所有网络接口都可以监听53端口。控制的是网络接口即确定在哪块网卡监听53号端口。

allow-query { localhost; };控制哪个用户来查询。控制的是访问者。默认是localhost,只有本机才能查询。

现在我们改成any

(11)allow-query-cache { localhost; };

谁能查询我的缓冲。如果把当前的DNS服务器配置成缓冲服务器,可以改成any

现在这台DNS服务器才能被外部访问。

logging 日志部分一般保持默认即可

view localhost_resolver view这是bind9的新功能,目前不需要视图功能

我们只需保留include "/etc/named.rfc1912.zones";其余删除

/etc/named.rfc1912.zones文件是bind服务器域的配置文件信息。

最终修改结果

至此bind主配置文件初步修改完毕。

3)再次提醒:name.rfc1912.zones所在的目录/var/named/chroot/etc,

name.rfc1912.zones文件是zone的配置即当前域的配置内容。

我们配置DNS服务器就是对相应的域进行解析。域在英文中称之为

zone,域中各个主机的解析记录就保存在zone文件中。DNS就

是依据zone部分的配置描述确定哪个域使用哪个zone文件。

在所有的描述中,第一个域叫.域即根域。

(1)现在我们vi name.rfc1912.zones

写法格式:

zone开始 “.” 引号当中写入要解析的域 IN 必须的组成部分

{ }大括号中是这个域的配置内容。

首先是type域的类型。如果描述的是.域,一定要写成hint。这是专门给.域使用的类型

file “named.ca” file语句指定这个域的zone的文件在哪里以

及名称。这个文件记录着那个域里的各项域名设置信息。

“named.ca” .域的解析记录信息,这里只写了一个文件名称,

它是以相对路径的方式来写的

这里直接写文件名称的原因:因为在.named.conf文件中已经

输入zone文件的目录是/var/named。

所以现在named.ca保存的位置实际上是/var/named/named.ca,又因为使用时chroot,所以完整目录

/var/named/chroot/var/named/named.ca

vi name.ca可以查看到各种各样的NS记录,即.域的记录,罗列着全球的.域服务器的地址

转载于:https://blog.51cto.com/wangjifu/1249547

EBB-23、DNS服务相关推荐

  1. 23. DNS服务管理

    Linux基础学习-DNS服务管理 第二十七节 DNS服务管理16 27.1 DNS服务器发展过程 27.1.1.Dns服务---域名服务 27.1.2dns服务器--软件,脚本,端口 27.1.3主 ...

  2. linux云自动化运维基础知识23(DNS服务)

    一.DNS概述 作用:提供域名解析服务 正向解析:域名--ip   eg:(www.baidu.com  -- 220.181.111.188) 反向解析:ip--域名   eg:(220.181.1 ...

  3. DNS服务,A记录,URL转发,MX记录,NS记录,CNAME记录,解释与设置教

    DNS服务,A记录,URL转发,MX记录,NS记录,CNAME记录,解释与设置教 DNS服务,A记录,URL转发,MX记录,NS记录,CNAME记录,解释与设置教 DNS服务:就是域名解析,比如 ba ...

  4. kubernetes集群配置dns服务

    本文将在前文的基础上介绍在kubernetes集群环境中配置dns服务,在k8s集群中,pod的生命周期是短暂的,pod重启后ip地址会产生变化,对于应用程序来说这是不可接受的,为解决这个问题,K8S ...

  5. Linux DNS服务配置与管理详解

    域名系统 DNS 本章内容 -名字解析介绍 -DNS服务工作原理 -实现主服务器 -实现反向解析区域 -实现从服务器 -实现子域 -实现转发 -实现智能DNS -DNS排错 -实现Internet 的 ...

  6. linux dns配置bind9,DNS服务(bind9)配置过程

    DNS服务(bind9)配置过程 发布时间:2006-08-22 08:57:40来源:红联作者:晚点 作者:周立军 修改日期:2006年2月23日 安装环境:Fedora 4 bind-9.2.6. ...

  7. Master DNS服务的搭建

    很多企业都通过Linux来搭建自己的DNS服务器来提高网路效率,在此我们来学习如何搭建Master DNS服务器.    首先,确定是否搭建yum仓库,并有软件包可用,如DVD光盘是否挂载. 一.安装 ...

  8. linux6.5dns装什么,CentOS6.5安装DNS服务

    1,安装软件包 yum install -y bind 2,备份配置文件 cp /etc/named.conf /etc/named.conf_bak 3,编辑配置文件 vim /etc/named. ...

  9. DNS服务器之二:从服务器的实现

    DNS从服务的搭建 一.安装 [root@localhost~]# yum install bind 二.修改主配置文件 [root@localhost~]# cat /etc/named.conf ...

  10. Linux学习笔记RHEL 7(九)--RHEL7.0 DNS服务配置

    一.DNS域名解析服务 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系. 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况. 缓存 ...

最新文章

  1. 完整的项目工程目录结构
  2. Apache2 httpd.conf 配置详解(一)
  3. 《编译与反编译技术实战》——第2章编译器实践概述
  4. Kindeditor中上传本地照片后需要带域名的绝对路径实际获取为相对路径
  5. Golang源码探索(三) GC的实现原理
  6. 你有没有靠谱的基因?一个人靠不靠谱,其实就看这三点:“凡事有交代,件件有着落,事事有回音。”...
  7. android 7.0 解锁亮屏,Android7.0亮屏流程分析
  8. 2、Task 使用 ContinueWith 而不要使用 Wait
  9. Thinkphp3.2+ 微信小程序图片上传
  10. 一套SCDM脚本建模与二次开发攻略
  11. group by 为什么 distinct 效率高
  12. c语言编写生日祝福语大全,生日祝福语(精选50句)
  13. ·VBOX虚拟机安装
  14. 新闻联播 华为鸿蒙,央视为华为鸿蒙OS科普,苹果比安卓流畅的原因华为也可以...
  15. (转)常用的js代码
  16. 在线教育项目【老师服务】
  17. 计算机中文输入法教案,中文输入教学设计.doc
  18. 价格时序预测-LSTM
  19. LHS查询和RHS查询
  20. 【Java小游戏】很简陋的 贪吃蛇 游戏

热门文章

  1. python构建知识库_使用Mediawiki构建个人知识库
  2. python读取配置文件并添加字典中_Python如何使用ConfigParser读取配置文件
  3. hb-550s计算机电源,XFX TS 550金牌电源拆解及电路分析
  4. 提高linux运行速度,提高Linux操作系统的运行速度
  5. Vue的钩子函数是什么意思?Vue都有哪些钩子函数?
  6. Vue3学习笔记01:使用NPM方法安装Vue3
  7. 安卓学习笔记28:文件流操作
  8. 【BZOJ2594】水管局长加强版,LCT+并查集+二分查找位置
  9. 【codevs2287】火车站,第一个A掉的钻石题(迟来的解题报告)
  10. 2.图像作为函数 | 生成高斯噪音_8