Programowanie, automatyzacja i informacje Cisco IOS


11

Jestem zdezorientowany co do Cisco IOS i mam na to pytanie.

Cisco IOS jest używany w routerach i innych urządzeniach.

Czy można do tego napisać kod (np. PHP)?

Jeśli to możliwe, jakiego języka mogę używać?

To, co mnie dezorientuje, to nie sposób pracy z Cisco IOS; chodzi o to, czy mogę opracować i zmienić router lub inne urządzenia zgodnie z tym, czego potrzebuję do sieci, czy nie?

Odpowiedzi:


18
  1. Prawie każdy system Cisco IOS Note 1 z systemem co najmniej IOS 12.2 ma wbudowaną programowalność powłoki tcl . Możesz przechowywać skrypty tcl we flashu i je uruchamiać.

  2. Cisco IOS ma także lekkie środowisko programistyczne o nazwie EEM (Embedded Event Manager). Zdarzenia EEM mogą być wyzwalane przez wiele różnych danych wejściowych, takich jak pakiety na określonym porcie (przez Netflow), komunikaty dziennika lub interfejs w górę / w dół. Pomyśl o EEM jako podzestawie możliwości tclsh w IOS; EEM jest do bani mniej niż programowanie w TCL, ale dostajesz także wsparcie funkcji nierównej w zależności od miksu IOS, z którym masz do czynienia. EEM można uruchomić według harmonogramu cron, jeśli odpowiada to Twoim potrzebom. Na dole tej odpowiedzi zamieściłem przykładowy skrypt EEM; pamiętaj, że EEM najlepiej nadaje się do małych liczb instrukcji „jeśli-to, zrób to” ... kiedy chcesz zacząć definiować funkcje i tak dalej, po prostu ugryź punktorę i użyj tclsh.

  3. Nowe produkty Cisco obsługują specjalny zestaw interfejsów API SDN w puszkach, które są szersze niż mogę to wyjaśnić podczas pisania na telefonie komórkowym; jeden przykład z tej rodziny obejmuje Cisco APIC , ale to tylko zarysowanie powierzchni tego, co mają dostępne.

  4. Byłbym niedoceniony, gdybym nie zauważył, że większość skryptów Cisco wykonanych w ciągu ostatnich 20 lat odbywała się za pomocą screen-scrapingu , snmp i (obecnie) NETCONF. Wszystko, co możesz zrobić z poziomu interfejsu CLI, można zautomatyzować za pomocą skrobania ekranu; Spędziłem dużą część mojej kariery, właśnie to robiąc. Skrobaczki zwykle przechowują swoje skrypty na zewnętrznym systemie Linux i łączą się z routerem przy użyciu wybranej przez siebie broni ... zwykle jest to jeden z tych języków:

  5. Wreszcie, nowsze produkty Cisco Nexus mają API Python (takie jak ten dla Nexus 9K); Interfejsy API w języku Python są zazwyczaj łatwiejsze w obsłudze niż interfejsy API TCL, ale w tym momencie jesteś ograniczony do rodziny Nexus.


Uwaga 1 Jedynym znanym mi wyjątkiem jest Cisco 3550, którego nie ma tclshw 12.2 .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.