diff options
Diffstat (limited to 'tools/make-dhcpd.pl')
-rwxr-xr-x | tools/make-dhcpd.pl | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/tools/make-dhcpd.pl b/tools/make-dhcpd.pl deleted file mode 100755 index d734c1d..0000000 --- a/tools/make-dhcpd.pl +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/perl -I /root/tgmanage -use strict; - -use Net::IP; - -BEGIN { - require "include/config.pm"; - eval { - require "include/config.local.pm"; - }; -} - -my $base = "/etc"; -$base = $ARGV[0] if $#ARGV > -1; -$base .= "/" if not $base =~ m/\/$/ and not $base eq ""; - -my $dhcpd_base = $base . "dhcp/"; -my $dhcpd_conf = $dhcpd_base . "dhcpd.conf"; -my $dhcpd_pxeconf = $dhcpd_base . "pxe-boot.conf"; -my $dhcpd_wlc_conf= $dhcpd_base . "wlc-conf.conf"; - -# primary -my $pri_range = Net::IP->new($nms::config::pri_net) or die ("oopxos"); -my $pri_mask = $pri_range->mask(); -my $pri_net = $pri_range->ip(); - -# secondary -my $sec_range = Net::IP->new($nms::config::sec_net) or die ("oopxos"); -my $sec_mask = $sec_range->mask(); -my $sec_net = $sec_range->ip(); - -# Create PXE-boot configuration file for DHCP on master. -if ( not -f $dhcpd_conf ) -{ - print STDERR "Creating file " . $dhcpd_conf . "\n"; - open DHCPDFILE, ">" . $dhcpd_conf or die ( $! . " " . $dhcpd_conf); - - print DHCPDFILE <<"EOF"; -# GENERATED BY make-dhcpd.pl -# -# Central concept: as little config in the main .conf, -# include almost everything from separate files.. -# -# log-facility local7; -option domain-name "$nms::config::tgname.gathering.org"; -option domain-name-servers $nms::config::pri_v4, $nms::config::sec_v4; -default-lease-time 3600; -max-lease-time 7200; -authoritative; - -ddns-update-style interim; -key DHCP_UPDATER { - algorithm HMAC-MD5.SIG-ALG.REG.INT; - secret $nms::config::ddns_key; -} - -subnet $pri_net netmask $pri_mask {} -subnet $sec_net netmask $sec_mask {} - -include "/etc/dhcp/revzones.conf"; -include "/etc/dhcp/generated-include.conf"; -include "$dhcpd_pxeconf"; -include "$dhcpd_wlc_conf"; - -EOF - close DHCPDFILE; -} - -# Create PXE-boot configuration file for DHCP on master. -if ( not -f $dhcpd_pxeconf ) -{ - print STDERR "Creating file " . $dhcpd_pxeconf . "\n"; - open PXEFILE, ">" . $dhcpd_pxeconf or die ( $! . " " . $dhcpd_pxeconf); - - print PXEFILE "next-server " . $nms::config::pxe_server . ";\n"; - print PXEFILE "filename \"pxelinux.0\";\n"; - - close PXEFILE; -} - - -# Create WLC configuration file -if ( not -f $dhcpd_wlc_conf ) -{ - print STDERR "Creating file " . $dhcpd_wlc_conf . "\n"; - open WLCFILE, ">" . $dhcpd_wlc_conf or die ( $! . " " . $dhcpd_wlc_conf); - - print WLCFILE <<"EOF"; -option space CiscoAP; -option CiscoAP.server-address code 241 = array of ip-address; -set vendor-string = option vendor-class-identifier; - -class "cisco-aps" { - match if substring (option vendor-class-identifier, 0, 8) = "Cisco AP"; - vendor-option-space CiscoAP; - option CiscoAP.server-address $nms::config::wlc1; -} -EOF - close WLCFILE; -} - |