0


linux中DNS域名解析服务

一、DNS

1、DNS简介

DNS(Domain Name Systern) 域名系统,应用层协议,是互联网的一项服务,是将域名转换成网络可以识别的IP地址,再通过IP地址访问主机。这种由文字组成的名称,显而易见更容易记忆

它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构服务器端:53/udp, 53/tcp。实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为zone(区域〉。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。

简单来说DNS服务是ip地址与域名一一对应的解析服务。

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

2.1 域名结构解析(简版)

  • 根域:一般用"."表示,可省略不写
  • 一级(顶级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
  • 二级DNS服务器:专门负责二级域名的解析
  • 子域名(三级域名)DNS服务器:专门负责子域名的解析

例如:http://www .baidu.com. cn. /

  http://主机名.子域.二级域.顶级域 根域/

2.2 域名结构解析(详细)

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

(1)根.根域名DNS服务器:专门负责根域名;处于域名结构的最顶端,一般用一个“ . ” 表示;

(2)顶级域(一级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)

  • .com(工商企业)
  • .net(网络供应商)
  • .org(团体组织)
  • .edu(教育机构)
  • .gov(政府部门)
  • .cn(中国国家域名)
  • . jp (日本)
  • . hk (香港)
  • .uk (英国)

(3)二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,顶级域名下面设置的是二级域名,如:

  • .com.cn
  • .net.cn
  • .edu.cn

(4)子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;

(5)主机:主机位于域名结构的最下层,就是一台具体的计算机,如:www、mail都是具体的计算机名字,可以用www.baidu.com.cn.来表示,这种方式称为FQDN(完全合格域名),也是这台主机在域名中的全名

3、DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

4、DNS完整过程

当用户输入www.baidu.com 去访问网页

第一步:先看你本机的hosts文件,如果有直接访问,没有会先去找缓存服务器(电信运营商)

第二步:缓存服务器,先看缓存,缓存有,直接反馈结果给用户,缓存没有,直接去找根

第三步:根只知道自己下一级的服务位置,不会反馈给你直接结果,会透露有一个信息有可能顶级域知道,让你去找顶级域(一级域)试试看。

第四步:缓存服务器会再去找顶级域(一级域)服务器

第五步:顶级也不知道,不会反馈给你直接结果,会透露有一个信息,有可能二级域知道,让你去找二级域试试看。

第六步:缓存服务器收到这个消息,会再去找二级域,二级域知道会反馈结果给缓存服务器

第七步:缓存服务器收到结果会直接交给用户

5、查询方式

  • 迭代:不给你结果,只给你相关信息 (需要自己动手)
  • 递归:直接反馈给你结果 (不需要自己动手)

6、打开一个网页中间过程

输入www.baidu.com 打开网页中间经历了那些过程?

  • 三次握手
    
  • 四次挥手
    
  • dns解析过程
    
  • http
    
  1. 域名解析(看一下浏览器要和哪个服务器的哪个接口建立连接)
  2. 浏览器与域名地址建立TCP连接,三次握手
  3. http访问
  4. 断开TCP连接,四次挥手

7、DNS系统类型

7.1 缓存域名服务器

  • 也称为DNS高速缓存服务器
  • 通过向其他域名服务器查询获得域名-->IP地址记录
  • 将域名查询结果缓存到本地,提高重复查询时的速度

7.2 主域名服务器

  • 特定DNS区域的权威服务器,具有唯一性
  • 负责维护该区域内所有域名-->IP地址的映射记录
  • 需要自行建立所负责区域的地址数据文件

7.3 从域名服务器

  • 也称为辅助域名服务器,是对主域名服务器的热备份
  • 其维护的域名-->IP地址记录来源于主域名服务器
  • 需要从主域名服务器自动同步区域地址数据库

二、DNS软件bind

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

  • bind:服务器
  • bind-libs:相关库
  • bind-utils: 客户端
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

三、本地解析配置文件——hosts

文件位置

  • Linux hosts文件位置:/etc/hosts
  • windows hosts文件位置 : c/windows/system32/drivers/etc/hosts

编辑host文件

四、正向解析

1、用命令去仓库里看有哪些bind没有装

[root@localhost ~]# yum list bind*

2、安装bind相关软件包

可以查看bind的配置文件列表

**扩: **

  • 主配置文件 : /etc/named.conf
  • 域名区域 : /etc/named.rfc1912.zones (想解析的域名卸载这个文件中)
  • 数据库文件 text 记录 ip地址和域名对应关系 /var/named/某某文件(你自定义的)
  • 为什么大家都知道根,写进了配置文件 /var/named/named.ca 这个文件存了地址
  • bind它的服务名是named

3、关闭防火墙和临时关闭selinux防火墙,开启服务

4、查看53端口是否开启

5、去修改网卡的dns指向自己搭建的dns服务器 ip地址

6、重启服务

7、修改主配置文件

8、重新加载服务

9、 编辑域名区域

10、切换到区域数据文件所在目录,将模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名

11、编辑数据库文件,解析记录对应关系

12、测试

五、反向解析

1、修改区域配置文件

2、切换到区域数据文件所在目录,将反向模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名

3、编辑数据库文件,解析记录对应关系

4、重新加载服务

5、测试

六、主从复制

实验环境:

主服务器地址:192.168.157.50

从服务器地址:192.168.157.10

1、关闭防火墙和selinux防火墙

2、 安装bind相关软件包

3、修改主配置文件

4、编辑域名区域

5、开启bind服务

6、此时进入/var/named/slaves/目录下可以看到出现了刚才设置的文件(加密的文件)

7、在主服务器中设置网卡信息,将从服务器地址加入

8、重启服务,并查看是否生效

9、在从服务器中也要编写网卡信息,将主服务器的ip加入

10、测试,将主服务器中的服务关闭,依旧能解析

标签: linux 服务器 网络

本文转载自: https://blog.csdn.net/abjava1/article/details/127593119
版权归原作者 lin琳. 所有, 如有侵权,请联系我们删除。

“linux中DNS域名解析服务”的评论:

还没有评论