配置dns主从服务器,能够实现正常的正反向解析

一.DNS域名服务器原理及作用等介绍


1.DNS简介: 


DNS是互联网上的一项服务,担任域名和IP地址相互映射的一个分布式数据库,相较于IP,域名更便于记忆能够使人更方便的访问互联网。但是计算机只能基于IP来识别对方,而且要上网或通过网络传输数据,也是基于IP地址完成。

2.原理简单介绍


用户输入域名或IP地址,服务器查找与域名或IP地址相匹配的IP地址或域名,从而去打开我们想要访问的网站。域名解析主要分为正向解析和反向解析。正向解析就是将域名解析成IP地址,反向解析就是将IP地址解析成域名,通常用的最多的是正向域名解析

3.常见域名后缀


(1).edu 教育机构域名后缀

(2).pub  公共大众域名后缀

(3).cn  中国国家顶级域名后缀

(4).org  非盈利组织域名后缀

(5).com 商业组织域名后缀

(6).gov  政府部门域名后缀

(7).net  网络服务商域名后缀

4.DNS域名服务器类型


(1)缓存服务器

负责接收解析器发送过来的DNS解析请求,通过依次查询根域名服务器、顶级域名服务器、耳机域名服务器来获得DNS条目,然后把相应结果发送给解析器,根据DNS条目的TTL进行缓存,多用于企业局域网内部、运营商等领域

(2)转发域名服务器

接受解析器发送过来的DNS请求,转发给指定的上级域名服务器获得DNS解析条目,然后把响应结果发送给解析器,不缓存,仅仅是转发。

(3)权威域名服务器

根域名服务器:是最高层次也是最重要的域名服务器,负责对(.com,.cn等顶级域名向下授权)所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址,从根本上保证了域名解析服务。一般情况下域名服务器并不直接把待查询的域名直接解析出结果返回给用户,会引导本地域名服务器找一个服务器进行查询。

顶级域名服务器:管理在该顶级域名服务器成功注册的二级域名,收到DNS查询时可以立即返回结果。

二级域名服务器:服务于具体域名解析

(4)权限域名服务器

主要作用是负责管理“区”的域名服务器。权限不能无查询结果返回时,就会引导用户下一步该寻找哪一个域名服务器。

(5)本地域名服务器

本地域名服务器对域名系统非常重要。用户发出DNS查询请求时,这个查询请求报文就会先发送给本地域名服务器进行解析。

5.DNS服务器的对应关系查询方式


DNS采用分布式数据结构来存放数据信息。

(1)递归查询

用户发起查询请求后必须向用户返回一个结果,如果此服务器没有结果则会询问查找其他服务器再返回结果,客户端和本地DNS服务器之间是递归查询。开启递归查询等同于将DNS服务器开放,造成大量数据流量流入流出。

2)迭代查询

用户发起查询请求后不直接返回结果,而是引导你到其他服务器上查询,用户再次向其他服务器发起请求,直到查询到结果。DNS服务器之间使用的是迭代查询。

6.具体解析过程


(1)用户输入域名发起域名查询请求。

(2)计算机操作系统先查找本地hosts文件中是否有这个域名与IP的对应关系,有就返回结果给用户,没有就进入下一步。

(3)hosts文件找那个没有此域名与IP的对应关系,前往查找本地DNS解析器中的缓存,有就返回结果,没有就下一步。

(4)查找TCP/IP传输设置的首选DNS服务器(本地DNS服务器)查找到有就返回,没有就进入下一步。本地DNS服务器解析的结果具有较强权威。

(5)根据本地DNS服务器是否设置转发

转发模式下本地DNS服务器把查询请求发往上一级DNS服务器,把任务交给上一级服务器,如果这一级仍然无法解析就将请求再往上一级发或者直接发送给根域名服务器直到查找到结果返回给本地DNS服务器,本地DNS服务器再把结果返回给用户。

不转发模式下本地DNS服务器就将请求直接发送给根域名服务器,根域名服务器先判断是否有哪一级域名该管理此域名,并将管理该域名的服务器的IP返回给本地DNS服务器,本地DNS服务器按照IP地址向该服务器发送查询请求,如果它无法查到结果又将一个同域但低一级的域名服务器IP给本地DNS服务器,重复操作直到查到结果由本地DNS返回结果给用户。
提供DNS服务的软件叫bind,服务名是named。

二、配置文件介绍

提供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.下载bind服务并开启

[root@localhost ~]# yum install -y bind
[root@localhost ~]# systemctl start named
[root@localhost ~]# systemctl enable named


2.制定配置计划


www.xx.com——分配一个真实ip

dns.xx.com——分配一个真实ip

dhcp.xx.com——可以选择分配虚拟地址

nfs.xx.com——可以选择分配虚拟地址

ntp.xx.com——可以选择分配虚拟地址

3.修改主配置文件/etc/named.conf 


修改监听的服务器的地址为真实地址

