Cisco IOS编程,自动化和信息


11

我对Cisco IOS感到困惑,对此有些疑问。

Cisco IOS用于路由器和其他设备。

是否可以为此编写代码(例如PHP)?

如果可能,我可以使用哪种语言?

让我感到困惑的不是如何使用Cisco IOS;它使我感到困惑。关于是否可以根据网络需求开发和更改路由器或其他设备?

Answers:


18
  1. 至少运行IOS 12.2的几乎每个Note 1 Cisco IOS系统都具有内置的tcl shell可编程性。您可以将tcl脚本存储在Flash中并运行它们。

  2. Cisco IOS还具有称为EEM(嵌入式事件管理器)的轻型本机编程环境。EEM事件可由多种输入触发,例如某个端口上的数据包(通过Netflow),日志消息或接口打开/关闭。将EEM视为IOS中tclsh功能的子集;EEM比在TCL中编程要容易得多,但是根据要处理的IOS组合,您还可以获得不完善的功能支持。如果适合您的需要,可以按计划的时间表运行EEM。在此答案的底部,我提供了一个示例EEM脚本。请记住,EEM最适合少量的“ if-this,do-that”语句...当您要开始定义函数等时,只需硬着头皮使用tclsh

  3. 思科的新产品支持一组特殊的罐装SDN API,其范围比我在手机上键入时所能解释的范围要广。这个家族的一个例子包括Cisco APIC,但这仅仅是他们可用的表面。

  4. 如果我不指出过去20年中完成的大多数Cisco脚本编写都是通过屏幕抓取,snmp和(如今)NETCONF 进行的,那我会很失落。您可以从CLI进行的任何操作都可以通过屏幕抓取来自动进行;我在职业生涯中花费了很大一部分时间。屏幕抓取程序通常将其脚本托管在外部linux系统上,并使用自己选择的武器连接到路由器...通常是以下语言之一:

  5. 最后,较新的Cisco Nexus产品具有Python API(例如Nexus 9K的 API );python API通常比TCL API更易于处理,但是目前您仅限于Nexus系列。


注1我所知道的唯一例外是Cisco 3550,它在12.2 中没有tclsh

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.