shell脚本实现DNS正向解析

shell脚本实现DNS正向解析

[root@bogon ~] # cat dns.sh
#!/bin/bash 
#检测是否挂载
df | grep "sr0"
if [ $? -eq 0 ];then    #挂载则直接安装dns软件包
yum -y install bind &> /dev/null #将标准输出、标准错误输出导入到黑洞文件中
else
mount /dev/sr0 /mnt &> /dev/null  #若没挂载,则先进行挂载,再安装软件包
yum -y install bind &> /dev/null
fi

#修改主配置文件 :/etc/named.conf
 #直接修改文件,把匹配行的第一个127.0.0.1改为any
sed -i 's/127.0.0.1/any/' /etc/named.conf
#直接修改文件,把匹配行的第一个localhost改为any
sed -i 's/localhost/any/' /etc/named.conf

#修改区域配置文件 :/etc/named.rfc1912.zones
#直接修改,用lisi.com替换匹配行的第一个localhost.localdomain
sed -i 's/localhost.localdomain/lisi.com/' /etc/named.rfc1912.zones
#直接修改,用lisi.com替换匹配行的第一个named.localhost
sed -i 's/named.localhost/lisi.com.zone/' /etc/named.rfc1912.zones
#直接修改,删除18到100行
sed -i '18,100d' /etc/named.rfc1912.zones

#修改区域数据配置文件 :/var/named/named.localhost
cd /var/named
cp -p named.localhost lisi.com.zone #复制时保留原属性
#直接修改,把文件中所有的@替换为lisi.com.
sed -i 's/@/lisi.com./g' /var/named/lisi.com.zone
#直接修改,把文件中所有的127.0.0.1替换为192.168.2.4
sed -i 's/127.0.0.1/192.168.2.4/' /var/named/lisi.com.zone
#直接修改,在第9行下面添加www IN A  192.168.2.4
sed -i '9a www IN A  192.168.2.4' /var/named/lisi.com.zone
#直接修改,删除带有AAAA的那一行
sed -i '/AAAA/d' /var/named/lisi.com.zone

#在第一行下面添加指定dns服务器地址
sed -i '1a nameserver 192.168.2.4' /etc/resolv.conf

#关闭系统防火墙和系统安全机制
systemctl stop firewalld
setenforce 0

#开启dns服务
systemctl restart named

验证是否解析成功

[root@bogon ~] # chmod +x dns.sh 
[root@bogon ~] # ./dns.sh 
[root@bogon ~] # host www.lisi.com
www.lisi.com has address 192.168.2.4
[root@bogon ~] # nslookup www.lisi.com
Server:		192.168.2.4
Address:	192.168.2.4#53

Name:	www.lisi.com
Address: 192.168.2.4

猜你喜欢

转载自blog.csdn.net/qq_35456705/article/details/112001295