1*00b67f09SDavid van Moolenbroek#!/bin/sh 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC") 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek# 9*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek 17*00b67f09SDavid van Moolenbroek# Id: setup.sh,v 1.4 2011/09/02 21:15:35 each Exp 18*00b67f09SDavid van Moolenbroek 19*00b67f09SDavid van Moolenbroekusage () { 20*00b67f09SDavid van Moolenbroek echo "Usage: $0 [-s] <number of zones> [<records per zone>]" 21*00b67f09SDavid van Moolenbroek echo " -s: use the same zone file all zones" 22*00b67f09SDavid van Moolenbroek exit 1 23*00b67f09SDavid van Moolenbroek} 24*00b67f09SDavid van Moolenbroek 25*00b67f09SDavid van Moolenbroekif [ "$#" -lt 1 -o "$#" -gt 3 ]; then 26*00b67f09SDavid van Moolenbroek usage 27*00b67f09SDavid van Moolenbroekfi 28*00b67f09SDavid van Moolenbroek 29*00b67f09SDavid van Moolenbroeksingle_file="" 30*00b67f09SDavid van Moolenbroekif [ $1 = "-s" ]; then 31*00b67f09SDavid van Moolenbroek single_file=yes 32*00b67f09SDavid van Moolenbroek shift 33*00b67f09SDavid van Moolenbroekfi 34*00b67f09SDavid van Moolenbroek 35*00b67f09SDavid van Moolenbroeknzones=$1 36*00b67f09SDavid van Moolenbroekshift 37*00b67f09SDavid van Moolenbroek 38*00b67f09SDavid van Moolenbroeknrecords=5 39*00b67f09SDavid van Moolenbroek[ "$#" -eq 1 ] && nrecords=$1 40*00b67f09SDavid van Moolenbroek 41*00b67f09SDavid van Moolenbroek. ../system/conf.sh 42*00b67f09SDavid van Moolenbroek 43*00b67f09SDavid van Moolenbroekcat << EOF 44*00b67f09SDavid van Moolenbroekoptions { 45*00b67f09SDavid van Moolenbroek directory "`pwd`"; 46*00b67f09SDavid van Moolenbroek listen-on { localhost; }; 47*00b67f09SDavid van Moolenbroek listen-on-v6 { localhost; }; 48*00b67f09SDavid van Moolenbroek port 5300; 49*00b67f09SDavid van Moolenbroek allow-query { any; }; 50*00b67f09SDavid van Moolenbroek allow-transfer { localhost; }; 51*00b67f09SDavid van Moolenbroek allow-recursion { none; }; 52*00b67f09SDavid van Moolenbroek recursion no; 53*00b67f09SDavid van Moolenbroek}; 54*00b67f09SDavid van Moolenbroek 55*00b67f09SDavid van Moolenbroekkey rndc_key { 56*00b67f09SDavid van Moolenbroek secret "1234abcd8765"; 57*00b67f09SDavid van Moolenbroek algorithm hmac-md5; 58*00b67f09SDavid van Moolenbroek}; 59*00b67f09SDavid van Moolenbroek 60*00b67f09SDavid van Moolenbroekcontrols { 61*00b67f09SDavid van Moolenbroek inet 127.0.0.1 port 9953 allow { any; } keys { rndc_key; }; 62*00b67f09SDavid van Moolenbroek}; 63*00b67f09SDavid van Moolenbroek 64*00b67f09SDavid van Moolenbroeklogging { 65*00b67f09SDavid van Moolenbroek channel basic { 66*00b67f09SDavid van Moolenbroek file "`pwd`/named.log" versions 3 size 100m; 67*00b67f09SDavid van Moolenbroek severity info; 68*00b67f09SDavid van Moolenbroek print-time yes; 69*00b67f09SDavid van Moolenbroek print-severity no; 70*00b67f09SDavid van Moolenbroek print-category no; 71*00b67f09SDavid van Moolenbroek }; 72*00b67f09SDavid van Moolenbroek category default { 73*00b67f09SDavid van Moolenbroek basic; 74*00b67f09SDavid van Moolenbroek }; 75*00b67f09SDavid van Moolenbroek}; 76*00b67f09SDavid van Moolenbroek 77*00b67f09SDavid van MoolenbroekEOF 78*00b67f09SDavid van Moolenbroek 79*00b67f09SDavid van Moolenbroek$PERL makenames.pl $nzones | while read zonename; do 80*00b67f09SDavid van Moolenbroek if [ $single_file ]; then 81*00b67f09SDavid van Moolenbroek echo "zone $zonename { type master; file \"smallzone.db\"; };" 82*00b67f09SDavid van Moolenbroek else 83*00b67f09SDavid van Moolenbroek [ -d zones ] || mkdir zones 84*00b67f09SDavid van Moolenbroek $PERL mkzonefile.pl $zonename $nrecords > zones/$zonename.db 85*00b67f09SDavid van Moolenbroek echo "zone $zonename { type master; file \"zones/$zonename.db\"; };" 86*00b67f09SDavid van Moolenbroek fi 87*00b67f09SDavid van Moolenbroekdone 88