]> git.sesse.net Git - nms/commitdiff
Add a small script to parse dhcpd.log and make IPv6-zones.
authorroot <root@sysrq>
Sat, 7 Apr 2007 16:29:40 +0000 (18:29 +0200)
committerroot <root@sysrq>
Sat, 7 Apr 2007 16:29:40 +0000 (18:29 +0200)
clients/dhcpv6gen.pl [new file with mode: 0644]

diff --git a/clients/dhcpv6gen.pl b/clients/dhcpv6gen.pl
new file mode 100644 (file)
index 0000000..83db735
--- /dev/null
@@ -0,0 +1,30 @@
+open PATCHLIST, "/root/nms/switches.txt"
+       or die "switches.txt: $!";
+my %vlans = ();
+
+while (<PATCHLIST>) {
+       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;
+}
+