Shell脚本中如何实现DNS主从同步脚本

DNS主从同步脚本实例

PS:两个服务器起好后最好两个服务都重启一下

主服务器配置

#!/bin/bash
#DNS主从同步——主服务器

rpm -q bind
if [ $? -ne 0 ];then
  yum install bind -y
  systemctl start named
fi
#判断DNS服务是否安装

read -p "请输入主服务器地址:" zhu
read -p "请输入从服务器地址:" cong
read -p "域名(请带后缀):" yu
quanju="/etc/named.conf"
quyu="/etc/named.rfc1912.zones"
[ ! -e $quanju.bak ] && cp $quanju $quanju.bak
sed -i -e "13s/127.0.0.1/$zhu/" -e '21s/localhost/any/' $quanju
[ ! -e $quyu.bak ] && cp $quyu $quyu.bak
#备份全局、区域配置文件

grep "$yu" $quyu &> /dev/null
while [ $? -ne 0 ];do
 sed -i "18azone \"$yu\" IN {\n type master\;\n file \"$yu.dns\"\;\n allow-   transfer { $cong\; }\;\n}\;\n" $quyu
 peizhi="/var/named/$yu.dns"
cp -p /var/named/named.localhost $peizhi
done
#判断域名是否存在,如果不存在进行添加

sed -i -e '2d' -e "1a@    IN SOA "$yu"\. admin\."$yu"\. (" /var/named/$yu.dns
sed -i '8d' /var/named/$yu.dns
sed -i '$d' /var/named/$yu.dns
sed -i -e "7a\   NS   $yu." -e "/A/s/127.0.0.1/$zhu/" /var/named/$yu.dns
#修改区域文件

while [ 1 -ge 0 ];do
read -p "请输入自定义指针(例:www IN A 8.8.8.8)" zhen
 echo $zhen >> /var/named/$yu.dns
 read -p "是否继续添加(y/n)" a
if [ $a != "y" ];then
 break
fi
done
#循环

systemctl stop firewalld.service
setenforce 0
systemctl restart named
jieguo=`systemctl status named | grep "active" &>/dev/null`
if [ $? -eq 0 ];then
 echo "服务启动"
else
 echo "启动失败"
fi
#判断服务是否能正常启动

sed -i -e '3d' -e "2anameserver $zhu" /etc/resolv.conf
#用于自检

从服务器配置

#!/bin/bash
#DNS主从同步——从服务器

rpm -q bind
if [ $? -ne 0 ];then
  yum install bind -y
fi
#判断DNS服务是否安装

read -p "请输入主服务器地址:" zhu
read -p "请输入从服务器地址:" cong
read -p "域名(请带后缀):" yu
quanju="/etc/named.conf"
quyu="/etc/named.rfc1912.zones"
[ ! -e $quanju.bak ] && cp $quanju $quanju.bak
sed -i -e "13s/127.0.0.1/$cong/" -e '21s/localhost/any/' $quanju
[ ! -e $quyu.bak ] && cp $quyu $quyu.bak
#备份全局、区域配置文件

grep "$yu" $quyu &> /dev/null
while [ $? -ne 0 ];do
 sed -i "18azone \"$yu\" IN {\n type slave\;\n file \"slaves\/$yu.dns\"\;\n  masters { $zhu\; }\;\n}\;\n" $quyu
done
#判断域名是否存在,如果不存在进行添加

systemctl restart named
systemctl stop firewalld.service
setenforce 0
jieguo=`systemctl status named | grep "active" &>/dev/null`
if [ $? -eq 0 ];then
 echo "服务启动"
else
 echo "启动失败"
fi
#判断服务是否能正常启动

原创文章,作者:QGOTN,如若转载,请注明出处:http://www.wangzhanshi.com/n/13810.html

(0)
QGOTN的头像QGOTN
上一篇 2025年1月1日 17:04:44
下一篇 2025年1月1日 17:04:46

相关推荐

  • 利用DNS Zone Transfers漏洞工具dnswalk有什么用

    利用DNS Zone Transfers漏洞工具dnswalk DNS Zone Transfers(DNS区域传输)是指一台备用服务器使用来自主服务器的数据刷新自己的域(zone…

    DNS解析 2025年1月1日
  • win11中dns网络服务器未响应的原因是什么

    win11dns网络服务器未响应的原因: 一、安全软件 1、第三方的安全软件可能会导致网络拦截冲突, 所以如果你安装了的话,建议将它们全部退出后再尝试联网。 二、dns设置 1、d…

    2025年1月1日
  • 域名cname跳转方案

    域名配置参考     一、   DNS具体实现 1.  主干系统各业务主机申请test域主机名,指定别名记录。…

    DNS解析 2025年1月1日
  • DNS在注册表中位置

    1:运行输入”regedit” 2:依次展开HKEY_CURRENT_USER→Software→Microsoft→Office→16.0 3:删除对应的…

    DNS解析 2025年1月1日
  • dns劫持分析

    最近在做dns解析,关注的重点在查询域名ns记录上,异常日志中捕获到一个域名,dig查询:      查询请求类型为ns,dig结果却只有一条A记录。出于好奇,查询类型改为a类型:…

    DNS解析 2025年1月1日
  • k8s pod dns的问题记录是怎样的

    突然收到,反馈,一个服务短信验证码,验证很慢。第一反应是网络问题。 默认pod生成的dns 解析配置文件是如下: 由于pod 使用的是,alpine:latest 采用 apk a…

    2025年1月1日
  • Linux/Unix/Mac下怎么清除DNS查询缓存

    DNS 查缓存简介: DNS缓存指DNS返回了正确的IP之后,系统就会将这个结果临时储存起来。并且它会为缓存设定一个失效时间 (例如N小时),在这N小时之内,当你再次访问这个网站时…

    DNS解析 2025年1月1日
  • AD域下DNS外迁

        AD域下DNS外迁,环境说明:windows 2008 R2服务器AD+DNS,一主多辅模式,主机名:level.lakyy.com…

    DNS解析 2025年1月1日
  • 如何部署coredns

    CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,所以很多开源项目以及工程师都会使用 CoreDNS 为集群提供服务发现的功能,Kubernete…

    DNS解析 2025年1月1日
  • 怎样解决奇怪DNS故障

    DNS 命名通过用户的友好名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与此名称相关的其他信息,如 IP 地址等。 DNS服务作为企业…

    2025年1月1日

发表回复

登录后才能评论