Programmazione, automazione e informazioni Cisco IOS


11

Sono confuso su Cisco IOS e ho qualche domanda al riguardo.

Cisco IOS è utilizzato in router e altri dispositivi.

È possibile scrivere codice (come PHP) per questo?

Se è possibile, quale lingua posso usare?

La cosa che mi confonde non è come lavorare con Cisco IOS; si tratta di sapere se posso sviluppare e modificare il mio router o altri dispositivi in ​​base a ciò di cui ho bisogno o meno per la rete?

Risposte:


18
  1. Quasi tutti i sistemi Cisco IOS Nota 1 con almeno IOS 12.2 dispongono di programmabilità della shell tcl integrata . È possibile memorizzare gli script tcl in flash ed eseguirli.

  2. Cisco IOS ha anche un ambiente di programmazione nativo leggero chiamato EEM (Embedded Event Manager). Gli eventi EEM possono essere attivati ​​da una vasta gamma di input, come pacchetti su una determinata porta (tramite Netflow), messaggi di log o interfaccia su / giù. Pensa a EEM come a un sottoinsieme di funzionalità tclsh in IOS; EEM fa meno schifo della programmazione in TCL, ma ottieni anche il supporto delle funzionalità spotty a seconda del mix IOS con cui hai a che fare. EEM può essere eseguito su una pianificazione cron se soddisfa le tue esigenze. Alla fine di questa risposta , ho incluso un esempio di script EEM; tieni presente che EEM è la soluzione migliore per piccoli numeri di istruzioni "if-this, do-that" ... quando vuoi iniziare a definire funzioni e cose del genere, morde semplicemente il proiettile e usalo tclsh.

  3. I nuovi prodotti Cisco supportano un set speciale di API SDN fisse che sono più ampie di quelle che posso spiegare durante la digitazione sul mio telefono cellulare; un esempio di questa famiglia include Cisco APIC , ma questo è solo grattare la superficie di ciò che hanno a disposizione.

  4. Sarei remissivo se non sottolineassi che la maggior parte degli script di Cisco eseguiti negli ultimi 20 anni è avvenuta tramite screen-scraping , snmp e (oggi) NETCONF. Qualunque cosa tu possa fare dalla CLI, può essere automatizzata tramite lo screen-scraping; Ho trascorso gran parte della mia carriera facendo proprio questo. Gli screen-scraper di solito ospitano i loro script su un sistema Linux esterno e si connettono a un router con l'arma di loro scelta ... di solito questa è una di queste lingue:

  5. Infine, i nuovi prodotti Cisco Nexus hanno un'API Python (come questa per Nexus 9K); Le API python sono in genere più facili da gestire rispetto alle API TCL, ma a questo punto sei limitato alla famiglia Nexus.


Nota 1 L'unica eccezione che conosco è il Cisco 3550, che non ha tclshin 12.2 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.