文章目录

  • 前言
  • 一、BIND域名服务基础
    • 1、DNS
      • 1.1、DNS系统的作用
      • 1.2、DNS系统的分布式数据结构
    • 2、DNS服务器类型
      • 2.1、主域名服务器
      • 2.2、从域名服务器
      • 2.3、缓存域名服务器
      • 2.4、转发域名服务器
  • 二、正向解析和反向解析
    • 1、正向解析查询过程
    • 2、两种查询方式
      • 2.1、递归查询
      • 2.2、迭代查询
  • 三、DNS的分布式互联网解析库
    • 1、大型、分布式的互联网DNS解析库
  • 四、BIND的安装和配置文件
    • 1、安装BIND软件包
    • 2、查看配置文件所在路径
    • 3、修改主配置文件
    • 4、添加正向区域配置
    • 5、配置正向区域数据文件
    • 6、启动服务
    • 7、在客户端的域名解析配置文件中添加 DNS 服务器地址
    • 8、测试DNS解析
  • 总结

前言

在现实环境中,普遍使用域名的方式来访问服务器,例如百度www.baidu.com,接下来,本章以DNS服务器软件BIND为例,走进域名服务器的搭建。

一、BIND域名服务基础

1、DNS

DNS域名系统(Domain Name system)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便访问互联网,而不用去记住能够被机器直接俄读取的IP数串

1.1、DNS系统的作用

1、DNS的默认端口号是53.DNS端口分为TCP和UDP
1.1、TCP是用来做区域传送,多用于主从同步
在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息

1.2、UDP是用来做DNS解析的 域名:通常由一个完全合格域名(FQDN) 标识。FQDN 全称Fully Qualified Domain Name ,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“. "分隔,对于DNS域google来说,其完全正式域名( FQDN)为google.com.

1.2、DNS系统的分布式数据结构

2.1、全世界只有13台IPv4根服务器,1个为主根服务器在美国,其余12个均为辅根服务器,9个在美国,欧洲2个(英国和瑞典),亚洲1个位于日本;

2.2、树状结构最项层称为根域,用“."表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器

2.3、为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机

2.4、注意:通常,FQDN 有严格的命名限制,长度不能超过256 字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间( 例如“google.com")或者FQDN的结尾使用。域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域,即全域名:同时带有主机名和域名的名称

2.5、FQDN = Hostname + Doma i nName
如: www . baidu. com.
注意:最前面的一定是主机,最后一一个点表示根域,通常是省略不写的,但实际上www . abc. com=www . abc. com.域名结构: http:/ /www. sina, com. cn./. nttp://主机名.子域.二级域.顶级域根域/

2、DNS服务器类型

2.1、主域名服务器

负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名
服务器时,需要自行建立所负责区域的地址数据文件。

2.2、从域名服务器

当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从
域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器
的位置,以便服务器能自动同步区域的地址数据库。

2.3、缓存域名服务器

只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

2.4、转发域名服务器

负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

二、正向解析和反向解析

1、正向解析查询过程

1.1、先查本机的缓存记录

1.2、查询hosts文件

1.3、查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询

1.4、这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

1.5、求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

1.6、求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

1.7、求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

1.8、本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端 windows系统查询dns缓存命令: ipconfig /displaydns windows系统清理dns缓存命令: ipconfig / flushdns

​1.9、 linux清dns缓存需要安装nscd软件,启动、执行 nscd -i hosts

2、两种查询方式

2.1、递归查询

递归查询是一种DNS服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机,如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机

总的一句话,就是客户机发送请求后自已只用等待结果即可,中间具体过程交给服务器实现

2.2、迭代查询

DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止

总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,不会帮你去请求查询,这与递归截然相反

三、DNS的分布式互联网解析库

1、大型、分布式的互联网DNS解析库

1.1、根. 根域名DNS服务器:专门负责根域名
1.2、一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
.com(工商 企业)
.net(网络供应商)
.edu (教育机构)
.cn(中国国家域名)
.org (团体组织)
gov (政府部门J)
1.3、二级DNS服务器:专门负责二级域名的解析
. nety. cn
. edu. cn
. com. cn
子域名DNS服务器:专门]负责子域名的解析
ina. com. cn
. pku. edu. cn
主机站点
tts9
tts 6
mail
www

四、BIND的安装和配置文件

1、安装BIND软件包

2、查看配置文件所在路径




3、修改主配置文件


4、添加正向区域配置


5、配置正向区域数据文件



6、启动服务

1、基本命令是:systemctl start named
2、如果服务启动失败,查看日志文件排错
tail -f /var/messages

7、在客户端的域名解析配置文件中添加 DNS 服务器地址

1、search :localdomain
2、nameserver:192.168.88.143


8、测试DNS解析

1、host www.mjh.com
2、nslookup www.mjh.com
3、以上两种方式都可获得结果


总结

