常用的shell指令碼之一鍵部署DNS服務正向解析(棒棒的)
阿新 • • 發佈:2021-08-09
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正向解析已配置完成!"