diff options
author | SeekingFor <SeekingFor@sfor.something> | 2013-10-30 02:37:50 +0000 |
---|---|---|
committer | SeekingFor <SeekingFor@sfor.something> | 2013-10-30 02:37:50 +0000 |
commit | 384487ab14b45ecd40783ed2ddaa6ef433f542e6 (patch) | |
tree | 521981f2d9d5fe9fa86e95ab99a91fb5f09b3bf7 /scripts/nameserver_autogen/bind_tld_zonefile.sh | |
parent | 0bc662fa9ad68bf3bc11a5f388fc6a4eb2f010fc (diff) | |
parent | e4734d7592a11fbb206b4da851f7b1cd8d10b7c8 (diff) | |
download | resdb-384487ab14b45ecd40783ed2ddaa6ef433f542e6.tar.gz resdb-384487ab14b45ecd40783ed2ddaa6ef433f542e6.zip |
Merge git://1.41.41.1
Diffstat (limited to 'scripts/nameserver_autogen/bind_tld_zonefile.sh')
-rwxr-xr-x | scripts/nameserver_autogen/bind_tld_zonefile.sh | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/scripts/nameserver_autogen/bind_tld_zonefile.sh b/scripts/nameserver_autogen/bind_tld_zonefile.sh index 72c1128..06eb802 100755 --- a/scripts/nameserver_autogen/bind_tld_zonefile.sh +++ b/scripts/nameserver_autogen/bind_tld_zonefile.sh @@ -3,33 +3,57 @@ #be sure to edit these variables first. ANO_ZONEFILE=/etc/namedb/ano +RDNS_ZONEFILE=/etc/namedb/1.in-addr.arpa RESDB_PATH=/services/resdb/resdb -echo "; this zonefile genreated on: `date`" > $ANO_ZONEFILE -echo '$TTL 3600' >> $ANO_ZONEFILE -echo '@ IN SOA localns root ('`date +" %Y%m%d00"`' 60 300 3600000 3600 )' >> $ANO_ZONEFILE -echo '@ IN NS localns' >> $ANO_ZONEFILE -echo 'localns IN A 127.0.0.1' >> $ANO_ZONEFILE cd ${RESDB_PATH}/db/dom/ano -echo -n generating zonefile... +echo -n "generating ipv4 reverse lookup zonefile for 1/8..." + +echo "; this zonefile genreated on: `date`" > "$RDNS_ZONEFILE" +echo '$TTL 3600' >> "$RDNS_ZONEFILE" +echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE" +echo '@ IN NS localhost.' >> "$RDNS_ZONEFILE" +echo 'localhost. IN A 127.0.0.1' >> "$RDNS_ZONEFILE" + +for i in `ls /services/resdb/resdb/db/ip/01/*/*/ns/*`;do + f=$(basename $i) + a=$(basename $(dirname $i)) + b=$(basename $(dirname $(dirname $i))) + c=$(basename $(dirname $(dirname $(dirname $i)))) + printf "%d.%d IN NS %s\n" $[0x${b}] $[0x${c}] ${f}. +done >> "$RDNS_ZONEFILE" +echo done. + +echo -n generating .ano TLD zonefile... + +echo "; this zonefile genreated on: `date`" > "$ANO_ZONEFILE" +echo '$TTL 3600' >> "$ANO_ZONEFILE" +echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$ANO_ZONEFILE" +echo '@ IN NS localhost.' >> "$ANO_ZONEFILE" +echo 'localhost. IN A 127.0.0.1' >> "$ANO_ZONEFILE" + for name in *;do if [ -e "${name}/ns/" ];then for server in "$name"/ns/*;do - if grep '\.ano$' <<< $name > /dev/null;then + if grep '\.ano$' <<< "$name" > /dev/null;then true fi - if grep '\.ano$' <<< $server > /dev/null;then + if grep '\.ano$' <<< "$server" > /dev/null;then true fi fqserver=`cut -d/ -f3- <<< $server` echo -e "${name}\tIN NS\t${fqserver}." for ip in `cat ${server}`;do - echo -e "${fqserver}.\tIN A\t$ip" + if grep ':' <<< "$ip" > /dev/null;then + echo -e "${fqserver}.\tIN AAAA\t$ip" + else + echo -e "${fqserver}.\tIN A\t$ip" + fi done done fi -done >> $ANO_ZONEFILE +done >> "$ANO_ZONEFILE" echo done. echo might want to send a sighup to your named now. |