diff options
author | Joachim Tingvold <joachim@tingvold.com> | 2015-03-21 18:21:18 +0100 |
---|---|---|
committer | Joachim Tingvold <joachim@tingvold.com> | 2015-03-21 18:21:18 +0100 |
commit | 6bf0be13c4ac46f612251eb13cf2b23f94441cc5 (patch) | |
tree | 5e19ce59095e3a9def48822f888da8a739486130 /tools/make-dhcpd.pl | |
parent | 4184848fa3e4f776da1b959c9ba48f4282e82108 (diff) |
TG15 Spring cleanup.
Diffstat (limited to 'tools/make-dhcpd.pl')
-rwxr-xr-x | tools/make-dhcpd.pl | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/tools/make-dhcpd.pl b/tools/make-dhcpd.pl index 3a5db21..d734c1d 100755 --- a/tools/make-dhcpd.pl +++ b/tools/make-dhcpd.pl @@ -2,7 +2,6 @@ use strict; use Net::IP; -use Net::IP qw(:PROC); BEGIN { require "include/config.pm"; @@ -17,21 +16,18 @@ $base .= "/" if not $base =~ m/\/$/ and not $base eq ""; my $dhcpd_base = $base . "dhcp/"; my $dhcpd_conf = $dhcpd_base . "dhcpd.conf"; -my $dhcp_pxeconf = $dhcpd_base . "pxe-boot.conf"; -my $dhcp_ciscoapconf = $dhcpd_base . "ciscowlc.conf"; +my $dhcpd_pxeconf = $dhcpd_base . "pxe-boot.conf"; +my $dhcpd_wlc_conf= $dhcpd_base . "wlc-conf.conf"; -my $tgname = $nms::config::tgname; -my $pri_v4 = $nms::config::pri_v4; -my $pri_net = $nms::config::pri_net; -my $sec_v4 = $nms::config::sec_v4; -my $pxe_server = $nms::config::pxe_server; -my $ddns_key = $nms::config::ddns_key; -my $ciscowlc_a = $nms::config::ciscowlc_a; - -my $range = new Net::IP( $pri_net ) or die ("oopxos"); -my $mask = $range->mask(); -my ($net, undef) = split "/", $pri_net; +# 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 ) @@ -46,8 +42,8 @@ if ( not -f $dhcpd_conf ) # include almost everything from separate files.. # # log-facility local7; -option domain-name "$tgname.gathering.org"; -option domain-name-servers $pri_v4, $sec_v4; +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; @@ -55,40 +51,41 @@ authoritative; ddns-update-style interim; key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; - secret $ddns_key; + secret $nms::config::ddns_key; } -subnet $net netmask $mask {} +subnet $pri_net netmask $pri_mask {} +subnet $sec_net netmask $sec_mask {} include "/etc/dhcp/revzones.conf"; include "/etc/dhcp/generated-include.conf"; -include "/etc/dhcp/pxe-boot.conf"; -include "/etc/dhcp/ciscowlc.conf"; +include "$dhcpd_pxeconf"; +include "$dhcpd_wlc_conf"; EOF close DHCPDFILE; } # Create PXE-boot configuration file for DHCP on master. -if ( not -f $dhcp_pxeconf ) +if ( not -f $dhcpd_pxeconf ) { - print STDERR "Creating file " . $dhcp_pxeconf . "\n"; - open PXEFILE, ">" . $dhcp_pxeconf or die ( $! . " " . $dhcp_pxeconf); + print STDERR "Creating file " . $dhcpd_pxeconf . "\n"; + open PXEFILE, ">" . $dhcpd_pxeconf or die ( $! . " " . $dhcpd_pxeconf); - print PXEFILE "next-server " . $pxe_server . ";\n"; + print PXEFILE "next-server " . $nms::config::pxe_server . ";\n"; print PXEFILE "filename \"pxelinux.0\";\n"; close PXEFILE; } -# Create PXE-boot configuration file for DHCP on master. -if ( not -f $dhcp_ciscoapconf ) +# Create WLC configuration file +if ( not -f $dhcpd_wlc_conf ) { - print STDERR "Creating file " . $dhcp_ciscoapconf . "\n"; - open CISCOFILE, ">" . $dhcp_ciscoapconf or die ( $! . " " . $dhcp_pxeconf); + print STDERR "Creating file " . $dhcpd_wlc_conf . "\n"; + open WLCFILE, ">" . $dhcpd_wlc_conf or die ( $! . " " . $dhcpd_wlc_conf); - print CISCOFILE <<"EOF"; + print WLCFILE <<"EOF"; option space CiscoAP; option CiscoAP.server-address code 241 = array of ip-address; set vendor-string = option vendor-class-identifier; @@ -96,9 +93,9 @@ 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 $ciscowlc_a; + option CiscoAP.server-address $nms::config::wlc1; } EOF - close CISCOFILE; + close WLCFILE; } |