comparison scripts/nameserver_autogen/bind_tld_zonefile.sh @ 1138:c95369b825a2 draft

whoisd... don't remember. added ipv6 address for my nameserver does anyone still use bind_tld_zonefile? upgraded bind_tld_zonefile.sh to use ipv6 in one place and rDNS in another
author epoch <epoch@hacking.allowed.org>
date Sun, 06 Oct 2013 10:21:44 +0000
parents 8e01b8361e9e
children 5c239f21ff7e
comparison
equal deleted inserted replaced
1135:97f5dc7e763c 1138:c95369b825a2
1 #!/bin/bash 1 #!/bin/bash
2 #made for bash. not sure if all /bin/sh work. 2 #made for bash. not sure if all /bin/sh work.
3 #be sure to edit these variables first. 3 #be sure to edit these variables first.
4 4
5 ANO_ZONEFILE=/etc/namedb/ano 5 ANO_ZONEFILE=/etc/namedb/ano
6 RDNS_ZONEFILE=/etc/namedb/1.in-addr.arpa
6 RESDB_PATH=/services/resdb/resdb 7 RESDB_PATH=/services/resdb/resdb
7 8
8 echo "; this zonefile genreated on: `date`" > $ANO_ZONEFILE
9 echo '$TTL 3600' >> $ANO_ZONEFILE
10 echo '@ IN SOA localns root ('`date +" %Y%m%d00"`' 60 300 3600000 3600 )' >> $ANO_ZONEFILE
11 echo '@ IN NS localns' >> $ANO_ZONEFILE
12 echo 'localns IN A 127.0.0.1' >> $ANO_ZONEFILE
13 9
14 cd ${RESDB_PATH}/db/dom/ano 10 cd ${RESDB_PATH}/db/dom/ano
15 11
16 echo -n generating zonefile... 12 echo -n "generating ipv4 reverse lookup zonefile for 1/8..."
13
14 echo "; this zonefile genreated on: `date`" > "$RDNS_ZONEFILE"
15 echo '$TTL 3600' >> "$RDNS_ZONEFILE"
16 echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE"
17 echo '@ IN NS localhost.' >> "$RDNS_ZONEFILE"
18 echo 'localhost. IN A 127.0.0.1' >> "$RDNS_ZONEFILE"
19
20 for i in `ls /services/resdb/resdb/db/ip/01/*/*/ns/*`;do
21 f=$(basename $i)
22 a=$(basename $(dirname $i))
23 b=$(basename $(dirname $(dirname $i)))
24 c=$(basename $(dirname $(dirname $(dirname $i))))
25 printf "%d.%d IN NS %s\n" $[0x${b}] $[0x${c}] ${f}.
26 done >> "$RDNS_ZONEFILE"
27 echo done.
28
29 echo -n generating .ano TLD zonefile...
30
31 echo "; this zonefile genreated on: `date`" > "$ANO_ZONEFILE"
32 echo '$TTL 3600' >> "$ANO_ZONEFILE"
33 echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$ANO_ZONEFILE"
34 echo '@ IN NS localhost.' >> "$ANO_ZONEFILE"
35 echo 'localhost. IN A 127.0.0.1' >> "$ANO_ZONEFILE"
36
17 for name in *;do 37 for name in *;do
18 if [ -e "${name}/ns/" ];then 38 if [ -e "${name}/ns/" ];then
19 for server in "$name"/ns/*;do 39 for server in "$name"/ns/*;do
20 if grep '\.ano$' <<< $name > /dev/null;then 40 if grep '\.ano$' <<< "$name" > /dev/null;then
21 true 41 true
22 fi 42 fi
23 if grep '\.ano$' <<< $server > /dev/null;then 43 if grep '\.ano$' <<< "$server" > /dev/null;then
24 true 44 true
25 fi 45 fi
26 fqserver=`cut -d/ -f3- <<< $server` 46 fqserver=`cut -d/ -f3- <<< $server`
27 echo -e "${name}\tIN NS\t${fqserver}." 47 echo -e "${name}\tIN NS\t${fqserver}."
28 for ip in `cat ${server}`;do 48 for ip in `cat ${server}`;do
29 echo -e "${fqserver}.\tIN A\t$ip" 49 if grep ':' <<< "$ip" > /dev/null;then
50 echo -e "${fqserver}.\tIN AAAA\t$ip"
51 else
52 echo -e "${fqserver}.\tIN A\t$ip"
53 fi
30 done 54 done
31 done 55 done
32 fi 56 fi
33 done >> $ANO_ZONEFILE 57 done >> "$ANO_ZONEFILE"
34 echo done. 58 echo done.
35 echo might want to send a sighup to your named now. 59 echo might want to send a sighup to your named now.