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

RHCE: 主从DNS服务器配置 (实现正反向解析)

主服务器配置:

准备工作:
#关闭防火墙
[root@192 ~]# systemctl stop firewalld#关闭selinux
[root@192 ~]# setenforce 0#查看selinux状态
[root@192 ~]# getenforce
Permissive#安装bind包
[root@192 ~]# yum install bind -y#查询软件包下的文件
/etc/named.conf    #主配置文件
/var/named/slaves   #从dns服务器文件

配置DNS正向解析:


#编辑bind主配置文件:options {listen-on port 53 { 192.168.88.133; };  #定义监听端口,指定相应的IP地址directory       "/var/named";                   #定义数据文件目录allow-query     { any; };                       #允许所有的主机进行查询recursion yes;                                  #开启递归查询};#定义区域:
zone "baidu.com" IN {type master;     #定义为master域名服务器file "baidu";    #正向解析资源记录文件}#编辑正向记录文件
$TTL  1D
@           IN  SOA  @  admin.admin.com.  (20240117001D1H3H1D )IN  NS  dns.baidu.com.
dns         IN  A   192.168.112.128www         IN  A   192.168.112.111
a           IN  A   192.168.112.222
aaa         IN  CNAME   a#重启named服务
[root@192 ~]# systemctl restart named
正向解析测试:
#修改主机名
[root@192 ~]# hostname server
[root@192 ~]# bash
[root@server ~]# #正向解析方法一:
#使用nslookup工具
[root@server ~]# nslookup
> server 192.168.112.128        #指定我们自己的DNS服务器 
Default server: 192.168.112.128
Address: 192.168.112.128#53
> www.baidu.com                 #发起查询
Server:        192.168.112.128
Address:    192.168.112.128#53Name:    www.baidu.com
Address: 192.168.112.111#正向解析方法二:#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.112.128#无需指定直接就解析出来了
[root@server ~]# nslookup www.baidu.com
Server:        192.168.112.128
Address:    192.168.112.128#53Name:    www.baidu.com
Address: 192.168.112.111

配置DNS反向解析:

#编辑bind主配置文件:
[root@server ~]# vim /etc/named.conf 
#全面配置:
options {listen-on port 53 { 192.168.112.128; };  #定义监听端口,指定相应的IP地址directory       "/var/named";                   #定义数据文件目录allow-query     { any; };                       #允许所有的主机进行查询recursion yes;                                  #开启递归查询};#定义区域:
#正向解析区域
zone "baidu.com" IN {type master;     #定义为master域名服务器file "baidu";    #正向解析资源记录文件
};#反向解析区域
zone "112.168.192.in-addr.arpa" IN{type master;   #定义为master域名服务器file "128";       #反向解析资源记录文件
};#编辑反向记录文件,反向域的ip是一个区段,不写主机位且反着写
[root@server ~]# vim /var/named/128
[root@server ~]# cat /var/named/128
$TTL 1D
@    IN    SOA    @    admin.admin.com.  ( 20240117011D1H3H1D )IN     NS   dns.baidu.com.
128   IN     PTR  dns.baidu.com.
111   IN     PTR  www.baidu.com.
222   IN     PTR  a.baidu.com.
222   IN     PTR  aaa.baidu.com.    #反解需要注意:主机名尽量使用完整的FQDN,即要写上“.”#重启named服务
[root@server ~]# systemctl restart named#反向解析查询方法一:
[root@server named]# nslookup
> server 192.168.112.128
Default server: 192.168.112.128
Address: 192.168.112.128#53
> 192.168.112.111
111.112.168.192.in-addr.arpa	name = www.baidu.com.#反向解析查询方法二:
#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.112.128[root@server named]# nslookup 192.168.112.111
111.112.168.192.in-addr.arpa	name = www.baidu.com.

从服务器配置:

#安装相关的包
[root@csa ~]# yum install bind -y#关闭防火墙
[root@csa ~]# systemctl stop firewalld
[root@csa ~]# setenforce 0#修改配置主文件
[root@csa ~]# vim /etc/named.conf
options {listen-on port 53 { 192.168.137.129; };directory       "/var/named/slaves";allow-query     { any; };
};
zone "baidu.com" IN {type slave;file "slaves.baidu.zheng";masters { 192.168.137.140; };allow-notify { 192.168.137.140; };
};
zone "157.168.192.in-addr.arpa" IN {type slave;file "slaves.baidu.fan";masters { 192.168.137.140; };allow-notify { 192.168.137.140; };
};#重启服务
[root@slave ~]# systemctl restart named

主DNS服务器配置(修改资源文件进行主从同步)

#在二配置的基础上,如资源记录文件有变(&号标记处,更新版本号),需编辑正反向解析资源记录文件
#1、正向解析
[root@192 ~]# vim /var/named/master.baidu
$TTL 1D
@       IN SOA  @ admin.baidu.com. (1   &此处版本号+11M1M3M1M )NS      dns.baidu.com.NS      slave.baidu.com.
dns     A       192.168.112.128
www     A       192.168.112.111
ftp     A       192.168.112.103
slave   A       192.168.112.143
aaa     A       192.168.112.101  #此处新增一条正向解析
w       CNAME   www#2、反向解析
[root@192 ~]# vim /var/named/112
$TTL 1D
@       IN SOA  @ admin.baidu.com. (1   &此处版本号+11M1M3M1M )NS      dns.baidu.com.NS      slave.baidu.com.
128     PTR     dns.baidu.com.
111     PTR     www.baidu.com.
102     PTR     w.baidu.com.
103     PTR     ftp.baidu.com.
143     PTR     slave.baidu.com.
101     PTR     aaa.baidu.com.  #此处新增一条反向解析#重启服务
[root@192 ~]# systemctl restart named

host (选项) (参数)
选项:

-a : 显示详细的DNS信息
-c<类型> : 指定查询类型,默认值为“IN”
-C : 查询指定主机的完整的SOA记录
-r : 在查询域名时,不使用递归的查询方式
-t<类型> : 指定查询的域名信息类型
-v : 显示指令执行的详细信息
-w : 如果域名系统服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W<时间> : 指定域名查询最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令
-4 : 使用IPv4
-6 : 使用IPv6
 

dig 命令:
1,作用查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

2,选项:

@<服务器地址>:指定进行域名解析的域名服务器;
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x<IP地址>:执行逆向域名查询;
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。

主机:指定要查询域名主机;
查询类型:指定DNS查询的类型;
查询类:指定查询DNS的class;
查询选项:指定查询选项。

dig  -t  A  www.baidu.com   
dig -t A www.baidu.com +trace 

正向解析文件资源记录(Resource Record,RR),常见的正解文件RR相关信息:

domainINRR typeRR data
主机名.INAIPv4的IP地址
主机名.INAAAAIPv6的IP地址
域名.INNS管理这个域名的服务器主机名字,即由哪一台主机去解析当 前所定义的域主机
域名.INSOA起始授 权记录管理这个域名的七个重要参数
域名.INMX顺序数字,接收邮件的服务器主机名字
主机别 名.INCNAME实际代表这个主机别名的主机名字

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(周),默认是秒

相关文章:

RHCE: 主从DNS服务器配置 (实现正反向解析)

主服务器配置: 准备工作: #关闭防火墙 [root192 ~]# systemctl stop firewalld#关闭selinux [root192 ~]# setenforce 0#查看selinux状态 [root192 ~]# getenforce Permissive#安装bind包 [root192 ~]# yum install bind -y#查询软件包下的文件 /etc/named.conf #主配置文…...

Git学习笔记(第6章):GitHub操作(远程库操作)

目录 6.1 远程库操作 6.1.1 创建远程库 6.1.2 命名远程库 6.1.3 本地库推送到远程库(push) 6.1.4 远程库拉取到本地库(pull) 6.1.5 远程库克隆到本地库(clone) 6.2 团队内协作 6.3 跨团队协作 6.4 SSH免密登录 6.1 远程库操作 命令 作用 git remote -v 查看所有远程…...

【主题广范|见刊快】2024年海洋工程与测绘遥感国际学术会议(ICOESRS 2024)

【主题广范|见刊快】2024年海洋工程与测绘遥感国际学术会议(ICOESRS 2024) 2024 International Conference Ocean Engineering and Surveying Remote Sensing(ICOESRS 2024) 一、【会议简介】 随着人类对海洋的认识和开发不断深入&#xff0c;海洋工程和测绘遥感技术的研究和应…...

解决el-radio-group只触发一次的问题

1.需求是点击合并后&#xff0c;出来二次确认框。现在的问题是点击完出现二次确认框后&#xff0c;再次点击不出来二次确认框了 2.一开始代码是这样写的 <el-radio-group v-model"unfold" size"mini" changechangeMerge><el-radio-button :labe…...

openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c

文章目录 openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c概述笔记END openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c 概述 官方指出 : RSA key 如果小于2048位, 就属于弱key 官方demo中, 给出的默认key长度为4096位 从名字生成上下文 初始化上下文…...

密码搜|Facebook 8组问答,搞定Pixel与广告之间的关系!

Q1&#xff1a;Pixel&#xff08;像素/代码&#xff09;是什么&#xff1f; A&#xff1a;Pixel有多种称呼&#xff1a;Pixel、像素、代码。它只是一种分析工具&#xff0c;可帮助广告主了解用户在网站上采取的操作&#xff0c;继而衡量广告成效。 设置Facebook Pixel像素代码…...

Apache StringUtils:Java字符串处理工具类

简介 在我们的代码中经常需要对字符串判空&#xff0c;截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。如果只用 String 类提供的那些方法&#xff0c;我们需要手写大量的额外代码&#xff0c;不然容易出现各种异常。现在有…...

设计模式 代理模式(静态代理 动态代理) 与 Spring Aop源码分析 具体是如何创建Aop代理的

代理模式 代理模式是一种结构型设计模式&#xff0c;它通过创建一个代理对象来控制对真实对象的访问。这种模式可以用于提供额外的功能操作&#xff0c;或者扩展目标对象的功能。 在代理模式中&#xff0c;代理对象与真实对象实现相同的接口&#xff0c;以便在任何地方都可以使…...

【EI会议征稿通知】第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)

第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024&#xff09; 2024 7th International Conference on Advanced Electronic Materials, Computers and Software Engineering 第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)将于2024年5月10-1…...

Verilog基础:强度建模(一)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 一、强度建模基础 Verilog HDL提供了针对线网信号0、1、x、z的精准强度建模方式&#xff0c;这样可以允许将两个线网信号进行线与操作从而更加精确地描述出硬件行…...

Spring Boot各类变量的使用

文章目录 1. 变量类型2. 获取变量2.1 获取方式2.2 获取方法2.2.1 通过Value注入获取变量值2.2.2 System.genenv 获取变量值2.2.3 System.getProperty 获取变量值2.2.4 Environment 获取变量值2.2.5 ConfigurationProperties 获取变量值2.2.6 SpringApplication.run 程序启动参数…...

Hive管理UDF详解

大数据集群下,共有三种管理Hive UDF的方式,如下: 名称重启Hive服务Jar保存目录场景直接JAR配置需要HDFS开发辅助JARs目录配置需要本地目录防止意外覆盖文件可重载辅助JAR配置不需要本地目录频繁更新UDF场景{HIVE_HOME}/auxlib目录需要本地目录不建议{HIVE_HOME}/lib目录需要…...

bug笔记:解决 HTTP Error 500.30 - ASP.NET Core app failed to start

总结下后端部署windos iis环境net6版本&#xff0c;500.30问题报错的一种解决方案&#xff1a; 一、问题描述 二、解决方案 检查下是否安装了net6对应的环境&#xff0c;是否已经安装 然后在事件管理器>Windows日志>应用程序&#xff0c;里面查看详细异常记录 在iis下面…...

理解pytorch系列:transpose是怎么实现的

在PyTorch中&#xff0c;transpose()是一种操作&#xff0c;它交换张量中两个指定维度的位置。实现这一点的关键在于不实际移动数据&#xff0c;而是通过改变张量的元数据&#xff08;包括步长&#xff08;stride&#xff09;和尺寸&#xff08;size&#xff09;&#xff09;来…...

Linux tftp命令教程:文件传输利器(附案例详解和注意事项)

Linux tftp命令介绍 tftp&#xff0c;全称为Trivial File Transfer Protocol&#xff08;简单文件传输协议&#xff09;。tftp是一个用于文件传输的客户端命令&#xff0c;用于从远程主机传输文件&#xff0c;包括一些非常简洁、通常嵌入的系统。 Linux tftp命令适用的Linux版…...

beego的模块篇 - task任务

利用该工具来定时的做一些任务&#xff0c;但是有些时候我们的进程内也希望定时的来处理一些事情&#xff0c;可以使用crontab。 1 任务计划 1.1 初始化一个任务 tk1 : task.NewTask("tk1", "0 12 * * * *", func(ctx context.Context) error { fmt.Pri…...

ThreadLocal工具类

ThreadLocal工具类 ThreadLocalUtil.java public class ThreadLocalUtil {static final ThreadLocal THREAD_LOCAL new ThreadLocal();public static <T> T get() {return (T) THREAD_LOCAL.get();}public static void set(Object value) {THREAD_LOCAL.set(value);}p…...

【c语言】扫雷(上)

先开一个test.c文件用来游戏的逻辑测试&#xff0c;在分别开一个game.c文件和game.h头文件用来实现游戏的逻辑 主要步骤&#xff1a; 游戏规则&#xff1a; 输入1&#xff08;0&#xff09;开始&#xff08;结束&#xff09;游戏&#xff0c;输入一个坐标&#xff0c;如果该坐…...

Java读取制表符文本转换为JSON

在Java开发中&#xff0c;处理各种数据格式是常见的任务。本文将介绍如何使用Java读取制表符文本文件&#xff0c;并将其转换为JSON格式&#xff0c;以便于后续的数据处理和分析。我们将使用Java中的相关库来实现这个过程&#xff0c;并提供详细的代码示例。 引言&#xff1a;…...

从C到C++:向面向对象过渡的技巧与诀窍

从C到C的过渡是一项对于程序员来说非常重要的转变。C是一种基于C语言的面向对象编程语言&#xff0c;它引入了许多新的概念和功能&#xff0c;如类、对象、继承和多态等。这些新的特性使得C在软件开发中更加灵活、可复用和易于维护。 下面是一些向面向对象过渡的技巧和诀窍&am…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...