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

【Linux网络】1分钟使用shell脚本完成DNS主从解析服务器部署(适用于centos主机)

DNS正向解析+主从解析服务器脚本

1、脚本内容

主服务器脚本

#!/bin/bash
##先修改本地DNS缓存服务器
read -p "请输入主服务器ip地址:" masterIP
sed -i '/DNS/d' /etc/sysconfig/network-scripts/ifcfg-ens33
echo "DNS=$masterIP" >> /etc/sysconfig/network-scripts/ifcfg-ens33 
systemctl restart network##安装
yum install bind bind-utils -y
##修改主配置文件
sed -i '13s/^/\/\//' /etc/named.conf
sed -i '21s/localhost/any/g' /etc/named.conf##修改区域配置文件
read -p "请输入您需要解析的域名:"  NS
sed -i '24azone "'$NS'" IN {\n    type master;\n    file "'$NS'.zone";\n};' /etc/named.rfc1912.zones##修改区域数据库配置文件
cd /var/named/
cp -a named.localhost $NS.zone
sed -i '2s/@/master/2' /var/named/$NS.zone
sed -i '/NS/s/@/master/g' /var/named/$NS.zone
sed -i '9s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/'$masterIP'/' /var/named/$NS.zone
sed -i '/AAAA/d' /var/named/$NS.zone
read -p "请输入slave主机ip地址:" slaveIP
sed -i '9a \   NS  slave  \nslave A '$slaveIP'' /var/named/$NS.zone 
sed -i '11awww A  '$masterIP'\n\*  A    '$masterIP'' /var/named/$NS.zone
systemctl start named

从服务器脚本

#!/bin/bash
##先修改本地DNS缓存服务器
read -p "请输入主服务器ip地址:" masterIP
read -p "请输入从服务器ip地址:" slaveIP
sed -i '/DNS/d' /etc/sysconfig/network-scripts/ifcfg-ens33
echo "DNS1=$masterIP" >> /etc/sysconfig/network-scripts/ifcfg-ens33 
echo "DNS2=$slaveIP" >> /etc/sysconfig/network-scripts/ifcfg-ens33 
systemctl restart network##安装
yum install bind bind-utils -y
##修改主配置文件
sed -i '13s/^/\/\//' /etc/named.conf
sed -i '21s/localhost/any/g' /etc/named.conf##修改区域配置文件
read -p "请输入您需要解析的域名:"  NS
sed -i '24azone "'$NS'" IN {\n    type slave;\n    file "slaves/'$NS'.zone";\n  masters { '$masterIP'; };\n};' /etc/named.rfc1912.zonessystemctl start named

2、编写脚本步骤

第一遍:先手动敲一遍,测试命令是否正确,并思考如何转化为脚本;
第二遍:用sed流编辑器,一句一句将上诉的vim替换成sed命令实现,进行记录;
第三遍:把第二遍的命令结合组合起来,进行测试;

3、语法新发现及易错点

##当脚本执行出现故障时,再次使用脚本,会在区域配置文件/etc/named.rfc1912.zones中重复添加对应关系,这是不行的,不可重复添加
解决思路:每次跑脚本前保证环境干净,卸载bind从头开始##关于数据库文件的语法新发现
第一行其实可以不改,两个@可以并存,都表示域名本身,也可以用sed -i '2s/@/master/2'替换第二个@为master
关于NS slave,这里是NS前面必须必须有空格!!,sed -i '9a \   NS  slave  \nslave A '$slaveIP''中的\  表示空格

4、知识盲区与改进方向

##该脚本缺少对交互输入的变量值进行判断,万一写错了咋办?(不会判断)##关于数据库用sed输入的时候有个知识点
sed -i '9a \   NS  slave  \nslave A '$slaveIP'' /var/named/$NS.zone 
为什么改为10a就不行,后来测试的原因判断是因为当时文本只有9行,从第10行的下一行写就不可以

5、实验测试

在这里插入图片描述
在这里插入图片描述

相关文章:

【Linux网络】1分钟使用shell脚本完成DNS主从解析服务器部署(适用于centos主机)

DNS正向解析主从解析服务器脚本 1、脚本内容 主服务器脚本 #!/bin/bash ##先修改本地DNS缓存服务器 read -p "请输入主服务器ip地址:" masterIP sed -i /DNS/d /etc/sysconfig/network-scripts/ifcfg-ens33 echo "DNS$masterIP" >> /e…...

基于SSM的校园停车场管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

块设备 I/O 请求送达到外部设备

对于 ext4 文件系统,最后调用的是 ext4_file_write_iter,它将 I/O 的调用分成两种情况: 第一是直接 I/O。最终我们调用的是 generic_file_direct_write,这里调用的是 mapping->a_ops->direct_IO,实际调用的是 e…...

【ArcGIS Pro二次开发】(76):面积平差工具

之前做过一个【三调土地利用现状分类面积汇总】的工具,在流程中使用了面积平差的方法。 考虑了在其它场合可能也需要进行面积平差,因此单独提取出来作为一个工具。 平差实现的方法如下图: 主要的计算过程如上图所示,算出总面积差…...

4、智能家居框架设计和代码文件工程建立

