NAME

cisconf - Cisco configuration management via TFTP

SYNOPSIS

cisconf -a <conf>
cisconf -d <conf>
cisconf -e <conf> [-n]
cisconf -r <conf>
cisconf -l <conf>
cisconf -s <conf> [-w]
cisconf -i
cisconf -h
cisconf -v

DESCRIPTION

The cisconf utility allows to maintain a a set of Cisco router configurations as files. Configuration files can be loaded from routers or saved into routers by using a local TFTP server.

Adding router configurations

Usually you start with adding router configurations to the config file, ~etc_dir~/configuration. This is done by invoking

cisconf -a <conf>

where <conf> is a short and unique name for the configuration you like to add.

The script will ask you some questions interactively and allow you to enter the new routers settings, in particular the IP address, the login username, the login and enable password, a description and a list of users that are allowed to manage the router.

Deleting router configurations

You can remove a given router configuration with

cisconf -d <conf>

where <conf> is the name you gave the router when invoking cisconf -a <conf>.

Editing router configurations

Router configurations can be edited with

cisconf -e <conf> [-n]

This will invoke the editor from the environment variable EDITOR. If you didn't set this variable, the first editor from the editors list in the configuration file ~etcdir~/configuration is used.

After you have modified the configuration, the revision control system will be invoked, unless you specify the option -n. Revision control will be done by using the command from the ci attribute in the configuration file.

Printing a router configuration

The command

cisconf -p <conf>

will print the configuration file of the given router to stdout.

Loading a configuration file from the router

The best starting point for creating a new configuration is of course loading the current configuration of the router. This is done by invoking the command

copy running-config tftp

on the router and storing the configuration on the local TFTP server. The command

cisconf -l <conf>

will do that for you, creating the file ~tftp_dir~/<conf<gt.conf>.

Of course this requires an appropriately configured TFTP server with write permissions in the directory ~tftp_dir~.

Storing a configuration file on the router

The counterpart of the -l option is

cisconf -s <conf> [-w]

This will read the file ~etcdir~/<conf<gt.conf>, strip comments and empty lines and store the result in ~etcdir~/<conf<gt.conf>. The latter file will then be stored on the router by executing the command

copy tftp running-config

Note, that by default the new configuration is not written into the non-volatile memory of the router! The option -w modifies this behaviour by executing the command

write memory

on the router, if the configuration has successfully be stored on the router.

Listing router configurations

The command

cisconf -i

will print a list of all router configurations accessible by the current user.

Printing a help message

You get a short help message by invoking

cisconf -h

Version number

The command

cisconf -v

will print the programs version number and exit immediately.

AUTHOR AND COPYRIGHT

This program is

Copyright (C) 1998    Jochen Wiedmann
                      Am Eisteich 9
                      72555 Metzingen
                      Germany

                      Phone: +49 7123 14887
                      Email: joe@ispsoft.de

All rights reserved.

You may distribute this module under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.

SEE ALSO

Cisco::Conf(3), Cisco::Conf::Install(3), tftpd(8)

EOF

require Cisco::Conf; my $config = Cisco::Conf->_ReadConfigFile('configuration');

require Config; $config->{'startperl'} = $Config::Config{'startperl'};

$script =~ s/\~(\w+)\~/$config->{$1}/eg;

if (!open(FILE, ">cisconf") || !print FILE ($script) || !close(FILE)) { die "Error while writing cisconf script: $!"; }