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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2020职称继续教育--突发公共卫生事件应急处理技术方案
  • PHP框架 Laravel
  • 「小明赠书活动」第四期《Java开发坑点解析:从根因分析到最佳实践》
  • 数据结构与算法之线性表01
  • C语言一个头⽂件可以包含另⼀个头⽂件吗?
  • Facebook开户 | Facebook的CTR是什么?
  • RK平台ADB不识别问题排查
  • 免费wordpress中文主题
  • python连接FTP服务器:[WinError 10054] 远程主机强迫关闭了一个现有连接
  • 金融信创生态实验室第三期金融信创优秀解决方案--中间件统一管理平台解决方案
  • 基于FMEA保证汽车电控系统的可靠性
  • 新旅程:类与对象的魔法课堂
  • Git 命令大全
  • 代谢组数据分析六:基于报告分数的功能分析
  • 如何基于springboot构建cas最新版源码?
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 77. Combinations
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Fastjson的基本使用方法大全
  • JavaScript设计模式之工厂模式
  • Java反射-动态类加载和重新加载
  • LintCode 31. partitionArray 数组划分
  • Mysql数据库的条件查询语句
  • Python实现BT种子转化为磁力链接【实战】
  • spring学习第二天
  • Web Storage相关
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 闭包--闭包之tab栏切换(四)
  • 记一次和乔布斯合作最难忘的经历
  • 区块链将重新定义世界
  • 源码安装memcached和php memcache扩展
  • 正则与JS中的正则
  • 最简单的无缝轮播
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • (C#)获取字符编码的类
  • (补)B+树一些思想
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (剑指Offer)面试题34:丑数
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十七)Flink 容错机制
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)VirtualBox安装增强功能
  • (原创)可支持最大高度的NestedScrollView
  • (转) Face-Resources
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)jdk与jre的区别
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .Net多线程总结