#!/bin/bash

#该脚本用于自动化部署主DNS服务器与从DNS服务器

#作者:雨中落叶

#博客:https://www.cnblogs.com/yuzly/

echo "****************************

1.部署主dns服务器2.部署从dns服务器****************************"read -p "请输入部署选项:"Numcase $Num in

1)

#关闭防火墙,避免影响实验

service iptables stop&>/dev/nullsetenforce0 &>/dev/nullnamed="/etc/named.conf"#定义函数

alterDNS(){

#配置主文件rm -fr $namedtouch$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<

options {

listen-on port 53{ $lIP; };

listen-on-v6 port 53 { ::1; };

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.zonecat >>/var/named/$AreaName.zone<

$TTL86400@ IN SOA $AreaName. admin.$AreaName. (2019032211; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

@ IN NS ns1.$AreaName.

IN NS ns2.$AreaName.

IN MX10mail.$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<

$TTL86400@ IN SOA $AreaName. admin.$AreaName. (2019032211; 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.dcat >>yuzly.repo<

[yuzly]

name=yuzly

baseurl=file:///mnt

enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

OKyum install bind -y &>/dev/null#调用函数

alterDNS

service named start&>/dev/null

elsealterDNS

service named start&>/dev/null

fi;;2)

#关闭防火墙

service iptables stop&>/dev/nullsetenforce0 &>/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<

options {

listen-on port 53{ $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.dcat >>yuzly.repo<

[yuzly]

name=yuzly

baseurl=file:///mnt

enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

OKyum install bind -y &>/dev/null

rm -fr $namedtouch$named

#调用函数

setAreaelse

rm -fr $namedtouch$named

setAreafi;;*)echo "请输入正确的数字!";;esac

linux dns 自动识别,Linux 自动化部署DNS服务器相关推荐

  1. 撸免费的oracle cloud服务器并使用脚本自动化部署云服务器

    前两天甲骨文oracle cloud 开放注册账号能永久免费使用2个1c1g的云服务器,数据库以及其他的服务,看到这个消息自然马上就注册了一个,并选择了韩国服务器作为主地区,以 后创立的免费服务器就在 ...

  2. linux下jenkins实现自动化部署(超详细)

    本文参照:https://blog.csdn.net/achuDk/article/details/78925081 但是有给出我在搭建中遇到的问题,和我解决的方法.现在我的配置是需要手动一键点击部署 ...

  3. DNS协议从入门到部署DNS服务器

    目录 一.入门知识 二.部署DNS服务器 三.抓包DNS实验 四.部署DNS缓存域名服务器 一.入门知识 1. DNS概念 2.域名空间 3.DNS查询过程 其中1.8是递归查询,2-7是迭代查询 4 ...

  4. 大厂是如何用DevCloud流水线实现自动化部署Web应用的?

    DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站:devui.design Ng组件库:ng-devui(欢 ...

  5. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

  6. linux——部署DNS

    DNS 什么是DNS--DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,又名"域名解析服务器". DNS的作用--靠DNS把要 ...

  7. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

  8. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  9. Java Web项目在Linux服务器自动化部署续-整合Bamboo

    前言 Java Web项目在Linux服务器自动化部署 在这一篇中, 完成的是一个自动化部署的脚本. Atlassian Bamboo 是一款持续集成构建服务器软件(Build Server) 软件地 ...

最新文章

  1. spring @order控制对象的顺序
  2. Openg-三角形绘制
  3. PCA原理分析和意义(一)
  4. SM_INTEGRATION_SRV
  5. Python eval 函数 - Python零基础入门教程
  6. java poi生成excel文件_java poi 导出Excel文件
  7. C++|Linux工作笔记-C++获取Linux中shell命令结果
  8. vue生命周期,vue执行顺序图,钩子函数
  9. C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理
  10. 一些关于OTA的相当不错的网站和资料
  11. 太极图正确画法_八卦太极图的正确画法
  12. mysql dump hbase_mysqldump 导出数据库 结构
  13. iOS制作微信(weChat)支付SDK过程
  14. 怎样设置CCProxy
  15. NFT Insider #43 Animoca Brands完成3.58亿美元融资,微软重金收购暴雪
  16. linux运维自动化脚本,linux运维自动化shell脚本小工具
  17. 生态伙伴开发实践 | 智慧检测实验室应用系统快速接入指令集数字底座
  18. 摄氏度符号英文计算机语言,英语符号
  19. linux查看riak版本,Riak学习(1):Linux Centos 下安装 Riak 服务
  20. mysql温度报警器源码_基于51单片机的温度报警器设计源码

热门文章

  1. SOLIDWORKS教程:SW软件常见问题解决办法
  2. [2019蓝桥杯国赛B组c++][最优包含][排列数][解谜游戏][第八大奇迹]
  3. 2023十大网络安全认证,有任何一个都薪资过万,你有几个了?
  4. Python学习,第一课(基础知识,利用urllib库入门)
  5. 云南省二级c计算机考试试题,2015云南省计算机等级考试试题 二级C试题考资料...
  6. 川崎机器人总线通信_【川崎】川崎机器人PROFINET 总线通信图文教程(下)
  7. LTE 随机接入 --(1)流程
  8. 【历史上的今天】4 月 14 日:Ruby 之父诞生;GDPR 首次颁布;Lindows 更名为 Linspire
  9. #教你从零制作拟辉光管时钟#
  10. X Window系统