当前位置: 首页 > news >正文

RHCE-DNS域名解析服务器

一、DNS简介

DNS ( Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分布式 数据库,能够使人更方便的访问互联网。
DNS 系统使用的是网络的查询,那么自然需要有监听的 port 。 DNS 使用的是 53 端口,
在 /etc/services (搜索 domain )这个文件中能看到。通常 DNS 是以 UDP 这个较快速的数据传输协议来查 询的,但是没有查询到完整的信息时,就会再次以TCP 这个协议来重新查询。所以启动 DNS 时,会同时 启动TCP 以及 UDP 的 port53 。

(1)因特网的域名结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在 因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name) 。 “ 域 ”(domain) 是 名字空间中一个可被管理的划分。
域名只是逻辑概念,并不代表计算机所在的物理地点。域名可分为三大类:
国家顶级域名:采用 ISO3166 的规定。如: cn 代表中国, us 代表美国, uk 代表英国,等等。国家域名又常记为 ccTLD(country code top-level domains , cc 表示国家代码 contry-code) 。
通用顶级域名:最常见的通用顶级域名有 7 个,即: com( 公司企业 ) , net( 网络服务机构 ) , org( 非营利组织 ) , int( 国际组织 ) , gov( 美国的政府部门 ) , mil( 美国的军事部门 ) 。
基础结构域名 (infrastructure domain) :这种顶级域名只有一个,即 arpa ,用于反向域名解析,因此称为反向域名。

(2)域名服务器的类型划分

根据域名服务器起的作用,可以把域名服务器划分为以下类型:

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所
有的顶级域名服务器的域名和 IP 地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个 DNS 系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出 IP 地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。


现如今全球一共投放 13 个根服务器 根服务器主要用来管理互联网的主目录,全世界只有13 台。 1 个为主根服务器,放置在美国。其余 12个均为辅根服务器,其中 9 个放置在美国,欧洲 2 个,位于英国和瑞典,亚洲 1 个,位于日本。所 有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN 统一管理,负责全球互联网域名 根服务 器、域名体系和IP地址等的管理。 这 13 台根服务器可以指挥 Firefox 或互联网 Explorer 这样的 Web 浏览器和电子邮件程序控制互联网通信。换句话说—— 攻击整个因特网最有力、最直接,也是最致 命的方法恐怕就是攻击根域名服务器了。在与现有 IPv4 根服务器体系架构充分兼容基础上,由我国下一代互联网国家工程中心领衔发起的 “ 雪 人计划” 于 2016 年在美国、日本、印度、俄罗斯、德国、法国等全球 16 个国家完成 25 台 IPv6 (互联 网协议第六版)根服务器架设,事实上形成了13 台原有根加 25 台 IPv6 根的新格局,为建立多边、民 主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4 台,由 1 台主根服务器和 3 台辅 根服务器组成,打破了中国过去没有根服务器的困境。
顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
权限域名服务器:负责一个 “ 区 ” 的域名服务器。
本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当
一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
主从 DNS 服务器:为了提高域名服务器的可靠性, DNS 域名服务器都把数据复制到几个域名服务器 来保存,其中的一个就是主DNS 服务器( Master name server ),负责解析至少一个域。其他的 是辅助(从)DNS 服务器( Slave name server ):负责解析至少一个域,是主 DNS 服务器的辅助。当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了据的一致性。
缓存 DNS 服务器:不负责解析域,只是缓存域名解析的结果。

二、DNS域名解析的过程

DNS解析方式
正向解析:将FQDN----->IP
反向解析:将IP----->FQDN

