1. 编写脚本情况分析
首先判断bind程序是否安装,已安装的话直接进行修改配置文件,未安装则进行yum 安装;
yum安装的时候进行判断是否安装成功,安装成功则继续,否则退出脚本;
使用read命令获取我们想要解析的域名及映射的IP地址;
修改主配置文件,区域配置文件和区域数据文件;
最后启动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正向解析已配置完成!"