X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=config%2Fmake-dhcpd.pl;h=3da7111372d9d43ec784ddc34ceeac09b62bd3de;hb=40d6c7e02855fa3bb3cf35805efe853051c88ea5;hp=2cac76e19d930221d05f6851c2471b0a00d968ea;hpb=65108155d988bf91c746d9b5f11f2e64ebe83ff8;p=nms diff --git a/config/make-dhcpd.pl b/config/make-dhcpd.pl index 2cac76e..3da7111 100755 --- a/config/make-dhcpd.pl +++ b/config/make-dhcpd.pl @@ -1,46 +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; - /194\.0\.(\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 "tg06.gathering.org"; -option domain-name-servers 194.0.254.2; +# Netboot FTW +next-server 87.76.255.18; +filename "/pxelinux.0"; -# ddns-update-style none; 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; # Tele-nett -subnet 194.0.254.0 netmask 255.255.255.0 { +subnet 87.76.254.0 netmask 255.255.255.0 { } # Server-nett -subnet 194.0.255.0 netmask 255.255.255.0 { +subnet 87.76.255.0 netmask 255.255.255.0 { + range 87.76.255.240 87.76.255.254; } -zone 0.194.in-addr.arpa. { +zone 76.87.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; } @@ -48,54 +56,44 @@ zone 0.194.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 = "194.0.$majorsubnet." . ($minorsubnet + 1); - my $rangestart = "194.0.$majorsubnet." . ($minorsubnet + 10); - my $rangeend = "194.0.$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.tg06.gathering.org. { +zone $domain.tg07.gathering.org. { primary 127.0.0.1; key DHCP_UPDATER; } -subnet 194.0.$net netmask $netmask { +subnet 87.76.$net->{net} netmask $netmask { authoritative; - range $rangestart $rangeend; option routers $gw; - option domain-name "$domain.tg06.gathering.org"; - ddns-domainname "$domain.tg06.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 194.0.254.89; -# } -#EOF - } - - print "}\n"; } +