1#!/usr/bin/perl
2#
3# Copyright (C) 2011, 2012  Internet Systems Consortium, Inc. ("ISC")
4#
5# Permission to use, copy, modify, and/or distribute this software for any
6# purpose with or without fee is hereby granted, provided that the above
7# copyright notice and this permission notice appear in all copies.
8#
9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15# PERFORMANCE OF THIS SOFTWARE.
16
17# Id: mkzonefile.pl,v 1.2 2011/09/02 21:15:35 each Exp
18use strict;
19
20die "Usage: makenames.pl zonename num_records" if (@ARGV != 2);
21my $zname = @ARGV[0];
22my $nrecords = @ARGV[1];
23
24my @chars = split("", "abcdefghijklmnopqrstuvwxyz");
25
26print"\$TTL 300	; 5 minutes
27\$ORIGIN $zname.
28@			IN SOA	mname1. . (
29				2011080201 ; serial
30				20         ; refresh (20 seconds)
31				20         ; retry (20 seconds)
32				1814400    ; expire (3 weeks)
33				600        ; minimum (1 hour)
34				)
35			NS	ns
36ns			A	10.53.0.3\n";
37
38srand;
39for (my $i = 0; $i < $nrecords; $i++) {
40        my $name = "";
41        for (my $j = 0; $j < 8; $j++) {
42                my $r = rand 25;
43                $name .= $chars[$r];
44        }
45        print "$name" . "\tIN\tA\t";
46        my $x = int rand 254;
47        my $y = int rand 254;
48        my $z = int rand 254;
49        print "10.$x.$y.$z\n";
50}
51
52