CentOS8搭载正反向解析dns服务器

1.介绍(是什么)

DNS(Domain Name System),即域名系统,是一个将域名和 IP 地址相互映射的分布式数据库,它可以将用户输入的域名转换成对应的 IP 地址。DNS 由多个服务器组成,分为多个层级,每一层级负责管理一部分域名和对应的 IP 地址。

当用户在浏览器中输入一个域名时,浏览器会首先查询本地的 DNS 缓存,如果缓存中有对应的 IP 地址,则直接使用缓存中的地址。如果缓存中没有,则向本地 DNS 服务器发送查询请求,本地 DNS 服务器会向根域名服务器发起查询请求,根域名服务器返回对应的顶级域名服务器地址,本地 DNS 服务器再向顶级域名服务器发送查询请求,顶级域名服务器再返回下一级域名服务器地址,直到找到对应的 IP 地址。

DNS 的作用非常重要,它不仅可以提高用户体验,还可以防止域名劫持和网络攻击等问题。

2.为什么要搭载dns服务器(意义)

1:局域网的内部解析,可以使在同一个局域网的设备,通过自定义的域名之间访问,减少了IP裸露,不仅提高了网络的安全性,更加提高了易用性;

2:域名的注册和管理,如果你是一个上市企业,你希望自己提高线上的知名度,有一个属于自己的域名也是比较重要的,所以你需要一台dns服务器帮助你进行域名解析,因为你总不能让他们都去输入32位2进制的iPv4地址吧

3.隐藏内部拓扑结构,在企业内部,往往很惧怕黑客的攻击,这时候可以通过内部的dns服务器来管理内部域名安全和拓扑结构安全

分布式数据库

分布式数据库是指将数据分散的存储在多台计算机上的数据库系统,dns服务器同样可以采用分布式的逻辑进行存储

DNS 通常由多个服务器组成,分为多个层级,每一层级负责管理一部分域名和对应的 IP 地址。

每一个上层的dns服务器都记载了下一级域名的所有信息,三层服务器通常情况如下(这里我们用www.baidu.com举例)

1.根域名:根域名服务器是整个 DNS 层级结构的最高层,它存储了整个 DNS 系统中所有顶级域名服务器的信息,它们的作用是将请求转发到下一级的顶级域名服务器。在这台服务器上,将会对com进行解析:

2.顶级域名:顶级域名位于根服务器的下一级,它同样存储了该顶级域名下的所有二级域名的 DNS 信息,包括该顶级域名下的权威域名服务器列表   一般来讲,顶级域名代表着国家级 例如 cn之类的   在这里 将会对Baidu进行解析:

3.权威域名:权威域名位于根域名下一级,它存储了每个域名的 IP 地址和其他 DNS 记录信息。当用户向 DNS 服务器查询某个域名的 IP 地址时,DNS 服务器会向该域名对应的权威域名服务器发出查询请求,并返回该域名的 IP 地址给用户。这里会对www进行解析

3:dns服务器

yum install bind*       //下载相关服务

systemctl enble  named    // 启动bind服务

rpm -qc bind     查看bind相关的运行文件

 

在bind相关文件中,必须要对上述标红的文件进行编辑

(1):打开编辑主文件vim /etc/named.conf   

这个文件是bind服务中最主要的部分之一 ,包括但不限于定义域名解析区域、设置DNS转发、限制DNS服务器访问等等,这里我们将允许监听  允许访问都改为any

