一、什么是DN。

  域名(Domain Name)又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。它的作用只是为了便于人们对网站的记忆。就好比通讯录,好友的手机号码根本记不了几个,所以使用名字来记录手机号,记住名字就知道手机号是那个朋友的。域名就相当于好友名字;IP地址就相当于好友手机号。

二、什么是DNS。

  随着域名越来越多。便出现了一种系统,也就是DNS(Domain Name System)系统,它会起到综合管理域名的作用。其中我们最常使用的就是DNS服务器,每当我们登录网站的时候,都需要通过DNS服务器将域名转换为IP地址,然后进行网站的访问。

  正向解析:域名→IP地址  (域名解析为IP地址)

  反向解析:IP地址→域名  (IP地址解析为域名)

三、域名的组成。

  以www.example.com为例,这个是我们司空见惯的一个网站。它的完整格式应为www.example.com.。从后往前拆解。

  . :它是最高一级的域名节点,被称为根域名(root domain)。全球总共存在13台根域服务器。亚洲一台在日本,中国没有根域服务器,只有镜像根域服务器。

  .com:顶级域,由ICANN 管理着所有的顶级域名。

  顶级域分类:

  国家地区域名:目前200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是cn,美国是us,日本是jp

  通用顶级域名:例如表示工商企业的 .com,表示网络提供商的.net,表示非盈利组织的.org

  新通用顶级域名:它是ICANN出台的一个新的开放政策,任何个人和公司都可以申请自己的域名后缀。其中全球注册量最大的新通用顶级域名包括..top、.win、.club、.party等。

  example:二级域(注册域),可由个人或者组织申请注册。

  www:三级域(子域)。

四、各个级别的域服务器关系。

  

五、访问网站的整个过程(以www.baidu.com为例)。

  1、访问百度个网站时,会先去查系统内的hosts文件,如果有相对应的解析关系,则将解析出的IP地址返回到浏览器中进行访问。

  2、若hosts文件中不存在解析关系,则会去查找缓存中是否有此解析关系的记录。如果有,则将解析出的IP地址返回到浏览器中。

  3、若缓存中不存在解析关系,就会连接系统所配置的DNS服务器,因为为了安全、稳定与高效考虑,DNS服务器不可能只有一台,它是由几台甚至十几台做成集群模式(也成为分布式DNS服务器,每台服务器内保存的数据是一样的,只不过通过负载均衡的任务分发机制,可以同时执行成百上千万条解析任务),从而保障稳定安全高效。所以,连接DNS服务器的数据会先到达负载均衡,通过负载均衡内的分发机制,将这个解析任务发送给分布式DNS服务器中的一台服务器,通过DNS服务器的解析库再次查找此域名的解析关系。如果DNS服务器的解析库有此域名的解析关系,则将解析出的IP地址返回到系统中,最终通过浏览器进行访问。

  4、若DNS服务器中解析库也没有记录此域名的解析关系,则会在DNS服务器的缓存(非解析库中的解析关系)中查找此域名的解析关系,如果有,则将解析出的IP地址返回到系统中,最终通过浏览器进行访问。

  5、若在DNS服务器上都没有找到此域名的解析关系,则进行以下步骤进行查询:

    a)、DNS服务器会联系到根域服务器,在根域服务器上会记录着顶级域服务器的IP地址。DNS服务器就通过“.com”这一顶级域名在根域服务器上找到了对应的顶级域服务器的IP地址。

    b)、DNS服务器知道了对应”.com“顶级域服务器的IP地址,就可以连接到这一服务器,在顶级域服务器上记录着二级域服务器的IP地址。后通过“baidu.com”这一个二级域名在顶级域服务器上找到了对应的二级域服务器的IP地址。

    c)、DNS服务器知道了对应“baidu.com”二级域服务器的IP地址,就可以连接到这一服务器,在二级域服务器上记录着三级域服务器的IP地址。后通过“www.baidu.com”这一个三级域名在二级域服务器上找到了对应的三级域服务器的IP地址。

    d)、DNS服务器知道了对应“www.baidu.com”三级域服务器的IP地址,就可以连接到这一服务器。然后查询三级域服务器中的解析关系,从而找到"www.baidu.com"域名对应的IP地址,也就是服务器的IP地址。

    e)、若DNS服务器最终查询到了解析关系,则将对应的IP地址返回到电脑中进行访问;若上面任意一步无法完成,则证明此域名不存在,也就无法访问此网站。

  6、前面1-4是递归查询,第五步是迭代查询。

六、搭建DNS服务器。

在Linux中搭建DNS服务器的软件有很多,比较常用的就是bind,所以下面我也使用bind来搭建DNS服务器。

bind信息介绍:

服务名:named  端口号:UDP 53(域名解析);TCP 53(主从同步)

主配置文件:/etc/named.conf(配置服务的一些参数)  区域配置文件:/etc/named.rfc1912.zones(可调用正(反)向配置文件)  数据配置文件:/var/named/named.localhost(正向解析配置文件模板); /var/named/named.loopback(反向解析配置文件模板)

实验一:基本配置

