shell指令碼攻略--DNS正向解析一鍵部署

Xucf1發表於2020-12-30

文章目錄


準備

  • 關於DNS域名解析服務想進一步瞭解的同學可以看我之前的部落格:DNS域名解析服務
  • 話不多說,直接上乾貨
  • 建議開兩臺虛擬機器,一臺用來直接自己按照步驟流程做,一臺用來跟著我的指令碼敲命令(同步),可以更好的加深理解
  • 下文中 sed 命令使用較多,真香

shell指令碼

[root@localhost ~]# vim /opt/dns1.sh 

#!/bin/bash
#構建DNS域名解析伺服器步驟之正向解析

#檢測YUM源倉庫是否掛載
df | grep "sr0"
if [ $? -eq 0 ]
        then
        yum -y install bind &> /dev/null
        #若已掛載則直接安裝bind軟體包
else
        mount /dev/cdrom /mnt &> /dev/null
        yum -y install bind &> /dev/null
        #若未掛載,則先掛載,再安裝bind軟體包"
fi

#關閉防火牆和強制訪問控制安全系統
systemctl stop firewalld &> /dev/null
systemctl disable firewalld &> /dev/null
setenforce 0 &> /dev/null

#修改主配置檔案
sed -i 's/127.0.0.1/any/' /etc/named.conf
sed -i 's/localhost/any/' /etc/named.conf

#修改區域配置檔案,新增正向區域配置
sed -i 's/localhost.localdomain/xcf.com/' /etc/named.rfc1912.zones
sed -i 's/named.localhost/xcf.com.zone/' /etc/named.rfc1912.zones
sed -i '18,100d' /etc/named.rfc1912.zones

#配置正向區域資料檔案
cd /var/named
cp -p named.localhost xcf.com.zone
sed -i 's/@/xcf.com./g' /var/named/xcf.com.zone
sed -i 's/rname.invalid./admin.xcf.com./' /var/named/xcf.com.zone
sed -i 's/127.0.0.1/192.168.126.15/' /var/named/xcf.com.zone
sed -i '9a www IN A  192.168.126.15' /var/named/xcf.com.zone
sed -i '/AAAA/d' /var/named/xcf.com.zone
sed -i '/::1/d' /var/named/xcf.com.zone

#啟動服務
systemctl start named

#在客戶端的域名解析配置檔案中新增DNS伺服器地址
sed -i '1a nameserver 192.168.126.15' /etc/resolv.conf

#重啟下服務,有備無患
systemctl restart named

chmod +x /opt/dns1.sh

read -p "DNS正向解析已配置完畢,請輸入域名:" p
host $p

mark

相關文章