options {listen-on port 53 { any; };
// 允许监听23端口的主机listen-on-v6 port 53 { ::1; };
// 允许监听53端口的IPv6directory 	"/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";secroots-file	"/var/named/data/named.secroots";recursing-file	"/var/named/data/named.recursing";allow-query     { any; };
//  允许发送dns请求的主机
include "/etc/named.zones";
//定义了 DNS 区域和相关的 DNS 记录,以及对应的 DNS 服务器 IP 地址的配置文件指向

(2)对区域配置文件进行编辑/etc/named.rfc1912.zones

/etc/named.rfc1912.zones 这个文件是bind给的一份格式,在我们创建自己的域名时,可以将他复制过来

cd /etc

cp  -p /etc/named.rfc1912.zones   named.zones   

// 这里加p命令是为了将文件的所属组以及权限的相关内容完整的复制过来

正向解析文件zone "baidu.com" IN {type master;file "/var/named/named.baidu.com"; //文件地址allow-update { none; };
};zone "1.168.192.in-addr.arpa" IN {type master;file "named.192.168.1.zone";  //文件地址allow-update { none; };
};

 我们可以先复制一份样例,我们只负责修改就好

3:针对于file的正向解析文件,以及反向解析文件进行编辑

cd /var/named/

cp -p named.localhost  named.baidu.com 复制样例文件

vim name.baidu.com    添加以下内容

chmod 777 named.baidu.com

$TTL 1D
@	IN SOA	@ root.baidu.com. (1997022700	; serial28800		; refresh 刷新时间14400		; retry   重试时间3600000		; expire  过期时间86400 )		; minimum 最小的生存时间ttl
@			IN		NS		dns.baidu.com.
@			IN		MX	10	mail.baidu.com.
dns			IN		A		192.168.10.1
mail		IN		A		192.168.10.254
www			IN		A		192.168.10.253

 cp -p  named.loopback  named.192.168.1.zone  //复制样例文件

vi named.192.168.1.zone   添加添加以下内容

chmod 777  named.192.168.1.zone

$TTL 1D
@       IN SOA  @ root.baidu.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@                       IN  NS  dns.baidu.com.
@                       IN  NS  mail.baidu.com.
1                       IN  PTR dns.baidu.com.
254                     IN  PTR mail.baidu.com.
253                     IN  PTR www.baidu.com.

 防火墙放行

sudo firewall-cmd --zone=public --add-port=53/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list     放行53端口

or

 systemctl stop firewalled   //关闭防火墙   

systemctl restart named   ;  systemctl enable  named  //重启/启动 bind服务,如果没报错的话,基本是没什么大问题的

最后  /etc/resolv.conf   

这个文件给我的感觉有点类似于是win中的dns本地缓存,在你申请解析的时候。一定会优先向这个文件访问

# Generated by NetworkManager
nameserver	192.168.10.2    //域名地址
nameserver	192.168.10.1
search		www.baidu.com   //域名
nameserver	192.168.10.31

bind查询工具

测试BIND最常用的命令是nslookup。nslookup命令可以用来查询DNS域名解析是否正常,以及查询特定主机名对应的IP地址。在使用nslookup命令时,需要指定要查询的主机名或IP地址,如“nslookup www.baidu.com”或“nslookup 8.8.8.8”等。此外,nslookup还可以用来查询MX记录、CNAME记录、PTR记录等。

命令nsloop 

 nslookup 
> www.baidu.com
Server:		192.168.10.1
Address:	192.168.10.1#53Name:	www.baidu.com
Address: 192.168.10.253

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AOP魔法揭秘:代理生命周期的深度之旅

1. Spring AOP概述 Spring AOP(Aspect-Oriented Programming)是Spring框架中一个强大的功能,它允许开发者在不修改业务逻辑代码的情况下,为业务逻辑添加额外的功能,如日志、事务管理、权限验证等。这些额外的功能被称…

win_os_linux不能用于文件名的保留字符

windows 在 Windows 文件系统中&#xff0c;以下字符是保留字符&#xff0c;不能用于文件名或目录名&#xff1a; < (小于号)> (大于号): (冒号)" (双引号)/ (斜杠)\ (反斜杠)| (竖线)? (问号)* (星号) 此外&#xff0c;文件名不能以空格或句点 (.) 结尾&#x…

Creo模型按一定的比例放大或缩小(实际尺寸)

原来&#xff0c;距离是100mm 缩放操作 放大3倍&#xff0c;距离变为300mm

Web开发者在页面滚动时提供简单而优雅的动画效果的插件库

1、动画插件库scrollrevealjs 官网连接: https://scrollrevealjs.org/api/view-offset.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width…

一文掌握JavaScript面向对象的知识点

文章导读&#xff1a;AI 辅助学习前端&#xff0c;包含入门、进阶、高级部分前端系列内容&#xff0c;当前是 JavaScript的部分&#xff0c;瑶琴会持续更新&#xff0c;适合零基础的朋友&#xff0c;已有前端工作经验的可以不看&#xff0c;也可以当作基础知识回顾。 这篇文章…

使用QtCreator C++编写串口调试助手

100编程书屋_孔夫子旧书网 1.首先看一下我设计的界面&#xff08;我这里比较简单&#xff0c;大家可根据自己的需求进行设计&#xff09; &#xff08;界面设计的过程中&#xff0c;每一个控件的名称最好进行修改&#xff0c;便于后续控件太多不好区分&#xff0c;给控件命名的…

6.1 Go 数组

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

深入分析 Android Activity (十一)

文章目录 深入分析 Android Activity (十一)1. Activity 的内存管理和优化1.1 内存泄漏的常见原因1.2 避免内存泄漏的方法1.3 内存泄漏检测工具 2. Activity 的配置变更处理2.1 处理配置变更2.2 保存和恢复状态2.3 使用 ViewModel 3. Activity 的测试3.1 单元测试3.2 UI 测试 4…

质量工具系列之Dependency-Track

项目开发中依赖了很多第三方开源工具&#xff0c;对于其版本&#xff0c;漏洞等因为时间或者是数量太多而无法关注到&#xff0c;Dependency-Track解决这些问题。 Dependency-Track 是一个开源组件分析平台&#xff0c;是开放网络应用安全项目&#xff08;OWASP&#xff09;的一…

深度解析:优质前端社区工作的多维度探索

深度解析&#xff1a;优质前端社区工作的多维度探索 在数字时代的浪潮中&#xff0c;前端社区工作已然成为推动技术发展与创新的重要力量。一个优质的前端社区工作不仅能够汇聚智慧、促进技术交流&#xff0c;还能够为社区成员提供成长的空间和平台。然而&#xff0c;究竟什么…

web自动化-数据驱动与失败用例截图、失败重新运行

因为只有失败的用例需要截图&#xff0c;那么问题就是&#xff1a; 什么时候用例会失败&#xff1f; 数据驱动测试 我们前面覆盖到的用例都是正常的用例&#xff0c;如果要测试异常的用例呢&#xff1f; 我们来写一下登录的异常 场景&#xff1a;【login_page】 # 用户输入框…

【Qt】Qt中的信号槽

一、信号和槽概述 信号槽是Qt矿建引以为豪的机制之一。 所谓信号槽&#xff0c;实际上就是观察者模式&#xff08;发布——订阅模式&#xff09;。当某个事件发生之后&#xff0c;比如&#xff0c;按钮检测到自己被点击了一下&#xff0c;它就会发出一个信号。这种发出的信号是…

LAMP集群分布式实验报告

前景&#xff1a; 1.技术成熟度和稳定性&#xff1a; LAMP架构&#xff08;Linux、Apache、MySQL、PHP&#xff09;自1998年提出以来&#xff0c;经过长时间的发展和完善&#xff0c;已经成为非常成熟和稳定的Web开发平台。其中&#xff0c;Linux操作系统因其高度的灵活性和稳…

Linux 主机一键安全整改策略

为防止linux主机被恶意攻击&#xff0c;和受到攻击后能更快定位到源头&#xff0c;需要对linux主机做一些参数配置。 比如禁用root的远程登录、用户多次密码验证失败后被锁、禁止系统账号交互式登录等等。 下面是linux主机安全整改的一些简单介绍&#xff0c;最后会通过脚本一…

【XR806开发板试用】基础篇,从零开始搭建一个LCD彩屏时钟(ST7735S驱动)

本文从搭建环境开始&#xff0c;step by step教大家使用XR806实现驱动SPI屏幕&#xff08;ST7735S驱动&#xff09;&#xff0c;并连接WiFi实现ntp对时&#xff0c;最终实现把时间显示到屏幕上。 #1. 搭建开发环境 1. 安装编译环境所需的依赖包 基于ubuntu 20.04&#xff0c;按…

UI自动化测试最佳设计模式POM

当使用Selenium进行UI自动化测试时&#xff0c;Page Object Model&#xff08;POM&#xff09;是一种最佳实践的设计模式。POM的核心思想是通过将页面封装成对象&#xff0c;使得测试代码更加清晰、可维护和可重用。 POM的主要组成部分包括页面对象类、元素定位方式和操作方法…

MybatisPlus @TableField之SqlCondition源码解析

应用对象&#xff1a;模型&#xff0c;作用&#xff1a;调用IService接口&#xff0c;使用查询包装器实现灵活的条件查询。 TableField(conditionSqlCondition.LIKE) 注解使用逻辑 com.baomidou.mybatisplus.extension.service.IService.page(分页对象&#xff0c;查询包装器…

“区块链技术在网络安全领域的革新应用与挑战“

区块链技术&#xff0c;以其去中心化、不可篡改和透明度高的特性&#xff0c;在网络安全领域展现出了巨大的革新潜力&#xff0c;同时也带来了一系列新的挑战。以下是区块链技术在网络安全领域的应用及其面临的主要挑战的深入分析。 革新应用 1. 数据保护与隐私增强&#xff…

PHP身份证识别接口、线上平台如何实现身份证实名认证功能?

线上平台实现身份证实名认证的功能&#xff0c;需要结合身份证识别接口来完成。首先&#xff0c;用户通过上传身份证图片或者拍照的方式实现证件信息的提取&#xff0c;身份证实名认证接口通过对提取到的证件信息进行核验&#xff0c;以此来实现线上用户身份的实名认证&#xf…

LabVIEW车轮动平衡检测系统

LabVIEW车轮动平衡检测系统 随着汽车行业的快速发展&#xff0c;车轮动平衡问题对乘坐舒适性、操控稳定性及安全性的影响日益凸显&#xff0c;成为了提高汽车性能的一个关键环节。传统的检测系统因精度低、成本高、操作复杂等问题&#xff0c;难以满足现代汽车行业的需求。开发…