1 、在浏览器中输入 www . qq .com 域名,操作系统会先检查自己本地的 hosts 文件是否有这个网
址映射关系,如果有,就先调用这个 IP 地址映射,完成域名解析。
2 、如果 hosts 里没有这个域名的映射,则查找本地 DNS 解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3 、如果 hosts 与本地 DNS 解析器缓存都没有相应的网址映射关系,首先会找 TCP/IP 参数中设置的首选 DNS 服务器,在此我们叫它本地 DNS 服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4 、如果要查询的域名,不由本地 DNS 服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析,此解析不具有权威性。
5 、如果本地 DNS 服务器本地区域文件与缓存解析都失效,则根据本地 DNS 服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地 DNS 就把请求发至 13 台根 DNS ,根 DNS 服务器收
到请求后会判断这个域名 (.com) 是谁来授权管理,并会返回一个负责该顶级域名服务器的一个 IP。
本地 DNS 服务器 收到IP 信息后,将会联系负责 .com 域的这台服务器。这台负责 .com 域的服务器收到请求后,如果 自己无法解析,它就会找一个管理qq.com 的 DNS 服务器地址给本地 DNS 服务器。当本地 DNS 服务 器收到这个地址后,就会找qq.com 域服务器,重复上面的动作,进行查询,直至找到 www . qq .com主机。
6 、如果用的是转发模式,本地 DNS 服务器就会把请求转发至上一级 DNS 服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把请求转至上上级,以此循环。找到最后把结果返回给本地 DNS 服务器,由此 DNS 服务器再返回给客户机。
注:从客户端到本地 DNS 服务器是属于递归查询,而 DNS 服务器之间使用的交互查询就是迭代查询。114.114.114.114 是国内移动、电信和联通通用的 DNS ,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的 DNS 。8.8.8.8 是 GOOGLE 公司提供的 DNS ,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。

三、DNS服务器配置

提供DNS服务的软件叫bind,服务名是named。
[root@localhost ~]# yum install bind -y
[root@localhost ~]# rpm -ql bind
/etc/named.conf # bind主配置文件
/var/named/slaves # 从dns服务器文件夹
[root@localhost ~]# vim /etc/named.conf
options {
#定义监听端口,如果所有地址都监听,则只写端口
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
#定义数据文件目录
directory "/var/named";
#只允许本地主机进行查询
allow-query { localhost; };
};
#定义区域
zone "." IN {
type hint;
file "named.ca";
};
1.搭建主从dns服务器实现正反向解析

主服务器IP地址(192.168.36.136/24)

从服务器IP地址(192.168.36.159/24)

主服务器配置

1.关闭防火墙及selinux,并下载软件包bind

[root@service ~]# systemctl stop firewalld
[root@service ~]# setenforce 0
[root@service ~]# yum install bind -y

2.修改配置文件:vim /etc/named.conf

[root@service ~]# cat /etc/named.conf 
options {listen-on port 53 { 192.168.36.136; };directory	"/var/named";allow-transfer { 192.168.36.159; };
};zone "baidu.com" IN {type master;file "named.baidu.com";
};

3.创建资料解析数据文件 vim /var/named/named.baidu.com

[root@service ~]# vim /var/named/named.baidu.com 
[root@service ~]# cat /var/named/named.baidu.com 
$TTL 1D
@ 	IN 	SOA 	@ 	admin.baidu.com. ( 1 1D 1H 1W 3H )IN 	NS 	ns.baidu.com.IN 	NS 	slave.baidu.com.IN 	MX 	10 	mail.baidu.com.
ns 	IN 	A 	192.168.36.136
slave 	IN 	A 	192.168.36.159
mail 	IN 	A 	192.168.36.136
www 	IN 	A 	192.168.36.136
ftp 	IN 	CNAME 	www
www1	IN	CNAME	www

4.重启服务systemctl restart named及本地测试

[root@service ~]# systemctl restart named
[root@service ~]# systemctl disable firewalld --now
[root@service ~]# setenforce 0
#本地测试
[root@service ~]# host www.baidu.com 192.168.36.136
Using domain server:
Name: 192.168.36.136
Address: 192.168.36.136#53
Aliases: www.baidu.com has address 192.168.36.136
[root@service ~]# nslookup www.baidu.com 192.168.36.136
Server:		192.168.36.136
Address:	192.168.36.136#53Name:	www.baidu.com
Address: 192.168.36.136
从服务器配置

