diff options
Diffstat (limited to 'bootstrap/make-reverse4-files.pl')
-rwxr-xr-x | bootstrap/make-reverse4-files.pl | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/bootstrap/make-reverse4-files.pl b/bootstrap/make-reverse4-files.pl index 184f6fc..88f7a37 100755 --- a/bootstrap/make-reverse4-files.pl +++ b/bootstrap/make-reverse4-files.pl @@ -44,6 +44,7 @@ if ( $role eq "master" ) } elsif ( $role eq "slave" ) { + open DFILE, ">" . $dhcp_revzones_file or die $!; open SFILE, ">" . $bind_sec_revzones_file or die $!; } else @@ -52,7 +53,9 @@ else } sub add_zone{ - my $rev_zone = $t_oct . "." . $s_oct . "." . $p_oct . ".in-addr.arpa"; + my $ptr_zone = Net::IP->new("$p_oct.$s_oct.$t_oct.0/24") or die ("dhcp_reverse fail"); + my $dhcp_ptr = $ptr_zone->reverse_ip(); + (my $bind_ptr = $dhcp_ptr) =~ s/\.$//; if ( $role eq "master" ) { @@ -60,7 +63,7 @@ sub add_zone{ # both bind9 and dhcp on master. print DFILE <<"EOF"; -zone "$rev_zone" { +zone $dhcp_ptr { primary $nms::config::ddns_to; key DHCP_UPDATER; } @@ -68,17 +71,17 @@ EOF print NFILE <<"EOF"; // $block -zone "$rev_zone" { +zone "$bind_ptr" { type master; allow-update { key DHCP_UPDATER; }; notify yes; allow-transfer { ns-xfr; ext-xfr; }; - file "reverse/$rev_zone.zone"; + file "reverse/$bind_ptr.zone"; }; EOF - my $zfilename = $bind_base . "reverse/" . $rev_zone . ".zone"; + my $zfilename = $bind_base . "reverse/" . $bind_ptr . ".zone"; open ZFILE, ">", $zfilename; print ZFILE <<"EOF"; @@ -96,7 +99,7 @@ EOF IN NS $nms::config::pri_hostname.$nms::config::tgname.gathering.org. IN NS $nms::config::sec_hostname.$nms::config::tgname.gathering.org. -\$ORIGIN $rev_zone. +\$ORIGIN $bind_ptr. EOF # add reverse if DNS-servers belong to zone @@ -114,10 +117,10 @@ EOF # if not master, aka slave print SFILE <<"EOF"; // $block -zone "$rev_zone" { +zone "$bind_ptr" { type slave; notify no; - file "slave/$rev_zone.cache"; + file "slave/$bind_ptr.cache"; masters { master_ns; }; allow-transfer { ns-xfr; ext-xfr; }; }; |