一 、DNS  系统的作用

1、DNS 服务器概述

DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名;与 IP
地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

(1)正向解析:根据域名查 IP 地址,是 DNS 服务最常用的基本功能
(2)反向解析:根据 IP 查域名,不是很常用,应用于例如反垃圾邮件的验证等
每台 DNS 服务器都负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的
对应关系,这些特定的 DNS 域或 IP 地址段称为“zone”(区域)。

2、DNS 服务器的常见分类

(1)缓存域名服务器
只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控
制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解
析来源。

(2)主DNS 服务器:管理和维护所负责解析的域内解析库的服务器;读写均可进行

(3)从DNS 服务器:从主服务器或从服务器“复制”(区域传输)解析库副本;只能进行读操作

(4) RPM包的主要作用如下:

bind:提供了域名服务的主要程序及相关文件

bind-utils:提供了对DNS服务器的测试工具程序,如nslookup

bind-libs:提供了bind、bind-utils需要使用函数库

bind-chroot:为BIND服务伪装的根目录

bind服务安装后会自动增加一named服务

3、配置文件
(1)主配置文件: /etc/named.conf
(2)区域配置文件: /var/named

DNS域名解析原理:

DNS的解析原理:

  1. 在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

  2. 如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

  3. 如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

DNS工作原理:
  第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
  第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
  第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
  第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
  第五步:重复第四步,直到找到正确的纪录。
  第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

===============================================================

主服务器:IP为192.168.200.115

(0)环境准备

[root@localhost ~]# systemctl stop firewalld                  //关闭防火墙
[root@localhost ~]# setenforce 0                                  //关闭安全机制

(1)构建缓存域名服务器
[root@ns2 ~]# yum -y install bind bind-utils
[root@ns2 ~]# vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; }; //监听地址和端口
directory "/var/named"; //区域文件默认存放位置
dump-file "/var/named/data/cache_dump.db"; //缓存数据库文件位置
statistics-file "/var/named/data/named_stats.txt"; //状态文件位置
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; }; //允许使用本DNS服务器的网段
recursion yes;
};

(2)构建主DNS域名解析服务器:ip为192.168.200.115
[root@localhost ~]# yum -y install bind

[root@localhost ~]# cat /etc/resolv.conf                         
# Generated by NetworkManager
nameserver 192.168.200.115                          //nameserve定义DNS服务器的IP地址
nameserver 192.168.200.112

