From: Steinar H. Gunderson Date: Sun, 9 Apr 2006 19:29:56 +0000 (+0000) Subject: Added make-named.pl from TG05. X-Git-Url: https://git.sesse.net/?p=nms;a=commitdiff_plain;h=aac78bf951fa0993e93eb93b268ad738d6b01a46 Added make-named.pl from TG05. --- diff --git a/config/make-named.pl b/config/make-named.pl new file mode 100755 index 0000000..e8d8780 --- /dev/null +++ b/config/make-named.pl @@ -0,0 +1,107 @@ +#! /usr/bin/perl -w +use strict; + +# les inn nettnavn +my %netnames = (); +my %netmasks = (); +my @nets = (); +open NAMES, "switches.txt" +or die "switches.txt: $!"; +while () { + chomp; + /81\.162\.(\d+\.\d+)\s+(\d+)\s+(\S+)/ or next; + $netmasks{$1} = $2; + $netnames{$1} = $3; + push @nets, $1; +} + +print <<"EOF"; +// Autogenerated by make-named.pl. Do not edit manually! + +options { + directory "/etc/bind"; + allow-query { any; }; + allow-transfer { 194.19.3.20; 81.162.254.76; }; + auth-nxdomain no; + recursion yes; + + forwarders { 194.19.2.11; 194.19.3.11; }; + forward only; +}; + +zone "." { type hint; file "db.root"; }; + +zone "0.0.127.in-addr.arpa" { + type master; + file "0.0.127.in-addr.arpa"; + notify no; +}; + +zone "tg05.gathering.org" { + type master; + file "tg05.gathering.org"; + notify yes; + allow-transfer { 81.162.254.76; }; +}; +zone "www.gathering.org" { + type master; + file "www.gathering.org"; + notify yes; + allow-transfer { 81.162.254.76; }; +}; + +// serversubnett +zone "254.162.81.in-addr.arpa" { + type master; + file "254.162.81.in-addr.arpa"; + notify yes; + allow-transfer { 81.162.254.76; 193.0.0.0/22; }; +}; + +zone "162.81.in-addr.arpa" { + type master; + allow-update { key DHCP_UPDATER; }; + notify yes; + file "dynamic/162.81.in-addr.arpa"; + allow-transfer { 194.19.3.20; 81.162.254.76; 193.0.0.0/22; }; +}; + +key DHCP_UPDATER { + algorithm HMAC-MD5.SIG-ALG.REG.INT; + secret removed; +}; + +EOF + +for my $net (@nets) { + my $domain = $netnames{$net}; + + my ($netmask, $numpc); + if ($netmasks{$net} == 24) { + $netmask = "255.255.255.0"; + $numpc = 256; + } elsif ($netmasks{$net} == 25) { + $netmask = "255.255.255.128"; + $numpc = 128; + } elsif ($netmasks{$net} == 26) { + $netmask = "255.255.255.192"; + $numpc = 64; + } else { + die "Unknown netmask /$netmasks{$net}"; + } + + $net =~ /(\d+)\.(\d+)/ or die "Unknown net $net"; + my ($majorsubnet,$minorsubnet) = ($1,$2); + + my $gw = "82.162.$majorsubnet." . ($minorsubnet + 1); + + print <<"EOF"; +zone "$domain.tg05.gathering.org" { + type master; + allow-update { key DHCP_UPDATER; }; + notify yes; + file "dynamic/$domain.tg05.gathering.org"; + allow-transfer { 194.19.3.20; 81.162.254.76; }; +}; +EOF +}