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
@ IN SOA ns.gr.org. root.gr.org. (
6H 30M 1W 15M)
IN NS ns.gr,org.
IN MX mail.gr.org.
bbs IN CNAME www.gr.org.
ns IN A $IP.
www IN A $IP.
mail IN A $IP.
+END+ cat > /var/named/$IP.db <<+END+
\$TTL
@ IN SOA ns.gr.org root.gr.org.(
6H 30M 1W 15M)
IN NS ns.gr.org.
IN PTR ns.gr.org.
IN PTR www.gr.org.
IN PTR mail.gr.org.
+END+ cat > /etc/resolv.conf <<+END+
nameserver 10.10.10.10
+END+