[root@localhost ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.115 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com

[root@localhost ~]# cat /etc/named.conf                            //主配置文件

options {
        directory     "/var/named";
};

zone "crushlinux.com" IN {                           //正向区域
       type master;                                 //类型为主要文件
       file "crushlinux.zheng";                     //区域数据文件
       allow-transfer { 192.168.200.112; };        //允许下载的服务器地址
};

zone "200.168.192.in-addr.arpa" IN {
      type master;
      file "crushlinux.fan";
      allow-transfer { 192.168.200.112; };
};

[root@localhost ~]# cat /var/named/crushlinux.zheng


$TTL 86400                      //有效记录的生命周期
@          IN         SOA        crushlinux.com.      admin.crushlinux.com. (                 //域名 认证授权 域名 管理员邮箱
                    20190822              //更新序号
                      3H                  //更新时间间隔 
                      15M                 //更新失败再次尝试的间隔
                      1W                  //若一直失败,尝试一周后结束
                      1D                  //失败解析记录缓存时间
)
          IN          NS         ns1.crushlinux.com.
          IN          NS         ns2.crushlinux.com.
          IN          MX 10      mail.crushlinux.com.
ns1       IN           A         192.168.200.115
ns2       IN           A         192.168.200.112
mail      IN           A         192.168.200.113
www       IN           A         192.168.200.114
study     IN           A         192.168.200.111
*         IN           A         192.168.200.115
ftp       IN         CNAME       www

[root@localhost ~]# cat /var/named/crushlinux.fan

$TTL
@ IN SOA crushlinux.com. admin.crushlinux.com. ( 3H
15M
1W
1D
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX mail.crushlinux.com.
IN PTR ns1.crushlinux.com.
IN PTR ns2.crushlinux.com.
IN PTR mail.crushlinux.com.
IN PTR www.crushlinux.com.
IN PTR study.crushlinux.com.
IN PTR ns1.crushlinux.com.

======================================================================

此处用于检测可不写

//[root@localhost ~]# chown :named /var/named/crushlinux.*

//[root@localhost ~]# named-checkconf -z /etc/named.conf
//[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng
//[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan
[root@localhost ~]# systemctl restart named

======================================================================

(3)构建从DNS域名解析服务器:IP为192.168.200.112

[root@localhost ~]# yum -y install bind
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.200.115
nameserver 192.168.200.112

[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.115 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com

[root@localhost ~]# cat /etc/named.conf

options {
directory "/var/named"; }; zone "crushlinux.com" IN {
type slave;
file "slaves/crushlinux.zheng";
masters { 192.168.200.115; };
};
zone "200.168.192.in-addr.arpa" IN {
type slave;
file "slaves/crushlinux.fan";
masters { 192.168.200.115; }; };

[root@localhost ~]# systemctl restart named

========================================================

windows客户机配置及测试主从

DNS域名解析服务(重点)的更多相关文章

  1. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  2. 使用unbound提供DNS域名解析服务

    使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...

  3. DNS域名解析服务(bind)

    DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...

  4. DNS域名解析服务以及Bind服务程序

    一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...

  5. DNS域名解析四种配置实验 ---Linux DNS域名解析服务

    DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...

  6. DNS域名解析服务

    一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...

  7. Linux网络服务第七章DNS域名解析服务

    端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...

  8. DNS域名解析服务及其配置

    一.背景 到 20 世纪 70 年代末,ARPAnet 是一个拥有几百台主机的很小很友好的网络.仅需要一个名为 HOSTS.TXT 的文件就能容纳所有需要了解的主机信息:它包含了所有连接到 ARPAn ...

  9. DNS域名解析服务的介绍

    1.1什么是域名? 域名(英语:Domain Name),简称域名.网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理 ...

随机推荐

  1. MyBatis Generator 超详细配置

    想快速开始,请直接拉到最后,看整体配置. MyBatis Generator 是 MyBatis 提供的一个代码生成工具.可以帮我们生成 表对应的持久化对象(po).操作数据库的接口(dao).CRU ...

  2. docker互联机制实现便捷互访

    何为容器互联 & 为何需要容器互联 容器的互联是一种让多个容器中应用进行快速交互的方式,它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 ip 地址 ...

  3. tf.train.examle函数

    在自定义数据集中: example = tf.train.Example(features=tf.train.Features(feature={ 'img_raw': tf.train.Featur ...

  4. Nuxt 常用的配置项

    1:在开发项目时 我们可能会遇到端口被占用或者指定IP的情况, 在Nuxt中 我们可以在page.json 文件中进行配置,例如希望IP配置成125.0.0.1,端口设置1616 "conf ...

  5. WiFi密码破解(wpa/wpa2)

    参考一篇很好的贴子:https://www.cnblogs.com/daoyi/p/Kali-Linux-shi-yongAircrack-po-jiewifi-mi-ma-wpawp.html #前 ...

  6. IDEA 自定义注释模板 支持设置多个param参数

    在使用IDEA过程中,很多人可能感觉自带注释太简约了,想增加一些属性,比如作者.创建时间.版本号等等,这个时候我们可以使用自定义的注释模板来实现我们需求,话不多说直接进入如何自定义模板设置: 打开设置 ...

  7. JDBC--处理Blob

    1.LOB(Large Objects)大对象,是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储多达4GB的数据) --LOB分类两种类型:1)内部LOB: 2)外部LOB: -- ...

  8. JS-常用方法合集

    部分方法使用jQuery!!!//tab切换 /* * 参数tablist为触发事件id * 参数tabmain为执行切换id * 参数ev为触发事件的动作 */ function tab(tabli ...

  9. 交换分区swap和日志系统

    目录 1.使用系统中的某个文件作为swap分区 1.1创建swapfile 1.2格式化swap分区 1.3检查当前swap分区情况 1.4临时启用新建swap分区并查看情况 1.5 关闭新建的swa ...

  10. 迭代器,for循环本质,生成器,常用内置方法,面向过程编程

    一.迭代器 1.迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 2.迭代器给你提供了一种不依赖于索引取值的方式 3.可以迭代取值的对象:字符串,列表,元组,字典 ...