Mercurial > hg > anonet-resdb
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" |