aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/make-dhcpd6.pl
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/make-dhcpd6.pl')
-rwxr-xr-xbootstrap/make-dhcpd6.pl171
1 files changed, 0 insertions, 171 deletions
diff --git a/bootstrap/make-dhcpd6.pl b/bootstrap/make-dhcpd6.pl
deleted file mode 100755
index dc3f8b9..0000000
--- a/bootstrap/make-dhcpd6.pl
+++ /dev/null
@@ -1,171 +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 . "dhcpd6.conf";
-my $dhcpd_pxeconf = $dhcpd_base . "v6-pxe-boot.conf";
-my $dhcpd_wlc_conf = $dhcpd_base . "v6-wlc.conf";
-my $dhcpd_voip_conf = $dhcpd_base . "v6-voip.conf";
-
-my $sec_net = Net::IP->new($nms::config::sec_net_v6)->short();
-my ($sec_first, $sec_last) = ("8000", "9999");
-
-# Create PXE-boot configuration file for DHCP
-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-dhcpd6.pl
-
-# IPv6 address valid lifetime
-# (at the end the address is no longer usable by the client)
-# (usual IPv6 default is 30 days)
-default-lease-time 3600;
-
-# IPv6 address preferred lifetime
-# (at the end the address is deprecated, i.e., the client should use
-# other addresses for new connections)
-# (usual IPv6 default is 7 days)
-preferred-lifetime 3600;
-
-# T1, the delay before Renew
-# (default is 1/2 preferred lifetime)
-option dhcp-renewal-time 1800;
-
-# T2, the delay before Rebind (if Renews failed)
-# (default is 3/4 preferred lifetime)
-option dhcp-rebinding-time 1800;
-
-# Enable RFC 5007 support
-allow leasequery;
-
-# Set preference to 255 (maximum) in order to avoid waiting for
-# additional servers when there is only one
-option dhcp6.preference 255;
-
-# Server side command to enable rapid-commit (2 packet exchange)
-option dhcp6.rapid-commit;
-
-# The delay before information-request refresh
-# (minimum is 10 minutes, maximum one day, default is to not refresh)
-# (set to 6 hours)
-option dhcp6.info-refresh-time 21600;
-
-# Don't let clients set their own FQDN
-ignore client-updates;
-
-# disable ddns
-ddns-update-style none;
-
-# make server authorative
-authoritative;
-
-# Global definitions for name server address(es) and domain search list
-option domain-name "$nms::config::tgname.gathering.org";
-option dhcp6.name-servers $nms::config::pri_v6, $nms::config::sec_v6;
-
-key DHCP_UPDATER {
- algorithm HMAC-MD5.SIG-ALG.REG.INT;
- secret $nms::config::ddns_key;
-}
-
-subnet6 $nms::config::pri_net_v6 {}
-subnet6 $nms::config::sec_net_v6 {
- range6 ${sec_net}${sec_first} ${sec_net}${sec_last};
-}
-
-include "/etc/dhcp/v6-generated-include.conf";
-include "$dhcpd_pxeconf";
-#include "$dhcpd_wlc_conf";
-#include "$dhcpd_voip_conf";
-
-EOF
- close DHCPDFILE;
-}
-
-# Create PXE-boot configuration file for DHCP
-if ( not -f $dhcpd_pxeconf )
-{
- print STDERR "Creating file " . $dhcpd_pxeconf . "\n";
- open PXEFILE, ">" . $dhcpd_pxeconf or die ( $! . " " . $dhcpd_pxeconf);
-
- print PXEFILE <<"EOF";
-option dhcp6.bootfile-url code 59 = string;
-option dhcp6.client-arch-type code 61 = array of unsigned integer 16;
-
-if option dhcp6.client-arch-type = 00:07 {
- option dhcp6.bootfile-url "tftp://[$nms::config::pxe_server_v6]/bootx64.efi";
-} else {
- # support a hypothetical BIOS system that can PXE boot over IPv6
- option dhcp6.bootfile-url "tftp://[$nms::config::pxe_server_v6]/pxelinux.0";
-}
-
-EOF
-
- 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 AP;
-option AP.server-address code 241 = array of ip-address;
-set vendor-string = option vendor-class-identifier;
-
-class "access-points" {
- match if substring (option vendor-class-identifier, 0, 8) = "Access Point";
- vendor-option-space AP;
- option AP.server-address $nms::config::wlc1_v6;
-}
-EOF
- close WLCFILE;
-}
-
-# Create VoIP config
-if ( not -f $dhcpd_voip_conf )
-{
- print STDERR "Creating file " . $dhcpd_voip_conf . "\n";
- open VOIPFILE, ">" . $dhcpd_voip_conf or die ( $! . " " . $dhcpd_voip_conf);
-
- print VOIPFILE <<"EOF";
-option space CiscoVOIP;
-option CiscoVOIP.cm-tftp-server code 150 = array of ip-address;
-
-class "cisco-voip-lan" {
- match if substring (option vendor-class-identifier, 0, 28) = "Cisco Systems, Inc. IP Phone";
- vendor-option-space CiscoVOIP;
- log( info, concat( "LOLOPHONE: " , option vendor-class-identifier ));
- option CiscoVOIP.cm-tftp-server $nms::config::voip1_v6;
- next-server $nms::config::voip1_v6;
-}
-
-class "cisco-voip-wlan" {
- match if substring (option vendor-class-identifier, 0, 33) = "Cisco Systems Inc. Wireless Phone";
- vendor-option-space CiscoVOIP;
- log( info, concat( "BANANAPHONE: " , option vendor-class-identifier ));
- option CiscoVOIP.cm-tftp-server $nms::config::voip1_v6;
- next-server $nms::config::voip1_v6;
-}
-EOF
- close VOIPFILE;
-}
-