Bash脚本来configurationBIND9

我有一个networking服务器(运行Ubuntu 12.04服务器和Nginx),我正在build立一些网站。

我对pipe理我自己的networking服务器很新,除了configurationDNS之外,我的工作进展顺利。

我希望有一台服务器作为networking服务器和DNS服务器(除非有人能说服我,否则..)

我已经阅读了一些BIND9指南,但是不明白为什么它必须如此复杂!

我想要一个脚本,我可以运行,如: configure-dns.sh mydomain.com这将创build区域和条目“mydomain”,并将当前服务器设置为主机和authorative服务器。

理想情况下,我希望我的工作stream程适用于新的域名:

  • 在注册商处注册域名
  • 在注册商处,将我的DNS设置为我的服务器
  • 在我的服务器上,运行1个脚本来设置相关的DNS条目
  • 在我的服务器上,运行1脚本,设置相关的networking服务器configuration( 我已经有这个 )

那么, 你可以添加一个简单的bash脚本的DNS条目?

谢谢,Dean。

添加到/etc/bind/named.conf:

 include "/etc/bind/domain-enabled.conf"; 

使目录:

 # mkdir /etc/bind/domain-enabled/ 

脚本:

 cat <<EOF >>/etc/bind/domain-enabled.conf zone "$1" { type master; file "/etc/bind/domain-enabled/$1.db"; }; EOF cat <<EOF >/etc/bind/domain-enabled/$1.db \$TTL 604800 @ IN SOA ns1.$1. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.$1. @ IN A $2 ns1 IN A $2 EOF rndc reload 

跑:

 add-domain examle.com 127.0.0.1 

是的,我已经多次使用shell脚本自动进行DNSpipe理,适用于不同地点的不同基础设施。

至于你的另一个伪问题,“为什么它要这么复杂”,这是因为在一般情况下,DNS并不是一件小事,BIND试图处理所有复杂的情况。 这就意味着简单的事情不是那么简单,但是很高兴知道无论多毛的东西都能得到,你就能够应付它。