[root@localhost ~]# vim /etc/named.conf 
listen-on port 53 { 192.168.119.130; };
directory       "/var/named";
};
zone "baidu.com" IN {                  type master;              file "named.baidu.com";
};        


4.配置数据配置文件/var/named/


(1)在/var/named/下vim一个“.zone”结尾的区域文件
(2) 目前里面内容为空,格式有点不好把控,可以使用cp命令去将本地数据配置文件拷贝到本文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost named.baidu.zone    


    //-a可以将组合权限等一起复制

$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1AAAA    ::1


(3) 进行配置

[root@localhost ~]# vim /var/named/named.baidu.com
$TTL 1D 
@ 	IN SOA @ admin.baidu.com. ( 0 1D 1H 1W 3H )IN NS ns.baidu.com. IN MX 10 mail.baidu.com. 
ns 	IN A 192.168.119.130
mail IN A 192.168.119.130
www IN A 192.168.119.130
ftp IN CNAME www 
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl disable firewalld --now

SOA主要是与区域有关,所以domain要写域名。而SOA后面会接七个参数,这七个参数的意义如下:

  • Master DNS服务器主机名:这个区域主要是哪台DNS作为Master的意思。

  • 管理员的Email,发生问题可以联系这个管理员。由于@在数据库文件中有特殊含义,所以将用“.”代替@

  • 序号(Serial),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改了数据库内容时,需要将这个数值放大。

  • 更新频率(Refresh)定义slave多久向Master要求数据更新。

  • 失败重新尝试时间(Retry),如果Slave无法对Master实现连接,那么在多长时间内,Slave会尝试重新连接到Master。

  • 失效时间(Expire),如果一直尝试失败,持续连接到达这个设置值时限,那么Slave将不再继续尝试连接,并且尝试删除这份下载的zone file信息。

  • 缓存时间(Minumum TTL),如果这个数据库zone file中,每条记录都没有写到TTL缓存时间的话,那么就以这个SOA的设置值为主。ttl的意思是当这笔记录被其他DNS服务器查询到后,这个记录会在对方DNS服务器的缓存中,保持多久时间。如果写了$TTL,则以该值为准。

时间单位:M(分钟),H(小时),D(天),W(周),默认是秒
6.进行测试
(1)Linux上测试,另外开一台虚拟机使用host,dig,nslookup、ping命令进行测试。

四、配置反向解析

1.修改主配置文件/etc/named.conf 


只需要在区域文件书写处新添加区域文件即可

[root@localhost ~]# vim /etc/named.conf 
zone "119.168.192.in-addr.arpa" IN {    
//倒着写你服务器ip所在网段,最后一位0可以省略,后缀需要加上.in-addr-arpatype master;file "119.168.192.zone";        
};


2.修改数据配置文件


在/var/named/目录下vim一个119.168.192.zone 文件

PRT表示反向解析

[root@localhost ~]# vim /var/named/119.168.192.zone 
//基本格式和正向解析相同
$TTL 1D
@       IN      SOA     dns.lll.com.   test.163.com (01D1H1W                                                                                                                                                         3H )IN      NS      dns.ssll.com.//将域名与IP指向反过来书写,这里的因为都属于是同一网段只需要写末尾一位
160                     IN      PTR     dns.lll.com
161                     IN      PTR     mail.lll.com
160                     IN      PTR     www.lll.com
xx                     IN      PTR     ftp
xx                     IN      PTR     dhcp
xx                     IN      PTR     ntp                   

      
3.检查书写并重启服务


[root@localhost ~]# systemctl restart named


4.测试


nslookup 被解析的ip  (主服务服务器ip)

[root@localhost named]# nslookup 192.168.119.10
** server can't find 10.119.168.192.in-addr.arpa: NXDOMAIN
[root@localhost named]# nslookup 192.168.119.160
160.119.168.192.in-addr.arpa    name = dns.lll.com.119.168.192.in-addr.arpa.

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

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

相关文章

vue3+ts+vite配置项目引入@surely-vue/table less报错

