DNS域名解析服务(重点)
一 、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的解析原理:
在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
如果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域名解析服务(重点)的更多相关文章
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- 使用unbound提供DNS域名解析服务
使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...
- DNS域名解析服务(bind)
DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...
- DNS域名解析服务以及Bind服务程序
一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...
- DNS域名解析四种配置实验 ---Linux DNS域名解析服务
DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...
- DNS域名解析服务
一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...
- Linux网络服务第七章DNS域名解析服务
端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...
- DNS域名解析服务及其配置
一.背景 到 20 世纪 70 年代末,ARPAnet 是一个拥有几百台主机的很小很友好的网络.仅需要一个名为 HOSTS.TXT 的文件就能容纳所有需要了解的主机信息:它包含了所有连接到 ARPAn ...
- DNS域名解析服务的介绍
1.1什么是域名? 域名(英语:Domain Name),简称域名.网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理 ...
随机推荐
- JAVA中fail-fast机制
在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证.快速失 ...
- html()和append()
html()方法会替换原有内容,append() 方法在被选元素的结尾插入指定内容.prepend() 方法在被选元素的开头插入指定内容 appendChild() 方法向节点添加最后一个子节点.pr ...
- 鬼斧神工:求n维球的体积
原文地址:http://spaces.ac.cn/archives/3154/ 原文作者:苏剑林 标准思路 简单来说,\(n\)维球体积就是如下\(n\)重积分 \[V_n(r)=\int_{x_1^ ...
- 前端——语言——Core JS——《The good part》读书笔记——第五章节(Inheritance)
本章题目是继承,实质上介绍JS如何实现面向对象的三大特性,封装,继承,多态.本章的最后一个小节介绍事件. 与Java语言对比,虽然名称同样称为类,对象,但是显然它们的含义存在一些细微的差异,而且实现三 ...
- bit Buffer
在音频流解析过程中,常常会涉及到顺序读取某些bit的操作. #include<stdio.h> typedef struct _BIT_BUF { unsigned char buffer ...
- C# 之 代码实现延时
Task.Delay();异步实现 using System;using System.Threading.Tasks; namespace csharpYS{ class Program { sta ...
- logging basic
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等. 相比print,具备如下优点: 可以通过设置不同的日志等级, ...
- 刷题10. Regular Expression Matching
一.题目说明 这个题目是10. Regular Expression Matching,乍一看不是很难. 但我实现提交后,总是报错.不得已查看了答案. 二.我的做法 我的实现,最大的问题在于对.*的处 ...
- ASP.NET CSRF 解决【网摘】
http://stackoverflow.com/questions/29939566/preventing-cross-site-request-forgery-csrf-attacks-in-as ...
- python pip 安装常用库如何使用国内镜像源
最近通过python安装一些常用库发现下载速度特别慢,而且还会出现无法安装等错误,尝试找了一些国内的镜像源,发现阿里云的速度很快,这里做个记录,并分享给大家. 国内镜像源 阿里云:http://mir ...