<1> 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。
<2> 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的 DNS 信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。
<3> 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址。
<4> 本地服务器再向返回的域名服务器发送请求。
<5> 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。
<6> 本地域名服务器将查询请求发送给返回的 DNS 服务器。
<7> 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的 DNS 信息,查询过程将重复<6>、<7>步骤,直到返回解析信息或解析失败的回应。
<8> 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

linux骚操作之第二十话DNS相关推荐

  1. linux骚操作之第八话硬盘分区及挂载

    文章目录 前言 一.什么是挂载 二.磁盘分区结构 三.文件系统类型 1.XFS文件系统 2.SWAP,交换文件系统 3.LINUX支持的其他文件系统类型 4.CENTOS6 与CENTOS7的区别 四 ...

  2. 自制操作系统日志——第二十五天

    自制操作系统日志--第二十五天 今天的主要任务就是增加命令行窗口,当然除此之外我们还会给我们的系统再润色一下,以便其看起来更像一个真正的操作系统!! 文章目录 自制操作系统日志--第二十五天 一.蜂鸣 ...

  3. 鸟哥的Linux私房菜(服务器)- 第二十二章、邮件服务器: Postfix

    第二十二章.邮件服务器: Postfix 最近更新日期:2011/08/10 在这个邮件服务器的架设中,我们首先谈论 Mail 与 DNS 的重要相关性,然后依序介绍 Mail Server 的相关名 ...

  4. Linux骚操作之第三十话防火墙

    文章目录 前言 一.Iptables 二.包过滤的工作层次 三.iptable的表.链结构 1. 四表五链 2. 四表 3. 五链 4. 数据包过滤的匹配流程 四.规则链匹配顺序 1. 主机型防火墙 ...

  5. Python骚操作之第二话常用语句及经典案例

    文章目录 前言 一.判断语句 多重判断 嵌套判断 二.循环语句 三.break 四.continue 五.面试经典案例 5.1.'1020个瓜,第一天卖掉总数的一半后多卖出两个,以后每一天麦剩下的一半 ...

  6. Linux(debian7)操作基础(十二)之文件加密使用指南

    ⑴ 普通文件加密 ① OpenSSL ② GnuPG 缺点:只适合加密保存,不适合运行. 请参考原文:https://blog.gtwang.org/linux/how-to-encrypt-data ...

  7. Linux(debian7)操作基础(十五)之systemd下lightdm免密登录

    继上一篇lightdm详解中介绍了如何免密登陆之后, 最近由于系统把启动方式升级成了systemd方式, 突然发现不能使用该方式进行自动登陆了, 然后上网查资料, 发现根本没有, 自己经过研究后发现, ...

  8. Linux(debian7)操作基础(十四)之文本搜索命令grep使用方法

    一.简介 grep(global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它只能使用基本的正则 ...

  9. Linux(debian7)操作基础(十)之字符界面使用指南

    (1) 字符界面下如何免密登陆? ① 使用命令:sudo vim /etc/inittab ② 在/etc/inittab下更改54行中为"1:2345:respawn:/bin/login ...

最新文章

  1. python每行输出8个式子_求大神用python写出算术题的式子和结果。
  2. WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
  3. AutoMapper2
  4. SpringMVC的数据响应
  5. JavaScript的call,apply和bind方法之间的区别
  6. 其他用户登陆到这台计算机,要登录到这台远程计算机,您必需拥有这台计算机上的‘终端服务器用户访问’权限解决方法...
  7. SQL数据库层面操作(DDL)
  8. linux使用date命令修改系统日期,使用date命令设置CentOS Linux修改系统日期和时间...
  9. Linux服务器开发环境搭建 Nginx+PHP+MongoDB
  10. 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
  11. JS原型链原理(链表)
  12. 我的R 之路: R最常见的小基础。。。。。。。。
  13. WEB-ERROR-PAGE
  14. Vue.js-----轻量高效的MVVM框架(二、Vue.js的简单入门)
  15. oracle12c集群安装—grid安装
  16. 安徽省计算机一级选择题题库,计算机等级考试一级选择题题库
  17. 高数复习(1)--曲线切向与曲面法向的理解
  18. 【lomoyi笔记】2020.7.31VMware虚拟机安装黑苹果macOS Catalina10.15
  19. Excel·VBA考勤打卡记录统计结果
  20. python开发工程师是干嘛的-python开发工程师是做什么的

热门文章

  1. ROS机器人操作系统中级教程 5
  2. 看视频常见的 720p、1080p、4k,这些分辨率到底包含了什么
  3. 给GE下载的JPG卫片加配准JGW文件(批量 winform)
  4. 深入理解 Android 系统升级
  5. 重磅推荐 | 朱嘉明:元宇宙——创意、思想、意识协作的下一代网络
  6. WYF IRegionManager 用法
  7. 3D打印产品表面粗糙度解决方案你了解有多少?
  8. 【多式联运】基于遗传算法求解多式联运低碳路径规划问题matlab源码
  9. 23、Android之使用 Google API 的 GTalk
  10. 在excel表格中,根据身份证号码就可以自动提取出生年月、性别、年龄。