在项目当中报错Inline JavaScript is not enabled. Is it set in your options? 修改配置如下: return {css: {preprocessorOptions: {less: {javascriptEnabled: true //开启less编译,注意:这个很重要}}},}

怿星科技测试实验室获CNAS实验室认可,汽车以太网检测能力达国际标准

2023年12月27日,上海怿星电子科技有限公司测试实验室(下称:EPT LABS)通过CNAS实验室认可批准,并于2024年1月5日正式取得CNAS实验室认可证书(注册号CNAS L19826),标志着怿星科技的实验…

mysql group_concat函数使用

CREATE TABLE aa (id int(11) DEFAULT NULL,name varchar(50) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb41、基本查询 SELECT * FROM aa;2、以id分组,把name字段的值打印在一行,逗号分隔(默认) select id,group_concat(name) from aa group …

mac pro “RESP.app”意外退出 redis desktop manager

文章目录 redis desktop manager下载地址提示程序含有恶意代码“RESP.app”意外退出解决办法:下载python3.10.并安装重新打开RESP如果还是不行,那么需要替换错误路径(我的没用)外传 最近在研究redis的消息,看到了strea…

iOS UI掉帧和卡顿优化解决方案记录

UI卡顿原理 在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行…

vba设置excel单元格背景色

vba设置excel单元格背景色位蓝色 Sheet1.Cells(hang, 2).Interior.Color RGB(0, 0, 255) 参考链接 【VBA】给单元格设置背景色_vba 将一行底色置绿色-CSDN博客https://blog.csdn.net/s_h_m114_2/article/details/105787093 参考2 知乎 VBA--单元格的背景色设置 特此…

一文读懂【北交所】开通条件及交易规则!

近期市场持续萎靡不振,北交所却在大涨调整后,还能继续拉升,前些天还打起了“麻将”,“东南西北中”花式齐飞。这带给投资者朋友们极大的信心!那么有些朋友还没有跟上吃肉,还不了解什么是北交所?…

GitLab Runner 实现项目 CI/CD 发布

Gitlab Runner简介 Gitlab实现CICD的方式有很多,比如通过Jenkins,通过Gitlab Runner等,今天主要介绍后者。Gitlab在安装的时候,就默认包含了Gitlab CI的能力,但是该能力只是用于协调作业,并不能真的去执行…

如何使用Docker一键部署WBO白板并实现固定公网地址远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

在线项目实习|2024寒假项目实战火热报名中!

一、在线实习项目分类 二、在线实习项目流程 三、在线实习项目优惠及项目特色 1、师傅带练教学模式,手把手教你掌握 采用“师带徒”的教学模式,课程以“项目前置知识学习 师傅带练 项目实战”贯穿,强调动手实操,内容以代码落地为…

cellchat安装

官方安装文档: GitHub - jinworks/CellChat: R toolkit for inference, visualization and analysis of cell-cell communication from single-cell and spatially resolved transcriptomics 我安装过的命令: install.packages(NMF) devtools::instal…

python的random模块

random模块是Python中用于生成伪随机数的模块。它提供了一系列的函数和类,可以用于生成随机数、随机选择和随机排列等操作。以下是一些常用的random模块函数和类的示例用法: random.random():生成一个0到1之间的随机浮点数。 import random…

Linux中安装字体

问题说明 wps 安装后打开文件部分字体出现乱码,原因主要是linux中缺少windows中的相关字体,只要从windows电脑中的字体拷贝到linux系统中并安装就能解决问题 对ubuntu 和manjora有效。 安装字体 字体下载地址可参考附录 在 Linux 中,一次…

vue3 + tsrpc +mongodb 实现后台管理系统

前言 之前上线了一个vue后台管理系统,有小伙伴问我有没有后端代码,咱只是个小前端,这就有点为难我了。不过不能辜负小伙伴的信任,nodejs也可以啊,废话不多说,开搞!后端采用 TSRPC 框架实现 API…

【深度学习目标检测】十五、基于深度学习的口罩检测系统-含GUI和源码(python,yolov8)

YOLOv8是一种物体检测算法,是YOLO系列算法的最新版本。 YOLO(You Only Look Once)是一种实时物体检测算法,其优势在于快速且准确的检测结果。YOLOv8在之前的版本基础上进行了一系列改进和优化,提高了检测速度和准确性。…

基于vue+Spring Boot技术的幼儿园管理系统设计与实现4un3j

本系统能为家长、教师提供一个幼儿园管理平台,就能够快速有效的帮助家长在线查询活动名次、学生考勤、成长记录等,教师发布班级信息、课程信息等,并且可以让管理员能够轻松效率地添加所有的信息。系统开发的意义主要在于两个方面,…

FineBI实战项目一(23):订单商品分类词云图分析开发

点击新建组件,创建订单商品分类词云图组件。 选择词云,拖拽catName到颜色和文本,拖拽cat到大小。 将组件拖拽到仪表板。 结果如下:

tim实践系列——去中心化分布式架构特点

前言: tim是去中心化分布式即时通讯引擎。不依赖于任何中心服务器,采用去中心化分布式架构,解决传统中心化通讯方式的问题,去中心化分布式架构的通讯引擎的各个节点之间相互连接,形成一个庞大的分布式网络。可以轻松地…

使用composer构建软件包时文件(夹)权限设置

在构建软件包的时候你可能会需要对包源内文件或文件夹的权限做出相应的调整,以确保软件包在部署到客户端后可以正常运行。在此之前我们先来了解一下Apple文件系统内文件或文件夹的权限设定。 常见的文件或文件夹会有Owner, Group, Everyone这三种类型的所有权&#…

MetaGPT入门(二)

接着MetaGPT入门(一),在文件里再添加一个role类 class SimpleCoder(Role):def __init__(self,name:str"Alice",profile:str"SimpleCoder",**kwargs):super().__init__(name,profile,**kwargs)self._init_actions([Write…