1.关闭防火墙及selinux,并下载软件包bind

[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
[root@client ~]# yum install bind -y

2.修改配置文件 vim /etc/named.conf

[root@client ~]# vim /etc/named.conf 
[root@client ~]# cat /etc/named.conf 
options {listen-on port 53 { 192.168.36.159; };directory	"/var/named";allow-query	{ any; };
};zone "baidu.com" IN {type slave;file "slaves/named.baidu.com";masters { 192.168.36.136; };	
};

3.重启服务并测试 systemctl restart named

[root@client ~]# systemctl restart named
[root@client ~]# host www.baidu.com 192.168.36.159
Using domain server:
Name: 192.168.36.159
Address: 192.168.36.159#53
Aliases: www.baidu.com has address 192.168.36.136

主从dns服务器实现正反向解析搭建成功!

相关文章:

RHCE-DNS域名解析服务器

一、DNS简介 DNS ( Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分布式 数据库,能够使人更方便的访问互联网。 DNS 系统使用的是网络的查询,那么自然需要有监听的 port 。 DNS 使…...

移民统计年鉴(1996-2021年)

年鉴中包含了以下几个方面的数据: 移民数量:记录了每年全球移民的总数,以及不同国家和地区的移民流入和流出情况。 移民类型:区分了经济移民、难民、家庭团聚等不同类型的移民。 移民原因:分析了推动移民的各种因素&…...

MFC1(note)

引言 在学习SDK后我们发现,写消息好麻烦,处理消息更麻烦 处理消息效率低发送消息效率低 所以把SDK中这些消息全部封装好 MFC封装了windows 的大部分API 这里说一下QT架构跨平台 MFC用得如何取决于你SDK的水平 创建 如果打开没有MFC 一般勾选以下…...

1.1 关于游戏编程

1.1.1、游戏中客户端和服务器的交互 游戏通常采用客户端-服务器模式‌。在这种模式下,服务器负责处理游戏的核心逻辑、数据存储和玩家间的交互,而客户端则负责呈现游戏画面、接收玩家输入并与服务器通信‌。 客户端和服务器的作用和功能 ‌客户端‌&a…...

光流法与直接法在SLAM中的应用

本文总结视觉SLAM中常用的光流法与直接法 1、Lucas-Kanade光流法 相机所拍摄到的图像随相机视角的变化而变化,这种变化也可以理解为图像中像素的反向移动。“光流”(Optical Flow)是指通过分析连续图像帧来估计场景中像素或特征点的运动的技…...

C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型

用自己定义的数据结构作为rtree的key。 // rTree的key struct OverlapKey {using BDPoint boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>; //双精度的点using MyRTree boost::geometry::index::rtree<OverlapKey, boost::geometry::in…...

让空间计算触手可及,VR手套何以点石成金?

引言 如何让一位母亲与她去世的小女儿“重逢”&#xff1f;韩国MBC电视台《I Met You》节目实现了一个“不可能”心愿。 在空旷的绿幕中&#xff0c;母亲Jang Ji-sung透过VR头显&#xff0c;看到了三年前因白血病去世的女儿Nayeon。当她伸出双手&#xff0c;居然能摸到女儿的…...

穿越数据迷宫:C++哈希表的奇幻旅程

文章目录 前言&#x1f4d4;一、unordered系列关联式容器&#x1f4d5;1.1 unordered 容器概述&#x1f4d5;1.2 哈希表在 unordered 容器中的实现原理&#x1f4d5;1.3 unordered 容器的特点 &#x1f4d4;二、unordered_set 和 unordered_map 的基本操作&#x1f4d5;2.1 un…...

SMT32 智能环境监测系统 嵌入式初学者课堂小组作业

一、应用知识 1&#xff0c;开发语言&#xff1a;C语言 2&#xff0c;开发工具&#xff1a;Keil uVision5、Setup_JLinkARM_V415e 3&#xff0c;开发平台&#xff1a;XCOM V2.0 4&#xff0c;开发知识&#xff1a;温湿度传感DHT11、STM32F4xx中文参考手册 5&#xff0c;文…...

20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡

20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡 2024/11/14 15:44 缘起&#xff1a;使用EVB2的方案&#xff0c;RJ45加进去怎么也不通。 实在没有办法&#xff0c;只能将荣品的SDK&#xff1a;rk-android13-20240713.tgz 解压缩&#xff0c;编译之…...

JVM这个工具的使用方法

JVM&#xff08;Java虚拟机&#xff09;是Java程序运行的基础环境&#xff0c;它提供了内存管理、线程管理和性能监控等功能。吃透JVM诊断方法&#xff0c;可以帮助开发者更有效地解决Java应用在运行时遇到的问题。以下是一些常见的JVM诊断方法&#xff1a; 使用JConsole: JCon…...

创建型设计模式与面向接口编程

创建型设计模式&#xff08;Creational Patterns&#xff09;的主要目的之一就是帮助实现面向接口编程&#xff0c;避免直接创建实现类的实例。通过这些模式&#xff0c;可以将对象的创建过程封装起来&#xff0c;使得客户端代码不需要知道具体的实现类&#xff0c;从而提高代码…...

算法每日双题精讲——滑动窗口(长度最小的子数组,无重复字符的最长子串)

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 别再犹豫了&#xff01;快来订阅我们的算法每日双题精讲专栏&#xff0c;一起踏上算法学习的精彩之旅吧&#xff01;&#x1f4aa;…...

1.7 JS性能优化

从输入url到页面加载完成都做了些什么 输入 URL - 资源定位符 http://www.zhaowa.com - http 协议 域名解析 https://www.zhaowa.com > ip 1. 切HOST&#xff1f; > 浏览器缓存映射、系统、路由、运营商、根服务器 2. 实际的静态文件存放&#xff1f; 大流量 > 多个…...

STL - vector的使用和模拟实现

目录 一&#xff1a;vector的构造函数 二&#xff1a;vector的迭代器 三vector的空间增长问题 四&#xff1a;vector 增删查改接口 五&#xff1a;vector的模拟实现 &#xff08;一&#xff09;一些简单接口的实现&#xff1a; &#xff08;二&#xff09;一些复杂接口的…...

《鸿蒙生态:开发者的机遇与挑战》

一、引言 在当今科技飞速发展的时代&#xff0c;操作系统作为连接硬件与软件的核心枢纽&#xff0c;其重要性不言而喻。鸿蒙系统的出现&#xff0c;为开发者带来了新的机遇与挑战。本文将从开发者的角度出发&#xff0c;阐述对鸿蒙生态的认知和了解&#xff0c;分析鸿蒙生态的…...

【C++融会贯通】二叉树进阶

目录 一、内容说明 二、二叉搜索树 2.1 二叉搜索树概念 2.2 二叉搜索树操作 2.2.1 二叉搜索树的查找 2.2.2 二叉搜索树的插入 2.2.3 二叉搜索树的删除 2.3 二叉搜索树的实现 2.3.1 二叉搜索树的节点设置 2.3.2 二叉搜索树的查找函数 2.3.2.1 非递归实现 2.3.2.2 递…...

使用python-Spark使用的场景案例具体代码分析

使用场景 1. 数据批处理 • 日志分析&#xff1a;互联网公司每天会产生海量的服务器日志&#xff0c;如访问日志、应用程序日志等。Spark可以高效地读取这些日志文件&#xff0c;对数据进行清洗&#xff08;例如去除无效记录、解析日志格式&#xff09;、转换&#xff08;例如…...

如何查看本地的个人SSH密钥

1.确保你的电脑上安装了 Git。 你可以通过终端或命令提示符输入以下命令来检查&#xff1a; git --version 如果没有安装&#xff0c;请前往 Git 官网 下载并安装适合你操作系统的版本。 2.查找SSH密钥 默认情况下&#xff0c;SSH密钥存储在你的用户目录下的.ssh文件夹中。…...

本人认为 写程序的三大基本原则

1. 合法性 ‌定义‌&#xff1a;合法性指的是程序必须遵守法律法规和道德规范&#xff0c;不得用于非法活动。 ‌建议‌&#xff1a; ‌了解法律法规‌&#xff1a;在编写程序之前&#xff0c;了解并遵守所在国家或地区的法律法规&#xff0c;特别是与数据隐私、版权、网络安…...

A030-基于Spring boot的公司资产网站设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…...

React Hooks 深度解析与实战

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 React Hooks 深度解析与实战 React Hooks 深度解析与实战 React Hooks 深度解析与实战 引言 什么是 Hooks? 定义 为什么需要 Ho…...

#渗透测试#SRC漏洞挖掘#蓝队基础之网络七层杀伤链04 终章

网络杀伤链模型&#xff08;Kill Chain Model&#xff09;是一种用于描述和分析网络攻击各个阶段的框架。这个模型最初由洛克希德马丁公司提出&#xff0c;用于帮助企业和组织识别和防御网络攻击。网络杀伤链模型将网络攻击过程分解为多个阶段&#xff0c;每个阶段都有特定的活…...

计算机毕业设计Python+大模型农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

爬虫补环境案例---问财网(rpc,jsdom,代理,selenium)

目录 一.环境检测 1. 什么是环境检测 2.案例讲解 二 .吐环境脚本 1. 简介 2. 基础使用方法 3.数据返回 4. 完整代理使用 5. 代理封装 6. 封装所有使用方法 jsdom补环境 1. 环境安装 2. 基本使用 3. 添加参数形式 Selenium补环境 1. 简介 2.实战案例 1. 逆向目…...

SpringBoot有几种获取Request对象的方法

HttpServletRequest 简称 Request&#xff0c;它是一个 Servlet API 提供的对象&#xff0c;用于获取客户端发起的 HTTP 请求信息。例如&#xff1a;获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。 那么问题来了&#xff0c;在 Spring Boot 中…...

在 Windows 11 中使用 MuMu 模拟器 12 国际版配置代理

**以下是优化后的教学内容,使用 Markdown 格式,便于粘贴到 CSDN 或其他支持 Markdown 格式的编辑器中: 在 Windows 11 中使用 MuMu 模拟器 12 国际版配置代理 MuMu 模拟器内有网络设置功能,可以直接在模拟器中配置代理。但如果你不确定如何操作,可以通过在 Windows 端设…...

ASP.NET Core Webapi 返回数据的三种方式

ASP.NET Core为Web API控制器方法返回类型提供了如下几个选择&#xff1a; Specific type IActionResult ActionResult<T> 1. 返回指定类型&#xff08;Specific type&#xff09; 最简单的API会返回原生的或者复杂的数据类型&#xff08;比如&#xff0c;string 或者…...

SQL面试题——蚂蚁SQL面试题 连续3天减少碳排放量不低于100的用户

连续3天减少碳排放量不低于100的用户 这是一道来自蚂蚁的面试题目,要求我们找出连续3天减少碳排放量低于100的用户,之前我们分析过两道关于连续的问题了 SQL面试题——最大连续登陆问题 SQL面试题——球员连续四次得分 这两个问题都是跟连续有关的,但是球员连续得分的难…...

Python酷库之旅-第三方库Pandas(216)

目录 一、用法精讲 1011、pandas.DatetimeIndex.tz属性 1011-1、语法 1011-2、参数 1011-3、功能 1011-4、返回值 1011-5、说明 1011-6、用法 1011-6-1、数据准备 1011-6-2、代码示例 1011-6-3、结果输出 1012、pandas.DatetimeIndex.freq属性 1012-1、语法 1012…...