#!/bin/bash
echo "感谢使用本程序,开发商:小绿叶技术博客 eisc.cn "
bind=$(yum list installed | grep bind-chroot)
# 定义bind变量为yum方式安装包信息的记录
function azbind(){
if [ ! -n "$bind" ] # 判断信息为空
then # then 然后安装
yum -y install bind bind-chroot
echo "bind包安装完成"
else
echo "已经安装bind"
fi
}
azbind
#### 先使用函数备份文件 ##
file=/etc/named.conf # 定义变量为一个文件
filebei=$file-111 # 定义备份变量
function touch(){ # 定义一个函数,名字为 touch
if test -e $filebei # test -e 判断备份文件存在
then # 然后
echo '备份文件存已经存在,不会被创建' + $filebei
# 响应一个字符串
else # 其他情况
cp -rf $file $filebei # 复制变量文件给另一个变量
echo '已经为你创建备份文件,备份文件内容为' + $filebei
cat $filebei
# 做出处理,自定义操作
fi # if 如果(开始),fi 结束
}
touch # 函数名字放出来,才能被识别执行
echo "初始化配置文件内容" # echo 打印字符串到命令窗口界面
cat /dev/null > $file # 使用cat 查看将配置文件清空 null
cat $filebei > $file # 使用cat 从备份文件 iptables111 里面还原字符串
yum search ifconfig -y
yum install net-tools.x86_64 -y
echo "正在安装ifconfig包,获取本机ip地址并处理文件"
flags=$(ifconfig |grep -w flags|awk -F: 'NR==1{print$1}')
# 网卡名称
ipadd=$(ifconfig |grep -w inet|awk 'NR==1{print$2}')
# 定义变量 ipadd 为ip地址
# grep -w inet 匹配 inet的数据
# awk分段处理: NR 行号,第一行,$2第二列
echo $ipadd
named=$(grep -r dns111 /etc/named.conf | awk -F = '{print $0}')
# 定义name为变量(最终是字符串)
function named(){
if [[ "$named" != "" ]] # 符号 != "" 不为空
then
echo "文件已经存在"
else # else 其他情况 ,echo 写入到文件
echo "
zone "dns111.ssh.gs" IN {
type master;
file "dns111.ssh.gs.zone";
}; " >> /etc/named.conf
echo "配置文件添加完成"
cat /etc/named.conf
fi
}
named
named-checkconf /etc/named.conf
# 检查配置文件库语法
echo "
######################################################################
"
cd /var/named
if test -e dns111.ssh.gs.zone
then echo "文件存在,不会创建"
else
cp -p named.empty dns111.ssh.gs.zone
fi
dns111=$(grep -r dns111 dns111.ssh.gs.zone | awk -F = '{print $0}')
function dns111(){
if [[ "$dns111" != "" ]]
then
echo "文件已经存在"
else
echo " @ NS dns111.ssh.gs.
ns.dns111.ssh.gs A ipadd
www.dns111.ssh.gs A ipadd " >> dns111.ssh.gs.zone
sed -i "s/ipadd/$ipadd/g" `grep "ipadd" -rl dns111.ssh.gs.zone`
echo "配置文件添加完成"
cat dns111.ssh.gs.zone
fi
}
dns111
named-checkzone dns111.ssh.gs dns111.ssh.gs.zone
# 检查文件库语法
systemctl restart named
# 重启
nslookup ns.dns111.ssh.gs 127.0.0.1
nslookup www.dns111.ssh.gs 127.0.0.1
# 测试
wjoptions=$(grep -r options /etc/named.conf | awk -F = '{print $0}')
function bjoptions(){
if [[ "$wjoptions" != "" ]]
then
echo "
########################## 文件已经存在主DNS ###############################
"
else
echo "
options {
listen-on port 53 { ipadd; };
allow-query { any; };
}" >> /etc/named.conf
sed -i "s/ipadd/$ipadd/g" `grep "ipadd" -rl /etc/named.conf`
echo "配置文件添加完成"
cat /etc/named.conf
fi
}
bjoptions
systemctl restart named
nmcli connection modify ens192 ipv4.dns $ipadd
nmcli connection up $flags
echo $flags $ipadd
cat /etc/resolv.conf
nslookup www.dns111.ssh.gs # DNS 测试
nslookup ns.dns111.ssh.gs
===================== 子域名DNS ==================
什么情况下会用到NS记录?
[如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录]
A.主机记录处填子域名(比如需要将www.123.com的解析授权给其他DNS服务器,只需要在主机记录处填写www即可,主机记录“@”不能做NS记录,授权出去的子域名不会影响其他子域名的正常解析)
B.记录类型为NS
C.线路类型(默认为必填项,否则会导致部分用户无法解析)
D.记录值为要授权的DNS服务器域名,记录生成后会自动在域名后面补一个“.”,这是正常现象
E.MX优先级不需要填写
F.TTL不需要填写,添加时系统会自动生成,默认为600秒
注:添加NS记录,生效的时间等同于修改NS地址的时间,需要2-48小时生效
Powered by ddoss.cn 12.0
©2015 - 2024 ddoss
渝公网安备50011302222260号 渝ICP备2024035333号 【实验平台安全承诺书】 小绿叶技术社区,优化网络中,点击查看配置信息
您的IP:192.168.122.82,2024-10-10 18:37:01,Processed in 0.02829 second(s).