1.1、测试网站配置

  安装http服务。关闭防火墙。开启http服务即可。

1.2、DNS服务器配置

  安装bind软件:yum -y install bind*

  配置主配置文件:

  

  配置区域配置文件:

  

  配置正(反)向解析数据配置文件。

  

  先复制一份。其中,正向解析数据配置文件:

  

  反向解析数据配置文件:

  

  修改文件权限。启动服务。

  

  

  1.3、测试:

  

  

实验二、主从配置。

  为了保障DNS服务器正常运行与数据安全,一般情况下是一主多备的模式,这样也可以减少主DNS服务器的访问压力。

  2.1、配置前先介绍几个配置参数。

  区域配置文件:/etc/named.rfc1912.zones(可调用正(反)向配置文件)

  

  数据配置文件:/var/named/named.localhost(正向解析配置文件模板); /var/named/named.loopback(反向解析配置文件模板)

  

  在原有的基础上,再次增加一台从服务器。

  

2.1、测试网站原有配置不变。

2.2、主DNS服务器配置

  修改允许从服务器进行数据更新。

  

  重启主DNS服务器的named服务(systemctl restart named)

2.3、从DNS服务器配置

  安装bind软件:yum -y install bind*

  配置/etc/named.conf

  

  配置 /etc/named.rfc1912.zones

  

  开启服务(systemctl restart named)

  

  同步完成。

2.4、测试

  将主DNS服务器关闭,用于模拟主DNS服务器故障,客户端地址DNS配置从DNS服务器地址。再次进行测试。

  

Linux操作篇之配置DNS服务(一)的更多相关文章

  1. RHEL6安装配置DNS服务

    RHEL6安装配置DNS服务 作者:Eric 微信:loveoracle11g 安装软件包 [root@rac1 ~]# yum -y install bind bind-chroot caching ...

  2. Liunx下配置DNS服务

    当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...

  3. Linux环境下安装配置vsftpd服务(三种认证模式)

    一.FTP简介 文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议.它工作于网络传输协议的应用层,使用客户/服务器模式,主要是用来 ...

  4. Linux下安装与配置snmp服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  5. 使用bind配置DNS服务(CentOS 6.5)

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  6. Linux下安装并配置SSH服务

    一.使用命令检测Linux系统上是否已经安装了SSH服务:(命令:rpm -qa |grep ssh) 二.如果没有安装SSH软件包,可以通过yum 或rpm安装包进行安装(命令:yum instal ...

  7. ubuntu Linux 操作系统安装与配置

    Ubuntu是一个以桌面应用为主的Linux操作系统.Ubuntu每六个月发布一个新版本(一般是4和10月份,命名为YY.MM),每一个普通版本都将被支持 18个月,长期支持版(Long Term S ...

  8. Linux操作环境下配置MMIX环境

    一.概述 MMIX用途:高德纳写的<计算机程序设计艺术>,使用 MMIXAL 来编写代码,解释算法. 环境:Ubuntu 桌面版18.04. 二.操作步骤 1,创建MMIX文件夹并切入该文 ...

  9. 018-DNS解析过程与配置DNS服务

随机推荐

  1. 01 . Redis简介及部署主从复制

    简介 Remote Dictionary Server, 翻译为远程字典服务, Redis是一个完全开源的基于Key-Value的NoSQL存储系统,他是一个使用ANSIC语言编写的,遵守BSD协议, ...

  2. Alpha冲刺 —— 5.4

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  3. jchdl - GSL实例 - Mux4

    https://mp.weixin.qq.com/s/hh0eExVFC6cxzpvNI1cA9A 使用门实现四选一选择器. 原理图 ​​ 参考链接 https://github.com/wjcdx/ ...

  4. js规则和运算符

    通过“+”号或toString()方法将数值转换成字符串. 通过parseInt()将字符串转换成整型. 通过parseFloat()将字符串转换成浮点型. charAt() 获取字符串特定索引处的字 ...

  5. SpringMVC(二)返回值设置、数据在域中的保存与SpringMVC案例

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.返回值的设置 1.返回 String [1]返回 String 默认情况 @RequestMappi ...

  6. Java实现 蓝桥杯VIP 基础练习 时间转换

    问题描述 给定一个以秒为单位的时间t,要求用"h️s" 的格式来表示这个时间.H表示时间,M表示分钟,而s表示秒,它们都是整数且没有前导的"0".例如,若t=0 ...

  7. Java实现 LeetCode 219 存在重复元素 II(二)

    219. 存在重复元素 II 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示 ...

  8. Java实现 蓝桥杯VIP 算法提高 项链

    算法提高 项链 时间限制:1.0s 内存限制:512.0MB 问题描述 由 n(1≤n≤100) 个珠子组成的一个项链,珠子有红.蓝.白三种颜色,各种颜色的珠子的安排顺序由键盘输入的字符串任意给定.蓝 ...

  9. Java实现 LeetCode 89 格雷编码

    89. 格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列.格雷编码序列必须以 0 开头. 示例 1: 输 ...

  10. Java实现 LeetCode 52 N皇后 II

    52. N皇后 II n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回 n 皇后不同的解决方案 ...