首页 > 其他分享 >一键搭建dns

一键搭建dns

时间:2022-11-19 18:33:31浏览次数:44  
标签:named SETCOLOR zone 一键 DOMAIN echo etc dns 搭建

#!/bin/bash

DOMAIN=wang.org
HOST=www
HOST_IP=10.0.0.100
LOCALHOST=`hostname -I | awk '{print $1}'`

. /etc/os-release

color ()  {
  RES_COL=60
  MOVE_TO_COL="echo -en \\033[${RES_COL}G"
  SETCOLOR_SUCCESS="echo -en \\033[1;32m"
  SETCOLOR_FAILURE="echo -en \\033[1;31m"
  SETCOLOR_WARNING="echo -en \\033[1;33m"
  SETCOLOR_NORMAL="echo -en \E[0m"
  echo -n "$1" && $MOVE_TO_COL
  echo -n "["
  if [ $2 = "success" -o $2 = "0" ] ;then
    ${SETCOLOR_SUCCESS}
    echo -n $" OK "
  elif [ $2 = "failure" -o $2 = "1" ] ;then
    ${SETCOLOR_FAILURE}
    echo -n $"FAILED"
  else
    ${SETCOLOR_WARNING}
    echo -n $"WARNING"
  fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo
}

install_dns () {
  if [ $ID = 'centos' -o $ID = 'rocky' ];then
    yum install -y bind bind-utils
  elif [ $ID = 'ubuntu' ];then
    apt update
    apt install -y bind9 bind9-utils bind9-host
  else
    color "不支持此操作系统,退出!" 1
    exit
  fi
}

config_dns () {
  if [ $ID = 'centos' -o $ID = 'rocky' ];then
    sed -i -e '/listen-on/s/127.0.0.1/localhost/' -e '/allow-query/s/localhost/any/' -e 's/dnssec-enable yes/dnssec-enable no/' -e 's/dnssec-validation yes/dnssec-validation no/' /etc/named.conf
    cat >> /etc/named.rfc1912.zones <<EOF
zone "$DOMAIN" IN {
  type master;
  file "$DOMAIN.zone";
};
EOF
cat > /var/named/$DOMAIN.zone <<EOF
\$TTL 1D
@      IN      SOA       master admin (
              1 ; serial
              1D ; refresh
              1H ; retry
              1W ; expire
              3H ) ; minimum
        NS              master
master        A      ${LOCALHOST}
$HOST       A      $HOST_IP
EOF
    chmod 640 /var/named/$DOMAIN.zone
    chgrp named /var/named/$DOMAIN.zone
  elif [ $ID = 'ubuntu' ];then
    sed -i 's/dnssec-validation auto/dnssec-validation no/' /etc/bind/named.conf.options
    cat >> /etc/bind/named.conf.default-zones <<EOF
zone "$DOMAIN" IN {
  type master;
  file "/etc/bind/$DOMAIN.zone";
};
EOF
cat > /etc/bind/$DOMAIN.zone <<EOF
\$TTL 1D
@   IN   SOA      master  admin (
              1 ; serial
              1D ; refresh
              1H ; retry
              1W ; expire
              3H ) ; minimum
      NS              master
master      A      ${LOCALHOST}
$HOST     A      $HOST_IP
EOF
    chgrp bind /etc/bind/$DOMAIN.zone
  else
    color "不支持此操作系统,退出!" 1
    exit
  fi
}

start_service () {
  systemctl enable named
  systemctl restart named
  systemctl is-active named.service
  if [ $? -eq 0 ] ;then
    color "DNS 服务安装成功!" 0
  else
    color "DNS 服务安装失败!" 1
    exit 1
  fi
}

install_dns
config_dns
start_service

标签:named,SETCOLOR,zone,一键,DOMAIN,echo,etc,dns,搭建
From: https://www.cnblogs.com/wp010/p/16906728.html

相关文章

  • Spring2.5、Struts2、Ibatis开发框架搭建之二
      Spring2.5、Struts2、Ibatis开发框架搭建(二) 二、向项目中加入SpringStrutsiBATIS框架2.1准备工作      将下载的三个框架分......
  • 虚拟机Ubuntu环境下的Linux驱动开发环境搭建
    安装Ubuntu版本longtime版本,目前最新是22.04,下边是下载网址https://ubuntu.com/download/desktop具体的安装虚拟机和Ubuntu的教程,下边是参考教程网址https://blog.csd......
  • Django项目搭建
    新建项目django-adminstartprojectMyProject进入MyProject根目录后,新建app:MyApppythonmanage.pystartappMyApp初始化-生成sqlite数据库表pythonmanage.......
  • Windows下开发环境的搭建(前端vue后端java)
    0.下载或拷贝jdk(目前项目使用的版本包括1.6,1.7,1.8,11),配置Java环境变量:新建系统变量JAVA_HOME和CLASSPATH变量名:JAVA_HOME变量值:C:\ProgramFiles\Java\jdk1.7.0......
  • 深度学习之step by step搭建神经网络
    声明本文参考Deep-Learning-Specialization-Coursera/Convolution_model_Step_by_Step_v1.ipynbatmain·abdur75648/Deep-Learning-Specialization-Coursera·GitHu......
  • MFS搭建
    一MFS介绍:DistinctivefeaturesofMooseFSare: MooseFS优越特性如下:-higherreliability(datacanbestoredinseveralcopiesonseparatecomputers)高可用性(数......
  • Harbor仓库介绍与搭建过程
    一:介绍Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的......
  • docker制作镜像、搭建私有仓库registry
    dockerrun-ti --rm--rm运行完自动删除容器是相对隔绝,和物理机共享内核 uname-rdockerinspect  namedocker分层可以节省空间,因为相同层数的镜像内容是只读共享的,......
  • kubernetes_CoreDNS全解析
    一、前言kubernetesCoreDNS是kube-system命令空间里面的一个Pod,用于域名解析。kubernetes自带三个命名空间(用kubeadm安装的Kubernetes集群):defaultkube-public......
  • 【luffy】课程详情页接口,前端搭建,视频播放器,导航栏
    目录1.课程详情页接口2.课程列表前端2.1轻课2.2实战课2.3课程详情2.4视频播放器3.第三方存储视频托管4.搜索导航栏5.搜索前端页面1.课程详情页接口课程章节接......