aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/make-reverse4-files.pl
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/make-reverse4-files.pl')
-rwxr-xr-xbootstrap/make-reverse4-files.pl19
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; };
};