diff options
Diffstat (limited to 'bootstrap/make-named.pl')
-rwxr-xr-x | bootstrap/make-named.pl | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/bootstrap/make-named.pl b/bootstrap/make-named.pl deleted file mode 100755 index 9eaf592..0000000 --- a/bootstrap/make-named.pl +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/perl -I /root/tgmanage -use strict; -use NetAddr::IP; - -BEGIN { - require "include/config.pm"; - eval { - require "include/config.local.pm"; - }; -} - - -use Net::IP; -use Net::IP qw(:PROC); - -unless ( (($#ARGV == 0 ) || ( $#ARGV == 1)) - && (( $ARGV[0] eq "master" ) || ( $ARGV[0] eq "slave" )) ) -{ - print STDERR "Invalid usage!\ncat netnames.txt | $0 <master|slave> [basedir]\n"; - exit 1; -} - -my $role = $ARGV[0]; - -my $base = "/etc"; -$base = $ARGV[1] if $#ARGV == 1; -$base .= "/" if not $base =~ m/\/$/ and not $base eq ""; - -my $bind_base = $base . "bind/"; -my $named_file = $bind_base . "named.conf"; - -if ( -f $named_file ) -{ - print STDERR $named_file . " already exists. Cowardly refusing to continue.\n"; - exit; -} - -my $run = `date +%Y%m%d-%H%M`; - -open NFILE, ">" . $named_file or die ( $! . " " . $named_file ); - -chomp $run; -my $rec_net = join("; ", @nms::config::rec_net); -print NFILE <<EOF; -// This named.conf was generated by make-named.pl at $run -// The current version of make-named.pl should not overwrite this file. -acl tg-nett { $nms::config::base_ipv4net; $nms::config::base_ipv6net; $rec_net; 127.0.0.0/8; ::1; }; -acl ns-xfr { $nms::config::sec_v4; $nms::config::sec_v6; $nms::config::pri_v4; $nms::config::pri_v6; $nms::config::noc_net; }; -acl ext-xfr { $nms::config::ext_xfer; }; - -options { - directory "/etc/bind"; - allow-recursion { tg-nett; }; - allow-query { any; }; - allow-transfer { ns-xfr; }; - recursion yes; - auth-nxdomain no; - listen-on-v6 { any; }; - statistics-file "/etc/bind/named.rndc-stats"; -}; - -logging { - category "default" { "debug"; }; - category "general" { "debug"; }; - category "database" { "debug"; }; - category "security" { "debug"; "stats"; }; - category "config" { "debug"; "stats"; }; - category "resolver" { "debug"; "stats"; }; - category "xfer-in" { "debug"; "stats"; }; - category "xfer-out" { "debug"; "stats"; }; - category "notify" { "debug"; "stats"; }; - category "client" { "debug"; }; - category "unmatched" { "debug"; }; - category "network" { "debug"; }; - category "update" { "debug"; }; - category "queries" { "stats"; }; - category "dispatch" { "debug"; }; - category "dnssec" { "debug"; }; - category "lame-servers" { "debug"; }; - - channel "debug" { - file "/etc/bind/nameddbg" versions 2 size 50m; - print-time yes; - print-category yes; - print-severity yes; - severity debug 9; - }; - - channel "stats" { - file "/etc/bind/namedstats" versions 2 size 50m; - print-time yes; - print-category yes; - print-severity yes; - severity debug 3; - }; -}; - -key DHCP_UPDATER { - algorithm HMAC-MD5.SIG-ALG.REG.INT; - secret $nms::config::ddns_key; -}; -EOF - -if ( $role eq "master" ) -{ - print NFILE <<EOF; - -zone "$nms::config::tgname.gathering.org" { - type master; - file "$nms::config::tgname.gathering.org.zone"; - notify yes; - allow-transfer { ns-xfr; }; -}; - -zone "infra.$nms::config::tgname.gathering.org" { - type master; - file "infra.$nms::config::tgname.gathering.org.zone"; - notify yes; - allow-transfer { ns-xfr; }; -}; - -EOF - - # IPv6 PTR - foreach my $ipv6_net (NetAddr::IP->new($nms::config::base_ipv6net)->split(32)){ - my $ipv6 = Net::IP->new($ipv6_net); - (my $ipv6zone = $ipv6->reverse_ip()) =~ s/\.$//; - - - print NFILE <<EOF; -zone "$ipv6zone" { - type master; - allow-update { key DHCP_UPDATER; }; - notify yes; - file "$ipv6zone.zone"; - allow-transfer { ns-xfr; ext-xfr; }; -}; - -EOF - } - - print NFILE <<EOF; - -include "/etc/bind/named.conf.default-zones"; -include "named.reverse4.conf"; -include "named.master-include.conf"; -EOF - -} - -if ( $role eq "slave" ) -{ - print NFILE <<EOF; - -masters master_ns { $nms::config::pri_v6; $nms::config::pri_v4; }; - -zone "$nms::config::tgname.gathering.org" { - type slave; - file "slave/$nms::config::tgname.gathering.org"; - notify no; - masters { master_ns; }; -}; - -zone "infra.$nms::config::tgname.gathering.org" { - type slave; - file "slave/infra.$nms::config::tgname.gathering.org"; - notify no; - masters { master_ns; }; -}; - -EOF - - # IPv6 PTR - foreach my $ipv6_net (NetAddr::IP->new($nms::config::base_ipv6net)->split(32)){ - my $ipv6 = Net::IP->new($ipv6_net); - (my $ipv6zone = $ipv6->reverse_ip()) =~ s/\.$//; - - print NFILE <<EOF; -zone "$ipv6zone" { - type slave; - notify no; - masters { master_ns; }; - file "slave/$ipv6zone"; - allow-transfer { ns-xfr; ext-xfr; }; -}; - -EOF - } - - print NFILE <<EOF; - -include "named.conf.default-zones"; -include "named.slave-reverse4.conf"; -include "named.slave-include.conf"; -EOF -} |