DNS介绍

域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。

DNS作用是:

把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。

  1. 正向解析:根据域名查找对应的IP地址
  2. 反向解析:根据IP地址查找对应的域名

DNS系统的分布式数据结构:

顶级域/一级域:

.org(团体组织)
.net(网络供应商)
.com(工商企业)
.edu(教育机构)
.gov(政府部门)
.cn(中国国家域名)
二级域:
.com.cn
.net.cn
.edu.cn
子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;
主机:域名结构的最下层,就是一台具体的计算机。

DNS系统类型
1.缓存域名服务器:

只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,

但是没有自己控制的区域地址数据。

构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

2.主域名服务器:

管理和维护所负责解析的域内解析库的服务器

3.从域名服务器:

从主服务器或从服务器"复制"解析库副本序列号:解析库版本号,主服务器解析库变化时,其序列递增

刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

过期时长:从服务器联系不到主服务器时,多久后停止服务

通知机制:主服务器解析库发生变化时,会主动通知从服务器

DNS域名解析过程:

1.迭代查询:

主机向本地域名服务器的查询一般都是采用递归查询。

所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,

向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。

因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

2.递归查询

本地域名服务器向根域名服务器的查询的迭代查询。

迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。

然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。

顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。

最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

3.总结:

递归查询是 客户端只发起一次请求,返回结果只有查询成功或失败;迭代查询会返回最佳查询点或主机地址。

图解:

构建DNS正向域名解析服务器过程

1 、安装bind软件包,查看需要修改的配置文件所在路径

yum install bind
rpm -qc bind

2、 修改主配置文件

vim /etc/named.conf

3、 修改区域配置文件,添加正向区域配置

vim /etc/named.rfc1912.zones

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

cd /var/named/

cp -p named.localhost benet. com. zone

vim /var/named/benet.com.zone

$TTL 1D #有效解析记录的生存周期

@ IN SOA benet.com.admin.benet.com.

“@"符号表示当前的DNS区域名(别名)

0 ; serial #更新序列号,可以是10位以内的整数

1D ; refresh #刷新时间,重新下载地址数据的间隔

1H ; retry #重试延时,下载失败后的重试间隔

1W ; expire #失效时间,超过该时间仍无法下载则放弃

3H ; minimum #无效解析记录的生存周期

NS master #记录当前区域的DNS服务器的名称

A 192.168.28.128 #记录主机IP地址

www  A 192. 168.28.129 #记录正向解析www.xhx.com对应的IP

mail   A 192. 168.28.130#记录正向解析mail.xhx.com对应的IP

5、 启动服务,关闭防火墙

systemctl start named

systemctl stop firewalld.service

setenforce 0

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

vi /etc/resolv.conf

nameserver 192.168.28.128

vi /etc/sysconfig/network-scripts/ifcfg-ens33

DNS1=192.168.28.128

systemctl restart network

 反向域名解析与正向域名解析不同点

DNS原理与配置的更多相关文章

  1. 001.DNS原理及配置格式

    一 dns简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. ...

  2. Linux DNS原理简介及配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...

  3. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  4. 运维DNS原理配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...

  5. DNS原理及其解析过程 精彩剖析

    本文章转自下面:http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址 ...

  6. DNS原理及其解析过程【精彩剖析】(转)

      2012-03-21 17:23:10 标签:dig wireshark bind nslookup dns 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否 ...

  7. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  8. Samba原理和配置

    Samba原理和配置 个人原创,转载请注明,否则追究法律责任. 一,原理及安装 1,Samba是在Linux和UNIX系统上实现在局域网上共享文件一种通信协议,它为局域网内的不同计算机之间提供文件等资 ...

  9. HAProxy原理和配置

    HAProxy原理和配置 目录 1.HAProxy简介 2.haproxy安装和配置说明 proxies配置参数 bind配置 Balance配置 基于cookie的会话绑定 统计接口启用相关的参数 ...

随机推荐

  1. 干货|SQL语句大全,所有的SQL都在这里了(建议收藏)

    一个执着于技术的公众号 一.基础 1.登录数据库 mysql -uroot -p123123 2.创建数据库 create database <数据库名> 3.删除数据库 drop dat ...

  2. Vulnhub-DC-4靶机实战

    前言 靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/ KALI地址:192.168.75.108 靶机地址:192.168.75.207 一.信息发现 1 ...

  3. Spring Boot 动态修改 log level

    引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  4. Spring Security之简单举例

    核心功能 Spring Security提供了三个核心的功能: 认证(你是谁) 授权(你能干什么) 攻击防护(防止伪造身份) 一个简单例子 默认情况 在前面的开发中,都是将spring securit ...

  5. npm删除依赖包

    第一种办法删除全部依赖包 npm uninstall *( 删除指定的依赖包 npm uninstall xxx删除全局的指定依赖 npm uninstall xxx -gxxx为依赖名称)清缓存 n ...

  6. 04C++核心编程(二-泛型编程)

    Day08 笔记 1 函数模板 1.1 泛型编程 – 模板技术 特点:类型参数化 1.2 template< typename T > 告诉编译器后面紧跟着的函数或者类中出现T,不要报错, ...

  7. 微信小程序使用echarts遇到的问题

    问题1:ec-canvas出现上下滑动页面会漂移 解决方法:在标签内加 force-use-old-canvas="true" 问题2:echarts的tooltip会超出边界 解 ...

  8. 最强肉坦:RUST多线程

    Rust最近非常火,作为coder要早学早享受.本篇作为该博客第一篇学习Rust语言的文章,将通过一个在其他语言都比较常见的例子作为线索,引出Rust的一些重要理念或者说特性.这些特性都是令人心驰神往 ...

  9. JAVA - error(错误)和exception(异常)有什么区别?

    JAVA - error(错误)和exception(异常)有什么区别? error 表示恢复不是不可能但很困难的情况下的一种严重问题.比如说内存溢出.不可能指望程序能处理这样的情况. excepti ...

  10. php 访问控制可见性 public protected private

    对属性或方法的访问控制,是通过在前面添加关键字public(公有),protected(受保护的),private(私有)来实现. 被定义为公有的类成员可以在任何地方被访问. 被定义为受保护的类成员则 ...