X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=config%2Fmake-dhcpd.pl;h=3da7111372d9d43ec784ddc34ceeac09b62bd3de;hb=23344eda0979f5e23d5fd016ef4903f7dc572e63;hp=9ca1edf685a11b0626b248653677798b8f877e06;hpb=ff83c67935bd1537bc0555b2c2e8eaf8963f8412;p=nms diff --git a/config/make-dhcpd.pl b/config/make-dhcpd.pl index 9ca1edf..3da7111 100755 --- a/config/make-dhcpd.pl +++ b/config/make-dhcpd.pl @@ -1,43 +1,54 @@ #! /usr/bin/perl -w use strict; -# les inn nettnavn -my %netnames = (); -my %netmasks = (); +my $date = `date --rfc-2822`; +chomp $date; + 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; + /87\.76\.(\d+\.\d+)\s+(\d+)\s+(\S+)/ or next; + push @nets, { + net => $1, + netmask => $2, + name => $3 + }; } print <<"EOF"; -# Autogenerated by make-dhcpd.pl. Do not edit manually! +# Autogenerated by make-dhcpd.pl at $date. Do not edit manually! + +option domain-name "tg07.gathering.org"; +option domain-name-servers 87.76.254.2, 87.76.255.2; -option domain-name "tg05.gathering.org"; -option domain-name-servers 81.162.254.2, 81.162.254.76; +# Netboot FTW +next-server 87.76.255.18; +filename "/pxelinux.0"; ddns-update-style interim; +omapi-port 7911; +# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST DHCP_UPDATER key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; - secret removed; + secret F388UOhaIIKHRH9TDE5PTA==; } default-lease-time 14400; max-lease-time 28800; -# Servernett -subnet 81.162.254.0 netmask 255.255.255.192 { +# Tele-nett +subnet 87.76.254.0 netmask 255.255.255.0 { } -subnet 81.162.254.64 netmask 255.255.255.192 { + +# Server-nett +subnet 87.76.255.0 netmask 255.255.255.0 { + range 87.76.255.240 87.76.255.254; } -zone 162.81.in-addr.arpa. { +zone 76.87.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; } @@ -45,54 +56,44 @@ zone 162.81.in-addr.arpa. { EOF for my $net (@nets) { - my $domain = $netnames{$net}; + my $domain = $net->{name}; my ($netmask, $numpc); - if ($netmasks{$net} == 24) { + if ($net->{netmask} == 24) { $netmask = "255.255.255.0"; $numpc = 256; - } elsif ($netmasks{$net} == 25) { + } elsif ($net->{netmask} == 25) { $netmask = "255.255.255.128"; $numpc = 128; - } elsif ($netmasks{$net} == 26) { + } elsif ($net->{netmask} == 26) { $netmask = "255.255.255.192"; $numpc = 64; } else { - die "Unknown netmask /$netmasks{$net}"; + die "Unknown netmask /" . $net->{netmask}; } - $net =~ /(\d+)\.(\d+)/ or die "Unknown net $net"; + $net->{net} =~ /(\d+)\.(\d+)/ or die "Unknown net $net"; my ($majorsubnet,$minorsubnet) = ($1,$2); - - my $gw = "81.162.$majorsubnet." . ($minorsubnet + 1); - my $rangestart = "81.162.$majorsubnet." . ($minorsubnet + 10); - my $rangeend = "81.162.$majorsubnet." . ($minorsubnet + $numpc - 2); + + # FIXME: Should use Net::CIDR + my $gw = "87.76.$majorsubnet." . ($minorsubnet + 1); + my $rangestart = "87.76.$majorsubnet." . ($minorsubnet + 10); + my $rangeend = "87.76.$majorsubnet." . ($minorsubnet + $numpc - 2); print <<"EOF"; -zone $domain.tg05.gathering.org. { +zone $domain.tg07.gathering.org. { primary 127.0.0.1; key DHCP_UPDATER; } -subnet 81.162.$net netmask $netmask { +subnet 87.76.$net->{net} netmask $netmask { authoritative; - range $rangestart $rangeend; option routers $gw; - option domain-name "$domain.tg05.gathering.org"; - ddns-domainname "$domain.tg05.gathering.org"; + range $rangestart $rangeend; + option domain-name "$domain.tg07.gathering.org"; + ddns-domainname "$domain.tg07.gathering.org"; ignore client-updates; +} EOF - - # hack for sesse =) - if ($net eq '250.0') { - print <<"EOF"; - host trofast { - hardware ethernet 00:0e:0c:36:a7:66; - filename "/pxelinux.0"; - next-server 81.162.254.89; - } -EOF - } - - print "}\n"; } +