#----------------------------------------
#standard shell lib file
#---------------------------------------

#----------------------------------------
#function;                            #功能
#parameter;                           #参数
#return;                              #返回
#usage: checkRPM rpm1 rpm2 ......     #使用

#---------------------------------------


checkRPM()
{
  for i
   do

       if ! rpm -q $i  &> /dev/null #查看$i是否安装,并且把安装过程导入到/dev/null
       
then
          
echo "install $i"       #安装提示语
         
 yum install -y $i &> /dev/null  #将安装过程导入到/dev/null内
      
fi
done
}                                          #使用for循环语句

starts()
{
    
 for i
    
 do
          
service $i restart               #重新启动$i服务
       
   echo "$i is running"             #提示语正在运行
     
done
}

 

#!/bin/bash
#comment
. dns.sh
checkRPM bind-libs bind bind-utils bind-chroot  caching-nameserver

zone="sx.com"   #指定区域变量的域名

rzone1=“0.168.192”    #指定反向区域的域名

rzone1=“192.168.0”    #指定反向区域的域名


cd /var/named/chroot/etc    #进入文件

cp -p named.caching* named.conf #复制并且复制所属组


cat > named.conf <<EOF   #将cat重定向到named.cof,切在执行中遇到了EOF结束
optios{
      
 listen-on port 53 { any; };
       
directory       "/var/named";
       
dump-file       "/var/named/data/cache_dump.db";  #缓存文件
        statistics-file "/var/named/data/named_stats.txt";  #统计数据文件
        memstatistics-file "/var/named/data/named_mem_stats.txt";  #内存统计参数

};                #DNS的相关环境

view localhost_resolver {
       
match-clients     
{ localhost; };
        match-destinations { localhost;
 };
       
recursion yes;
       
include "/etc/named.rfc1912.zones"; #指定正域文件的位置
};
EOF
[ ! -f named.rfc1912.zones.bak ] && cp -p named.rfc1912.zones named.rfc1912.zones.bak                  
#
cp -p named.rfc1912.zones.bak named.rfc1912.zones #复制named.rfc1912.zones.bak到
named中并且复制所属主

cat >> named.rfc1912.zones << EOF     #将cat重定向到named.cof,切在执行中遇到了EOF结束
zone
 "$zones" IN {                   
      
 type hint;
      
 file "$zones";

};                                       #正向域


zone "$rzonel" IN {
       
type master;
       
file "$rzonel";

};                                        #反向域
EOF                                       #结束语

cd /var/named/chroot/var/named            #进入文件

cp -p named.local $zone                  #复制named.local到$zone中并且更改所属
属组


cat > $zone <<EOF                    #将cat重定向到named.cof,切在执行中遇到了EOF结束
$TTL    86400                        #缓存信息的缓存时间
@      
IN      SOA     ns1.$zone. root.mail.$zone  (   #关于master/slave的授权>你你内容如果没有slave,也要进行 
                                      1997022700 ;
Serial #序列号
                                      28800      ;
 Refresh #服务器更新时间
                                      14400      ; Retry #当slve主机更新失败,多
久在重新更新一次
                                      3600000    ;
Expire #重复retry多久就不在尝

                                      86400 )    ; Minimum #可视为TTL,尤其是你>没有设定
         IN      NS      ns1.$zone.
17       IN      PTR     ns1.$zone.
17       IN      PTR     ns1.$zone.
17       IN      PTR     www.$zone.  #反向解析
EOF
starts named

nslookup -type=soa $zone 192.168.0.17 #查看文件类型
dig -t mx $zone @192.168.0.17