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手套何以点石成金?
引言 如何让一位母亲与她去世的小女儿“重逢”?韩国MBC电视台《I Met You》节目实现了一个“不可能”心愿。 在空旷的绿幕中,母亲Jang Ji-sung透过VR头显,看到了三年前因白血病去世的女儿Nayeon。当她伸出双手,居然能摸到女儿的…...

穿越数据迷宫:C++哈希表的奇幻旅程
文章目录 前言📔一、unordered系列关联式容器📕1.1 unordered 容器概述📕1.2 哈希表在 unordered 容器中的实现原理📕1.3 unordered 容器的特点 📔二、unordered_set 和 unordered_map 的基本操作📕2.1 un…...

SMT32 智能环境监测系统 嵌入式初学者课堂小组作业
一、应用知识 1,开发语言:C语言 2,开发工具:Keil uVision5、Setup_JLinkARM_V415e 3,开发平台:XCOM V2.0 4,开发知识:温湿度传感DHT11、STM32F4xx中文参考手册 5,文…...

20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡
20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡 2024/11/14 15:44 缘起:使用EVB2的方案,RJ45加进去怎么也不通。 实在没有办法,只能将荣品的SDK:rk-android13-20240713.tgz 解压缩,编译之…...
JVM这个工具的使用方法
JVM(Java虚拟机)是Java程序运行的基础环境,它提供了内存管理、线程管理和性能监控等功能。吃透JVM诊断方法,可以帮助开发者更有效地解决Java应用在运行时遇到的问题。以下是一些常见的JVM诊断方法: 使用JConsole: JCon…...
创建型设计模式与面向接口编程
创建型设计模式(Creational Patterns)的主要目的之一就是帮助实现面向接口编程,避免直接创建实现类的实例。通过这些模式,可以将对象的创建过程封装起来,使得客户端代码不需要知道具体的实现类,从而提高代码…...

算法每日双题精讲——滑动窗口(长度最小的子数组,无重复字符的最长子串)
🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!💪…...

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

STL - vector的使用和模拟实现
目录 一:vector的构造函数 二:vector的迭代器 三vector的空间增长问题 四:vector 增删查改接口 五:vector的模拟实现 (一)一些简单接口的实现: (二)一些复杂接口的…...

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

【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. 数据批处理 • 日志分析:互联网公司每天会产生海量的服务器日志,如访问日志、应用程序日志等。Spark可以高效地读取这些日志文件,对数据进行清洗(例如去除无效记录、解析日志格式)、转换(例如…...
如何查看本地的个人SSH密钥
1.确保你的电脑上安装了 Git。 你可以通过终端或命令提示符输入以下命令来检查: git --version 如果没有安装,请前往 Git 官网 下载并安装适合你操作系统的版本。 2.查找SSH密钥 默认情况下,SSH密钥存储在你的用户目录下的.ssh文件夹中。…...
本人认为 写程序的三大基本原则
1. 合法性 定义:合法性指的是程序必须遵守法律法规和道德规范,不得用于非法活动。 建议: 了解法律法规:在编写程序之前,了解并遵守所在国家或地区的法律法规,特别是与数据隐私、版权、网络安…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...