目录 一、智能家居项目框架 二、智能家居工厂模式示意 三、代码文件工程建立 SourceInsight创建新工程步骤 一、智能家居项目框架 二、智能家居工厂模式示意 三、代码文件工程建立 创建一个名为si的文件夹用于保存SourceInsight生成的文件信息,然后在SourceInsig…...

网络编程TCP/UDP

1 网络通信概述 1.1 IP 和端口 所有的数据传输,都有三个要素 :源、目的、长度。 怎么表示源或者目的呢?请看图 所以,在网络传输中需要使用“IP 和端口”来表示源或目的。 1.2 网络传输中的 2 个对象:server 和 clie…...

移远EC600U-CN开发板 11.15

制作一个简单UI: 1."端口设置"模块 *效果图 *代码 def backEvent(evt): #返回主界面code evt.get_code() if code lv.EVENT.CLICKED:lv.scr_load(mainInterface)def popUpEvent(evt): #弹窗提醒code evt.get_code()if code lv.EVENT.CL…...

Docker - MySQL Database is uninitialized and password option is not specified

问题描述 docker run --namemaster -p 3306:3306 -d mysql 2022-11-11 08:03:0500:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. 2022-11-11 08:03:0500:00 [Note] [Entrypoint]: Switching to dedicated user mysql 2022-11-11 08:03…...

Elasticsearch 之聚合分析

本文主要介绍 Elasticsearch 的聚合功能,介绍什么是 Bucket 和 Metric 聚合,以及如何实现嵌套的聚合。 首先来看下聚合(Aggregation): 1 什么是 Aggregation? 首先举一个生活中的例子,这个是京…...

Django(七、模型层)

文章目录 模型层模型层前期准备使用django ORM要注意 代码演示:切换MySQL数据库如何查看django ORM 底层原理? 单表操作模型层之ORM常见关键字基础的增删改查常用的关键字 常见的十几种查询基于双下滑线的查询 模型层 模型层前期准备 使用django ORM要…...

LeetCode105. Construct Binary Tree from Preorder and Inorder Traversal

文章目录 一、题目二、题解 一、题目 Given two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, construct and return the binary tree. Example 1: Input: pre…...

python链表_递归求和_递归求最大小值

创建一个单链表: class LinkNode: #设置属性def __init__(self,data None):self.data dataself.next None class LinkList: #设置头结点def __init__(self):self.head LinkNode()self.head.next Nonedef CreateListR(self,a): …...

Java中生成指定字体的印章

文章目录 1.引入字体2.Windows环境下3. Linux环境下 生成印章测试类绘制方章测试类 1.引入字体 2.Windows环境下 如果在Windows上安装JAVA环境时,没有安装单独的jre1.8.0_141的话。那么字体就只放到\jdk1.8.0_141\jre\lib\fonts目前下。 3. Linux环境下 cat /etc…...

Winodws核心编程 多线程

目录 一、基本概念 二、线程创建函数 三、Windows内核对象与句柄 四、简单的多线程案例 五、线程同步 - 互斥对象 六、多线程实现群聊的服务端和客户端 七、线程同步 - 事件对象 八、事件对象 与 互斥对象区别 九、线程同步 - 信号量 十、线程同步 - 关键代码段 十一…...

旺店通·企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口

旺店通企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口 源系统:旺店通企业版 旺店通是北京掌上先机网络科技有限公司旗下品牌,国内的零售云服务提供商,基于云计算SaaS服务模式,以体系化解决方案,助力零售企业数字化…...

关于对Java中volatile关键字的理解与简述

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/134430096 出自【进步*于辰的博客】 启发之作:Java volatile关键字最全总结&#xf…...

37 _ 贪心算法:如何用贪心算法实现Huffman压缩编码?

基础的数据结构和算法我们基本上学完了,接下来几节,我会讲几种更加基本的算法。它们分别是贪心算法、分治算法、回溯算法、动态规划。更加确切地说,它们应该是算法思想,并不是具体的算法,常用来指导我们设计具体的算法和编码等。 贪心、分治、回溯、动态规划这4个算法思想…...

Unity中Shader矩阵的逆矩阵

文章目录 前言一、逆矩阵的表示二、逆矩阵的作用四、逆矩阵的计算五、顺序的重要性六、矩阵的逆总结1、求矩阵的逆前,这个矩阵必须得是个方阵2、只有 A x A ^-1^ A^-1^ x A 1时,A的逆才是A^-1^3、求2x2矩阵的逆:交换 a 和 b 的位置&#xf…...

我给网站做公安备案年度安全评估

我是卢松松,点点上面的头像,欢迎关注我哦! 差不多从2020年开始,我们的网站每年11月左右就要去公安备案做一次年度的安全评估,而现在又新增了APP和小程序备案。如下图所示: 评估的内容也很简单&#xff0c…...

iceoryx(冰羚)-通信中间件解析

iceoryx(冰羚)-简介 iceoryx(冰羚)-Architecture iceoryx(冰羚)-Service Discovery iceoryx(冰羚)-examples-callbacks iceoryx(冰羚)-Listener设计 [iceoryx(冰羚)-ipc消息通信] [iceoryx(冰羚)-共享内存实现]...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

蓝桥杯 冶炼金属

原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...