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.rhkb.cn/news/335950.html

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

相关文章

git 学习随笔

git 学习随笔 基本概念 git 对待数据类似快照流的形式而不是类似 cvs 那样的纪录文件随时间逐步积累的差异 git 中所有数据在存储钱都会计算校验和(hash) 三种状态:已提交(committed),已修改(modified),已暂存(staged)。 add…

【spring】@PathVariable注解学习

PathVariable介绍 PathVariable是Spring框架中的一个注解,主要用于处理RESTful风格URL中的路径变量。在RESTful接口设计中,我们经常将资源的ID或者其他标识信息直接放在URL路径中,而不是作为查询参数。PathVariable注解使得控制器方法能够轻…

【Linux】Linux基本指令2

我们接着上一篇:http://t.csdnimg.cn/bSJx8 我们接着完善ls指令 我们可以直接匹配对应格式的文件匹配出来 1.man指令(重要): Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助…

原神抽卡点名程序教程(直接下载用)

今天我要给大家分享一个在抖音上特别火的视频——原神抽卡点名程序教程。 (要源码的私信扣31) 废话不多说,直接上效果图 : 步骤1: 步骤2:(写名单,前面加数字代表星级,用…

去除字符串中的空格和特殊字符

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 用户在输入数据时,可能会无意中输入多余的空格,或在一些情况下,字符串前后不允许出现空格和特殊字符,…

【C语言】自定义类型:联合体和枚举

1. 联合体 1.1 联合体的特点 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。 但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间所以联合体也叫:共⽤体。 union Un {char…

DETR整体模型结构解析

DETR流程 Backbone用卷积神经网络抽特征。最后通过一层1*1卷积转化到d_model维度fm(B,d_model,HW)。 position embedding建立跟fm维度相同的位置编码(B,d_model,HW)。 Transformer Encoder,V为fm,K,Q为fm…

【Python】解决Python报错:TypeError: can only concatenate str (not “int“) to str

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

反转!Greenplum 还在,快去 Fork 源码

↑ 关注“少安事务所”公众号,欢迎⭐收藏,不错过精彩内容~ 今早被一条消息刷爆群聊,看到知名开源数仓 Greenplum 的源码仓“删库跑路”了。 要知道 GP 新东家 Broadcom 前几日才刚刚免费开放了 VMware Workstation PRO 17 和 VMware Fusion P…

Selenium 自动化测试工具(1) (Selenium 工作原理,常用API的使用)

文章目录 什么是自动化测试什么是测试工具:Selenium 工作原理(重要)Selenium API定位元素CSS 选择器xpath 定位元素 通过Java代码实现自动化1. 定位元素2. 关闭浏览器3. 获取元素文本4. 鼠标点击与键盘输入5. 清空内容6.打印信息 什么是自动化测试 关于自动化&…

使用C语言实现学生信息管理系统

前言 在我们实现学生信息管理系统的过程中,我们几乎会使用到C语言最常用最重要的知识,对于刚学习完C语言的同学来说是一次很好的巩固机会,其中还牵扯到数据结果中链表的插入和删除内容。 实现学生信息管理系统 文件的创建与使用 对于要实现…

设计模式13——桥接模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 桥接模式(Bridge&a…

存储器和CPU的连接与TCP的流量控制

存储器与CPU的连接 存储容量的拓展 (1)位拓展:增加存储字长 (2)字拓展 增加存储器字的数量 例题:设CPU有16根地址线,8根数据线,并用MREQ作为访问存储控制信号(低电平有效),WR作为…

建议大家少用点儿网站测速工具

春节休息期间明月有接了几个服务器代运维的业务,期间就发现不少新手站长们还在用 17ce、站长工具等等这些网站测速工具来评判站点访问速度的,感觉很有必要给大家聊聊这个事儿,因为这毕竟也是一个涉及服务器安全的一个重要环节了。 其实&#…

C++ list类

目录 0.前言 1.list介绍 1.1优势 1.2劣势 1.3容器属性 2.list使用 2.1构造函数 2.1.1默认构造函数 2.1.2填充构造函数 2.1.3范围构造函数 2.1.4拷贝构造函数 2.1.5初始化列表构造函数 2.2迭代器 2.2.1 begin() 2.2.2 end() 2.2.3 cbegin() 2.2.4 cend() 2.2.…

100个 Unity小游戏系列四 -Unity 抽奖游戏专题二 水果机游戏

一、演示效果 二、知识点 2.1 布局 private void CreateItems(){for (int i 0; i < rewardDatas.Length; i){var reward_data rewardDatas[i];GameObject fruitOjb;if (i < itemRoot.childCount){fruitOjb itemRoot.GetChild(i).gameObject;}else{fruitOjb Instant…

MATLAB分类与判别模型算法: 快速近邻法(FastNN)分类程序【含Matlab源码 MX_005期】

算法思路介绍&#xff1a; 1. 数据准备阶段&#xff1a; 生成一个合成数据集 X&#xff0c;其中包含三个簇&#xff0c;每个簇分布在不同的区域。 定义聚类层数 L 和每个层次的子集数量 l。 2. 聚类阶段&#xff1a; 使用K均值聚类算法将初始数据集 X 分成 l 个簇。…

mac m1安装homebrew管理工具(brew命令)完整流程

背景 因为mac上的brew很久没用了&#xff0c;版本非常旧&#xff0c;随着mac os的更新&#xff0c;本机的homebrew大部分的功能都无法使用&#xff0c;幸好过去通过brew安装的工具比较少&#xff0c;于是决定重新安装一遍brew。 卸载旧版brew 法一&#xff1a;通过使用线上…

【PB案例学习笔记】-13 徒手做个电子时钟

写在前面 这是PB案例学习笔记系列文章的第11篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

渗透测试工具Cobalt strike-2.CS基础使用

三、结合metasploit,反弹shell 在kali中开启使用命令开启metasploit msfconsole ┌──(root㉿oldboy)-[~] └─# msfconsole --- msf6 > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp --- msf6 exploit(multi/handler) > show …