常用的shell脚本之一键部署DNS服务正向解析

1. 编写脚本情况分析

  1. 首先判断bind程序是否安装,已安装的话直接进行修改配置文件,未安装则进行yum 安装;
  2. yum安装的时候进行判断是否安装成功,安装成功则继续,否则退出脚本;
  3. 使用read命令获取我们想要解析的域名及映射的IP地址;
  4. 修改主配置文件,区域配置文件和区域数据文件;
  5. 最后启动named服务的时候再次进行判断,成功则继续,失败则退出!

2. 脚本代码部分

#!/bin/bash
#一键部署DNS正向解析

# 判断bind程序是否安装
if rpm -q bind &> /dev/null
then
   continue
else
   if yum install -y bind &> /dev/null
   then
      continue
   else
      echo "BIND installation failed....."
      exit
   fi
fi
read -p "输入域名(格式:baidu.com): " ym
read -p "输入要解析的IP:  " ip

# 修改主配置文件
sed -i 's/127.0.0.1/any/' /etc/named.conf
sed -i 's/localhost;/any;/' /etc/named.conf

# 修改区域配置文件
echo 'zone "'$ym'" IN {
        type master;
        file "'$ym'.zone";
        allow-update { none; };
};' >> /etc/named.rfc1912.zones

# 复制区域数据文件模板并修改
cp -p /var/named/named.localhost /var/named/$ym.zone
sed -i 's/@ rname.invalid/'$ym'. admin.'$ym'/' /var/named/$ym.zone
sed -i 's/127.0.0.1/'$ip'/' /var/named/$ym.zone
sed -i '8 s/@/'$ym'./' /var/named/$ym.zone
echo  'www IN  A        '$ip'' >> /var/named/$ym.zone

# 判断named服务是否开启
if systemctl restart named  &> /dev/null
then
    echo "name启动完成...."
else
    echo "name启动失败,已退出!"
    exit
fi

# 修改临时DNS和IP的映射
echo 'nameserver '$ip'' > /etc/resolv.conf
echo "DNS正向解析已配置完成!"

3. 实验部分

3.1 情况一:bind程序正常已安装

在这里插入图片描述
测试结果:完成解析
在这里插入图片描述

3.2 情况二:bind未安装,没有yum源的情况

在这里插入图片描述
测试结果:报错bind未安装然后退出脚本
在这里插入图片描述

3.2 情况二:bind未安装,本地源存在

在这里插入图片描述
测试结果:正常解析

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海小虾米_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值