免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2074 | 回复: 0
打印 上一主题 下一主题

新的 DNS 服务器配置脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-20 09:40 |只看该作者 |倒序浏览

新的 DNS 服务器配置脚本

配置 DNS 主要服务器和备用服务器,将客户机添加到主服务器,等等  #!/bin/ksh
##########################################################################
##                                                                        ##       
##        DNS SERVER CONFIGURATION SCRIPT FOR TEACH TCP/IP COURSES         ##
##                                Write by                                ##
##                Mr. UDOMSAK NAKSENA ( udomsak.n@g-able.com )                 ##
##             Sun Instructor Authorize Training Certification                ##
##                Version 3 support Solaris 10 Zone                        ##       
##########################################################################
DBDIR=/var/named
CFGDIR=/etc
########## Information for MASTER SERVER  ########
info () {
        echo "\nConfigure path [ /etc ] : \c"
        read CFGDIR ; CFGDIR=${CFGDIR:="/etc"}
        echo "Database path [ /var/named ] : \c"
        read DBDIR ; DBDIR=${DBDIR:="/var/named"}
        echo "Server name [ `uname -n` ] : \c"
        read name ; name=${name:=`uname -n`}
        IP=`/usr/sbin/ifconfig -a | grep inet | grep -v "127.0.0.1" | head -1 | awk '{print $2}'`
        A=`echo $IP | cut -d. -f1`
        B=`echo $IP | cut -d. -f2`
        C=`echo $IP | cut -d. -f3`
        D=`echo $IP | cut -d. -f4`
        echo "Server IP address [ $IP ] : \c"
        read ip ; ip=${ip:=$IP}
        DOMAIN="$D.com"
        echo "Domain name [ $DOMAIN ] : \c"
        read domain ; domain=${domain:=$DOMAIN}
       
        echo " "
        echo "Server name is                : $name.$domain"
        echo "Server IP is                : $ip"
        echo "configure file is        : $CFGDIR/named.conf"
        echo "Database path is         : $DBDIR"
        echo "\n***** Old configure file will remove to $CFGDIR/named.conf.prev *****"
        echo "*****   Old database file will remove to $DBDIR/prev.d   *****"
}
##########  Infomation for slave SERVER  ########
info_slave () {
        if [ "$merge" != "y" ]
        then       
                echo "\nConfigure path [ /etc ] : \c"
                read CFGDIR ; CFGDIR=${CFGDIR:="/etc"}
                echo "Database path [ /var/named ] : \c"
                read DBDIR ; DBDIR=${DBDIR:="/var/named"}
        fi
        echo "Primary Server name : \c"
        read name
        echo "Primary Server IP address : \c"
        read master_ip
        echo "Primary Domain name : \c"
        read domain
       
        echo " "
        echo "Primary Server name is        : $name.$domain"
        echo "Primary Server IP is        : $master_ip"
        echo "configure file is        : $CFGDIR/named.conf"
        echo "Database path is         : $DBDIR"
}
##########  BIND Configure file  ########
namedconf () {
[ -f ${CFGDIR}/named.conf ] &&  mv ${CFGDIR}/named.conf ${CFGDIR}/named.conf.prev
cat > $CFGDIR/named.conf &-  && \
        mv $DBDIR/named.root $DBDIR/prev.d
        echo "Enter root name server and IP type Enter to finish"
        cat > $DBDIR/named.root > $DBDIR/named.root  $DBDIR/domain.$domain  $DBDIR/rdomain.$domain  $DBDIR/loopback  $CFGDIR/resolv.conf &-
}
########## Add client to server ###########
client () {
        if [ -z "$domain" ]
        then
                defaultdomain="`/usr/sbin/ifconfig -a | grep inet | \
                grep -v "127.0.0.1" | head -1 | awk '{print $2}'`.com"
                echo "Domain name [ $defaultdomain ] : \c"
                read domain ; domain=${domain:=$defaultdomain}
        fi
        echo "Enter client name and IP address ENTER to finish"
        while :
        do
                echo "\nClient name : \c" ; read cname
                if [ "$cname" = '' ]
                        then break
                fi
                echo "Client IP   : \c" ; read cip
                reverse_cip=`echo $cip | awk -F. '{print $4"."$3"."$2"."$1}'`
                echo "$cname                 in a        $cip"
                echo "Are you sure to add client to $domain [ y ] : \c "  
                read addnow  
                addnow=${addnow:=y}
                if [ "$addnow" = 'y' ]
                then
                cat >> $DBDIR/domain.$domain > $DBDIR/rdomain.$domain  $CFGDIR/named.conf > $CFGDIR/named.conf > $CFGDIR/named.conf &-
                                        mv $DBDIR/* $DBDIR/prev.d 2>&-
                                        info_loop info_slave
                                        localdomain
                                        slave_forward
                                        slave_reverse
                                        named_root
                                        loopback_domain
                                fi
                                continue
                        fi
                        [ -d $CFGDIR ] || mkdir -p $CFGDIR
                        [ -d $DBDIR ] || mkdir -p $DBDIR
                        info_loop info_slave
                        localdomain
                        slave_forward
                        slave_reverse
                        named_root
                        loopback_domain
                        ;;
                3) client ;;
                4) exit 0 ;;
                *) continue ;;
        esac
done
##############################################################################
### This script is submitted to BigAdmin by a user of the BigAdmin community.
### Sun Microsystems, Inc. is not responsible for the
### contents or the code enclosed.
###
###
### Copyright 2008 Sun Microsystems, Inc. ALL RIGHTS RESERVED
### Use of this software is authorized pursuant to the
### terms of the license found at
### http://www.sun.com/bigadmin/common/berkeley_license.html
##############################################################################


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4411/showart_1730660.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP