From ec7c8cc04058bb8b9e921ae529f523d381808caf Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Apr 2007 18:29:40 +0200 Subject: [PATCH] Add a small script to parse dhcpd.log and make IPv6-zones. --- clients/dhcpv6gen.pl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 clients/dhcpv6gen.pl diff --git a/clients/dhcpv6gen.pl b/clients/dhcpv6gen.pl new file mode 100644 index 0000000..83db735 --- /dev/null +++ b/clients/dhcpv6gen.pl @@ -0,0 +1,30 @@ +open PATCHLIST, "/root/nms/switches.txt" + or die "switches.txt: $!"; +my %vlans = (); + +while () { + if (/87\.76\.(\d+)\.(\d+) 26 e(\d+)-(\d+)/) { + my $vlannum = $3.$4; + my $helper = "87.76.$1." . ($2+1); + my $name = "e$3-$4"; + my $z = sprintf "f%03u", $vlannum; + $z =~ /(.)(.)(.)(.)/; $vlans{$helper} = [ $vlannum, $name, "$4.$3.$2.$1" ]; + } +} + +while (<>) { + /DHCPOFFER on 87.76.\d+.\d+ to 00:(.)(.):(.)(.):(.)(.):(.)(.):(.)(.) \((.*?)\) via (\d+\.\d+\.\d+\.\d+)/ or next; + my $v = $vlans{$12}; + open NSUPDATE, "| nsupdate -y DHCP_UPDATER:F388UOhaIIKHRH9TDE5PTA=="; + print NSUPDATE <<"EOF"; +server 127.0.0.1 +update delete $11.v6.$v->[1].tg07.gathering.org. AAAA +update add $11.v6.$v->[1].tg07.gathering.org. 3600 AAAA 2001:16d8:ffff:f$v->[0]:02$1$2:$3$4ff:fe$5$6:$7$8$9$10 +send +update delete $10.$9.$8.$7.$6.$5.e.f.f.f.$4.$3.$2.$1.2.0.$v->[2].f.f.f.f.8.d.6.1.1.0.0.2.ip6.arpa. PTR +update add $10.$9.$8.$7.$6.$5.e.f.f.f.$4.$3.$2.$1.2.0.$v->[2].f.f.f.f.8.d.6.1.1.0.0.2.ip6.arpa. 3600 PTR $11.v6.$v->[1].tg07.gathering.org. +send +EOF + close NSUPDATE; +} + -- 2.39.2