]> git.sesse.net Git - nms/blob - clients/ciscong.pl
The start of the cisco part of zyxelNG.
[nms] / clients / ciscong.pl
1 #!/usr/bin/perl
2 #
3 #
4
5 use warnings;
6 use strict;
7
8 use lib '../include';
9
10 use Net::Telnet::Cisco;
11
12 use Data::Dumper;
13
14
15 BEGIN {
16         require "../include/config.pm";
17         eval {
18                 require "../include/config.local.pm";
19         };
20 }
21
22 sub ios_getroute {
23         my ($t, $net) = @_;
24
25         $t->cmd("show ip route".($net ? " $net" : '')) or return 0;;
26         
27         return 1;
28 }
29
30 my $ios_server = "noc-gw.net.tg07.gathering.org";
31 my $vlannumber = 16;
32
33 #my $ios = nms::ios_connect($ios_server, $nms::config::ios_user, $nms::config::ios_pass)
34 #       or die "Unable to connect to cisco";
35
36 my $ios = Net::Telnet::Cisco->new(Host => $ios_server,
37                                   Errmode => 'return',
38                                   Prompt => '/[^\s]+(\([^\(]\)){0,1}[#>]/');
39 $ios->login($nms::config::ios_user, $nms::config::ios_pass);
40 $ios->enable;
41
42 #nms::ios_enable($ios);
43 #$ios->cmd();
44 #nms::ios_getroute($ios, "192.168.1.0");
45 #$ios->cmd("");
46
47 #nms::ios_close($ios);
48
49 # Disable paging
50 $ios->cmd("terminal length 0");
51
52 #my @routes = $ios->cmd("show ip route");
53
54 die "Already routed up 192.168.1.0/24" if (ios_getroute($ios, "192.168.1.0") == 0);
55
56
57
58 $ios->cmd("conf t");
59 $ios->cmd("int vlan $vlannumber");
60 $ios->cmd("ip add 192.168.1.254 255.255.255.0 secondary");
61 $ios->cmd("exit");
62 $ios->cmd("exit");
63
64 ### Do things
65
66 $ios->cmd("conf t");
67 $ios->cmd("int vlan $vlannumber");
68 $ios->cmd("ip add 192.168.1.254 255.255.255.0 secondary");
69 $ios->cmd("no ip add 192.168.1.254 255.255.255.0 secondary");
70
71 $ios->close();
72
73