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+