comparison scripts/nameserver_autogen/bind_tld_zonefile_all.sh @ 1190:dae39c508416 draft

updated the bind_tld_zonefile_all.sh for 21.0.0.0/8
author epoch <epoch@hacking.allowed.ano>
date Thu, 09 Mar 2017 23:58:05 +0000
parents 135e7c234e24
children 56c959ab3e05
comparison
equal deleted inserted replaced
1189:7a618eaa29cb 1190:dae39c508416
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 #zonefiles are named after the TLD they're for.
6 #make sure not to clobber any files. ;)
7
8 #ZONEFILE_DIR=/etc/namedb 5 #ZONEFILE_DIR=/etc/namedb
9 #RDNS_ZONEFILE=/etc/namedb/1.in-addr.arpa 6 RDNS_ZONEFILE=/etc/namedb/21.in-addr.arpa
10 #RESDB_PATH=/var/db/resdb 7 #RESDB_PATH=/var/db/resdb
11 8
12 if [ ! "$ZONEFILE_DIR" ];then 9 if [ ! "$ZONEFILE_DIR" ];then
13 echo "You forgot to set some variables. read the source plzkthx." 10 echo "You forgot to set some variables. read the source plzkthx."
14 exit 0; 11 exit 0;
15 fi 12 fi
16 13
17 14
18 echo -n "generating ipv4 reverse lookup zonefile for 1/8..." 15 echo -n "generating ipv4 reverse lookup zonefile for 21/8..."
19 16
20 echo "; this zonefile genreated on: `date`" > "$RDNS_ZONEFILE" 17 echo "; this zonefile genreated on: `date`" > "$RDNS_ZONEFILE"
21 echo '$TTL 3600' >> "$RDNS_ZONEFILE" 18 echo '$TTL 3600' >> "$RDNS_ZONEFILE"
22 echo '@ IN SOA @ root ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE" 19 echo '@ IN SOA @ root ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE"
23 echo '@ IN NS @' >> "$RDNS_ZONEFILE" 20 echo '@ IN NS @' >> "$RDNS_ZONEFILE"
24 echo '@ IN A 127.0.0.1' >> "$RDNS_ZONEFILE" 21 echo '@ IN A 127.0.0.1' >> "$RDNS_ZONEFILE"
25 22
26 for i in `ls ${RESDB_PATH}/db/ip/01/*/*/ns/*`;do 23 for i in `ls ${RESDB_PATH}/db/ip/15/*/*/ns/*`;do #this is for 21.
27 f=$(basename $i) 24 f=$(basename $i)
28 a=$(basename $(dirname $i)) 25 a=$(basename $(dirname $i))
29 b=$(basename $(dirname $(dirname $i))) 26 b=$(basename $(dirname $(dirname $i)))
30 c=$(basename $(dirname $(dirname $(dirname $i)))) 27 c=$(basename $(dirname $(dirname $(dirname $i))))
31 printf "%d.%d IN NS %s\n" $[0x${b}] $[0x${c}] ${f}. 28 printf "%d.%d IN NS %s\n" $[0x${b}] $[0x${c}] ${f}.
53 if grep '\.ano$' <<< "$server" > /dev/null;then 50 if grep '\.ano$' <<< "$server" > /dev/null;then
54 true 51 true
55 fi 52 fi
56 fqserver=`cut -d/ -f3- <<< $server` 53 fqserver=`cut -d/ -f3- <<< $server`
57 echo -e "${name}\tIN NS\t${fqserver}." 54 echo -e "${name}\tIN NS\t${fqserver}."
58 for ip in `cat ${server}`;do 55 for ip in $(cat ${server});do
59 if grep ':' <<< "$ip" > /dev/null;then 56 if grep ':' <<< "$ip" > /dev/null;then
60 echo -e "${fqserver}.\tIN AAAA\t$ip" 57 printf '%s.\tIN AAAA\t%s\n' "${fqserver}" "${ip}"
61 else 58 else
62 echo -e "${fqserver}.\tIN A\t$ip" 59 printf '%s.\tIN A\t%s\n' "${fqserver}" "${ip}"
63 fi 60 fi
64 done 61 done
65 done 62 done
66 fi 63 fi
67 done >> "$ANO_ZONEFILE" 64 done >> "$ANO_ZONEFILE"