(二)跟我一起玩Linux网络服务:BIND的自动部署(附上完整的代码)

2015-03-24

   如果看了我之前写的文章 DNS服务——BIND(/etc/named.conf、/var/named)设置实现和解释,再来看这篇文章,你会发现部署BIND是件很简单的事情

  如果本文有什么看不懂得,可以看上面的连接的文章,里面介绍解释的很相尽

   自动部署其实就是我们的shell脚本,通过对特殊符号的结束输入,使得变得非交互了。
  自动部署的好处就是方法是一样的,步骤也是一样,就是这里部署的IP和反IP(RIP)要自己设置。
  注:
    (1)执行这个命令可能用到root用户的权限,如果是root用户的话直接用,不是root用户建议在所有cat(所有命令前加sudo,没有的百度一下)使用。
    (2)下面的比如本机的ip是192.168.133.10,RIP就是10.133.168.192(学过的都明白,没学过的可以找找反向域名解析的内容)。
    (3)+END+ 就是结束符,实在cat 语句的<<的后面定义好了,这个东西不一定的,你可以换其他的东西,只要你的后面输入的东西只有结束的时候才有这个奇怪的东西才行,否则会有问题的
    (4)/var/named/下的文件是“$TTL”开头的,但是在shell脚本中,属于一个变量,所以就要加上“”表示反编译,不表示变量
 
使用命令(其实你可以将该shell文件放在任何地方,任何名字)
#cat > /home/dnsgen.sh
#! /bin/bash

IP="192.168.133"
RIP="133.168.192"

cat >> /etc/named.conf << +END+
zone "gr.org" IN {
        type master;
        file "gr.org.db";
};

zone "$RIP.in-addr.arpa" IN{
        type master;
        file "$IP.db";
};
+END+
 
cat > /var/named/gr.org.db <<+END+
$TTL 86400
@    IN  SOA    ns.gr.org.  root.gr.org. (
       20150317  6H  30M  1W  15M)
     IN  NS     ns.gr,org.
     IN  MX  10   mail.gr.org.
bbs  IN  CNAME  www.gr.org.
ns   IN  A      $IP.10
www  IN  A      $IP.10
mail IN  A      $IP.11
+END+


cat > /var/named/$IP.db <<+END+
$TTL 86400
@       IN      SOA     ns.gr.org       root.gr.org.(
                20150317  6H  30M  1W  15M)
        IN      NS      ns.gr.org.
10      IN      PTR     ns.gr.org.
10      IN      PTR     www.gr.org.
11      IN      PTR     mail.gr.org.
+END+

cat > /etc/resolv.conf <<+END+
nameserver 10.10.10.10
+END+
原文地址:https://www.cnblogs.com/miao-zp/p/4364177.html