Linux 自动化部署DNS服务器
Linux 自动化部署DNS服务器
1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加记录。 
2.配置从dns的IP地址

3. 运行脚本,选择1,部署主DNS服务器
4.运行完脚本之后,主DNS就部署完成了,查看配置文件 /etc/named.conf 
5. 查看区域文件 区域文件在 /var/named/ 

6.本地测试主DNS服务器是否部署成功

7. 在从DNS服务器上运行脚本,选择2,部署从DNS服务
8.查看 
9.查看 /var/named/slaves/目录下,可以看到生成两个文件,说明从dns配置成功,从主dns获得区域文件
10.在另一个客户端测试,在/etc/resolv.conf添加如下两条记录

11. 测试,下图可以看到主、从DNS都正常 
源码如下:
#!/bin/bash
#该脚本用于自动化部署主DNS服务器与从DNS服务器
#作者:雨中落叶
#博客:https://www.cnblogs.com/yuzly/
echo "****************************
.部署主dns服务器
.部署从dns服务器
****************************"
read -p "请输入部署选项:" Num
case $Num in
)
#关闭防火墙,避免影响实验
service iptables stop &>/dev/null
setenforce &>/dev/null
named="/etc/named.conf"
#定义函数
alterDNS(){
#配置主文件
rm -fr $named
touch $named
#获得本机IP
ETH=$(ifconfig |grep "^eth" |awk '{print $1}')
lIP=$(ifconfig $ETH |grep "inet addr"|awk '{print $2}'|awk -F: '{print $2}')
read -p "请输入你要创建的正向区域名:" AreaName
read -p "请输入从DNS服务器的IP地址:" slaveIP
fan=$(echo $lIP |awk -F. '{print $3"."$2"."$1}')
cat >>$named<<OK
options {
listen-on port { $lIP; };
listen-on-v6 port { ::; };
directory "/var/named";
allow-query { any; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "$AreaName" IN {
type master;
file "$AreaName.zone";
allow-transfer { $slaveIP; };
};
zone "$fan.in-addr.arpa" IN {
type master;
file "$fan.in-addr.arpa.zone";
allow-transfer { $slaveIP; };
};
OK
#配置正向解析文件
touch /var/named/$AreaName.zone
cat >>/var/named/$AreaName.zone<<OK
\$TTL
@ IN SOA $AreaName. admin.$AreaName. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.$AreaName.
IN NS ns2.$AreaName.
IN MX mail.$AreaName.
ns1 IN A $lIP
ns2 IN A $slaveIP
www IN A $lIP
mail IN A $lIP
news IN CNAME www.$AreaName.
OK
#配置反向解析文件
touch /var/named/$fan.in-addr.arpa.zone
fourthlIP=$(echo $lIP |awk -F. '{print $4}')
fourthslaveIP=$(echo $slaveIP |awk -F. '{print $4}')
cat >>/var/named/$fan.in-addr.arpa.zone<<OK
\$TTL
@ IN SOA $AreaName. admin.$AreaName. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.$AreaName.
IN NS ns2.$AreaName.
$fourthlIP IN PTR ns1.$AreaName.
$fourthslaveIP IN PTR ns2.$AreaName.
$fourthlIP IN PTR www.$AreaName.
$fourthlIP IN PTR mail.$AreaName.
$fourthlIP IN PTR news.$AreaName.
OK
}
if [ ! -f $named ]
then
echo "当前电脑没有安装DNS服务,正在安装,请稍等....."
mount /dev/sr0 /mnt &>/dev/null
#搭建本地yum仓库
cd /etc/yum.repos.d
cat >>yuzly.repo<<OK
[yuzly]
name=yuzly
baseurl=file:///mnt
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
OK
yum install bind -y &>/dev/null
#调用函数
alterDNS
service named start &>/dev/null
else
alterDNS
service named start &>/dev/null
fi
;;
)
#关闭防火墙
service iptables stop &>/dev/null
setenforce &>/dev/null
#修改配置文件
#获得本机IP
ETH=$(ifconfig |grep "^eth" |awk '{print $1}')
lIP=$(ifconfig $ETH |grep "inet addr"|awk '{print $2}'|awk -F: '{print $2}') named="/etc/named.conf"
read -p "请输入主服务器创建的正向区域名:" AreaName
read -p "请输入主DNS服务器的IP地址:" IP
fan=$(echo $IP |awk -F. '{print $3"."$2"."$1}')
setArea(){
cat >>$named<<OK
options {
listen-on port { $lIP; };
directory "/var/named";
allow-query { any; };
};
zone "$AreaName" IN {
type slave;
masters { $IP; };
file "slaves/$AreaName.zone";
};
zone "$fan.in-addr.arpa" IN {
type slave;
masters { $IP; };
file "slaves/$fan.in-addr.arpa.zone";
};
OK
service named start &>/dev/null
}
if [ ! -f $named ]
then
echo "当前电脑没有安装DNS服务,正在安装,请稍等....."
mount /dev/sr0 /mnt &>/dev/null
#搭建本地yum仓库
cd /etc/yum.repos.d
cat >>yuzly.repo<<OK
[yuzly]
name=yuzly
baseurl=file:///mnt
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
OK
yum install bind -y &>/dev/null
rm -fr $named
touch $named
#调用函数
setArea
else
rm -fr $named
touch $named
setArea
fi
;;
*)
echo "请输入正确的数字!"
;;
esac
-------------------------------------------------------------------------------------------------------
Linux DNS服务配置:https://www.cnblogs.com/yuzly/p/10581688.html
Linux 自动化部署DNS服务器的更多相关文章
- Linux 自动化部署Rsyslog服务
Linux 自动化部署Rsyslog服务 源码如下: #/bin/bash #该脚本用于自动化部署Ryslog服务配置 #作者:雨中落叶 #博客:https://www.cnblogs.com/yuz ...
- Linux自动化部署尝试
Linux自动化部署尝试 最近做一个项目临近测试,购买的是阿里云的服务器,每次部署都是手动打包war,然后上传到服务器,然后修改配置文件,不仅繁琐,而且费时,就思索着找一个一键式的部署方式,今天终 ...
- Linux下部署FTP服务器
Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...
- Linux安装部署FTP服务器
Linux安装部署FTP服务器 本文章会将安装FTP服务器的步骤以及一些遇到的问题来记录下 因为项目中要与第三方对接数据,需要用到FTP服务器以提供他们每天上传数据,因为之前在本地的VMware虚 ...
- Linux上部署web服务器并发布web项目-转
Linux上部署web服务器并发布web项目 近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...
- centos7 部署dns服务器
=============================================== 2017/12/6_第2次修改 ccb_warlock 20 ...
- Linux 学习之DNS服务器
概念: DNS:Domain Name System 域名系统 FQDN:Fully Qualified Domain Name 完整主机名 正向解析:由主机名查IP地址 SOA:开始验证(Start ...
- Linux 自动化部署
1.pexpect Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Py ...
- Linux上部署web服务器并发布web项目
近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一 ...
随机推荐
- Python—day17时间模块、系统模块、递推遍历、序列化
一.time'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定 ...
- 我要曝光!CDN 省钱大法!
七夕节刚过去,小明却特别郁闷,因为七夕当天,他错过了和远在北京的女神表白的机会.事情的经过是怎样的呢?为了在七夕当天送给自己女神一件礼物,小明在某购物网站上花重金购买了特别的礼物,礼物是从广东发送,结 ...
- ESXI开启snmp协议方法
公司用VMware做虚拟化,15+HPE 服务器做集群,现需要用zabbix监控其状态,于是想通过打开主机的snmp协议来采集数据,监控其状态,注意其数据是ESXI系统返回的. ssh登录到ESXI上 ...
- Apache生产配置
httpd.conf # # This is the main Apache HTTP server configuration file. It contains the # configurati ...
- 三种方式给apt设置代理
为什么设置代理,你懂得. 有很多第三方工具可以用,比如proxychains,非常好用,不过今天这不是正题.因为有可能没有代理,上网你都做不到,更别提下载软件了.想一想方法还是告诉你,免得你万一必须用 ...
- 《HelloGitHub月刊》第 11 期
<HelloGitHub>第 11 期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览 GitHub 过程中,发现的有意思.高 ...
- nginx~linux下的部署
一些概念 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄 ...
- 谈谈.NET Core中基于Generic Host来实现后台任务
目录 前言 什么是Generic Host 后台任务示例 控制台形式 消费MQ消息的后台任务 Web形式 部署 IHostedService和BackgroundService的区别 IHostBui ...
- js中json的添加和指定位置的删除
0]绑定数据 grid = $("#Grid").datagrid({ fit: true, rownumbers: true, fitColumns: true, height: ...
- IaaS,PaaS,SaaS 的区别
原文:http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html 越来越多的软件,开始采用云服务. 云服务只是一个统称,可以分成三大类. Ia ...