diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/nameserver_autogen/bind_tld_zonefile | 1 | ||||
-rwxr-xr-x | scripts/nameserver_autogen/bind_tld_zonefile.sh | 44 |
2 files changed, 35 insertions, 10 deletions
diff --git a/scripts/nameserver_autogen/bind_tld_zonefile b/scripts/nameserver_autogen/bind_tld_zonefile index 344bb4e..fb224e5 100755 --- a/scripts/nameserver_autogen/bind_tld_zonefile +++ b/scripts/nameserver_autogen/bind_tld_zonefile @@ -1,4 +1,5 @@ #!/usr/bin/php +#does anyone use this? <?php print('$ttl 600'."\n"); chdir('../db/dom/ano'); 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. |