Is there such a thing as a Cisco config checker, to allow off-line editing
of Cisco configs and check them before they're uploaded to the router?
Preferrably something that could be used in a Web/Unix environment as a
filter.
If not, does anyone know of a source for a complete definition of Cisco
configuration language, in some kind of standardized format, so I could
possibly generate a config-checker myself?
Thanks.
Pete.
Ciscoworks. It's nice and GUI - you config the router as you build a
network diagram.
- -
James D. Wilson
"non sunt multiplicanda entia praeter necessitatem"
William of Ockham (1285-1347/49)
- -----Original Message-----
We have cisco config analyser (it built the object tree) but it's not
more than BETA. I have idea to write good self-edicated analyser but this
idea is discussed only now.
Anyway, any sources (library on the PERL, I think) helping to build such
checkers and analysers will be appresiated. It's not too difficult to
built such analyser, but it's nessesary to keep config data base
up-to-date because IOS changes every day...
THis analyser was written by Julia Pasynkova, you can ask her by e-mail
(julp@relcom.EU.net) - the ideas was of me and of her, and the code (on
the PERL) was written by her. But I think it's model only because it does
not use external data base we can to keep up-to-date.
Unfortunately, our attempts to search such tools resulted to nothing.
Actually
What you maybe looking for is Cisco's NetSys Connectivity product
(Baseliner). It has a configuration checking capability that will check
router configurations off line prior to rolling them out.
If connected to the Network it also has the capability of
1.) automatically harvesting router configs (with or without CiscoWorks)
2.) Test configurations and changes offline before committing them to the
live network.
3.) rolling them out to routers
4.) Providing network layout diagrams (generated from configs). Graphically
views of your network as configured, not as planned or discovered.
5.) Proactively monitor configuration changes.
Check it out on
http://www.cisco.com/warp/customer/734/baseliner/index.shtml
_Thomas
What you maybe looking for is Cisco's NetSys Connectivity product
(Baseliner).
of all these cute GUI products, which understands configs used by real ISPs
on real routers with current ISP images? when last i looked, the answer was
the null set.
randy
It's amazing but I know noone who use CiscoWork in real ISP's life. A lot
of people arpund tried it, no one use it.
On the other hand, a lot of people does use 'ciscotalk' + 'load from the
file', with autho-generated configs.
What's about NetSys - if it was the constructor (library) and was not so
expansive - it was an excellent product, just now it's useless fro the
ISP. What does I need is something like grammar skeleton (on yacc or on
perl+some special lib) and some up-to-date keeping mechanism. I (and no
other ISP) need to build graphs by their IOS configs, but we need to load
config from the router into the file, divide it to the structured form
(by the objects and by the customers), name access lists and other
objects, store this objects in the universal format, collect all objects
you need if you add something new, know how to delete subintarface or how
to change the number of slots in Serial0/1:22 at the CE1 card (try to do
it _directly_ and you got _PANIC_ message), etc etc... Tools, not the
product from some company who do not work with ISP directly.
It's amazing - how do you think CISCO solved the problem _how to support
TELCO_? (It's my personal opinion, never confidential). If I am correct,
they are talking a lot about new _total database, LDAP, etc etc_ tools,
then show something like (ALPHA(ALPHA(BETA(revision))) system, then ask
TELCOM _do you want support? Pay as and we'll connect Cisco engeneer to
you and he do everything himself_... And it's really the best they should
do - really, TELCOM need the result, no important will it be _engeneer_
or the program...
What do I mean as _STRUCTURE_? First, config consists of the objects -
base part and the set of the customers, every customer refer to the
INTERFACE and ROUTING_, any object can refer to _ACCESS-LIST
GLOBAL::SNMP_RESTRICT_ for example, etc etc... Moreover, BGP description
(for example) which is the single obkject in CISCO consist of a lot of
objects (everything concerning distinct peer is distinct object_. And so
on. You should build data base by IOS config, and then you should change
any _data base_ (-> config -> load_config_into_IOS_) and config
(load_config_into_DBA and re-link new objects to teh old names). And
where does this tools exist?
for two+ years, i have been asking cisco for a simple text-based tool that
can take two configs and generate the command set to get from the first to
the second. i.e. a semantic differ.
as syntax (and occasionally semantics) changes release to release, a version
of the code would have to come with each image set.
note that this would go a way to compete with the really nice behavior of
gated-like systems, e.g. juniper, which, when given a new configuration,
does not thrash all your bgp sessions etc., but slides smoothly to the new
state.
randy
for two+ years, i have been asking cisco for a simple text-based tool that
can take two configs and generate the command set to get from the first to
the second. i.e. a semantic differ.
We have such tool (I estimate it as _ALPHA_), our neighbour RELARN have
another example of this tool (simple but faster).
I think there is a lot of such tools written everywhere _for internal
usage_ and withouth documentation.
as syntax (and occasionally semantics) changes release to release, a version
of the code would have to come with each image set.
It's the dream... -
If all Cisco's managers stop to be managers and
remember their young years when they was (if was) small ISP's systadmins
and so on, then... -:).
note that this would go a way to compete with the really nice behavior of
gated-like systems, e.g. juniper, which, when given a new configuration,
does not thrash all your bgp sessions etc., but slides smoothly to the new
state.
Don't remind me GATED, please -:(... strict language, well defined
syntax... I does use it to learn students...
But how can I explain such command (for example):
async default routing
or something more terrible...? On the other hand, it's a lot of pleasant
in IOS's behaviour...
Happy New Year, btw.
randy
Aleksei Roudnev, Network Operations Center, Relcom, Moscow
(+7 095) 194-19-95 (Network Operations Center Hot Line),(+7 095) 239-10-10, N 13729 (pager)
(+7 095) 196-72-12 (Support), (+7 095) 194-33-28 (Fax)
Moreover, it'd be nice if Cisco would post concise rules of the
CLI interpreter (ie. what commands work in what context(s))
or even license it to third parties who want to write their
own config checkers. This would be a vast improvement to poring
through gobs of tedious (and out of date) documentation to tease
out what you want.
Of course, publishing for the various builds would be necessary
for such an approach to be worthwhile.
They wouldn't even have to reveal the "hidden" commands. 
Tony
Simpler idea - we hardly need config help based on UNIX system - for
boths educational and configuration purposes.
And, btw, I do not think their config syntax contain some great secrets
- it's an example of clue-less (may be I have used wrong word) language.
Sometimes you guess you'v got the point and can predict new command - and
when this command appear it's discovered you was wrong... -
There are 4 commercially available products I know of that will do off-line
router configurations:
1. CiscoWorks
2. Cisco ConfigMaker
3. Go Figure! (for Palm Pilots)
4. RouterAssistant
The caveat here is that these products probably won't handle the
"industrial strength" configuration parameters that would be required in an
ISP environment and also have limited platform support. They might be
worth a look, though, since some can also help with configuration
management tasks.
If you're interested, you can find links to them in the IOS section of my
web page:
http://www.clark.net/pub/rbenn/cisco.html#ios-config
Randy
Randall S. Benn http://www.clark.net/pub/rbenn (rbenn@clark.net) on January 7:
There are 4 commercially available products I know of that will do off-line
router configurations:
And there are also some free ones. RtConfig
(http://www.isi.edu/ra/RAToolSet) is being used to configure many
small and large ISP routers.
(I could not resist to advertise a "free" product.)
1. CiscoWorks
2. Cisco ConfigMaker
3. Go Figure! (for Palm Pilots)
4. RouterAssistant
The caveat here is that these products probably won't handle the
"industrial strength" configuration parameters that would be required in an
ISP environment and also have limited platform support. They might be
worth a look, though, since some can also help with configuration
management tasks.
If you're interested, you can find links to them in the IOS section of my
web page:
http://www.clark.net/pub/rbenn/cisco.html#ios-config
Randy
------------------------------------------------------------------
"Cisco Systems In A Nutshell"
http://www.clark.net/pub/rbenn/cisco.html
------------------------------------------------------------------
>Is there such a thing as a Cisco config checker, to allow off-line editing
>of Cisco configs and check them before they're uploaded to the router?
>Preferrably something that could be used in a Web/Unix environment as a
>filter.
>
>If not, does anyone know of a source for a complete definition of Cisco
>configuration language, in some kind of standardized format, so I could
>possibly generate a config-checker myself?
>
>Thanks.
>Pete.
>
>
Cengiz
Another free one is currently under development at
http://www.employees.org/~stannous/gconfig.html
This is a GUI based config tool that uses the GTK graphics toolkit.
Since it is open source, if it doesn't do what you want, you have the
option of adding features yourself.