Cisco IOSプログラミング、自動化、および情報


11

Cisco IOSについて混乱していますが、それについていくつか質問があります。

Cisco IOSは、ルータやその他のデバイスで使用されています。

そのためのコード(PHPなど)を書くことは可能ですか?

可能であれば、どの言語を使用できますか?

私を混乱させるのは、Cisco IOSの操作方法ではありません。ネットワークに必要なものに応じてルーターやその他のデバイスを開発および変更できるかどうかについてです。

回答:


18
  1. ほとんどすべての注1少なくともIOS 12.2を実行しているCisco IOSシステムには、組み込みのtclシェルプログラミング機能があります。tclスクリプトをフラッシュに保存して実行できます。

  2. Cisco IOSには、EEM(Embedded Event Manager)と呼ばれる軽量のネイティブプログラミング環境もあります。EEMイベントは、(Netflowを介した)特定のポートのパケット、ログメッセージ、インターフェイスのアップ/ダウンなど、さまざまな入力によってトリガーできます。EEMをIOSのtclsh機能のサブセットと考えてください。EEMはTCLでのプログラミングよりも効率が悪くなりますが、処理しているIOSミックスによっては、機能のサポートが不安定になります。EEMは、必要に応じてcronスケジュールで実行できます。この回答の最後に、EEMスクリプトの例を含めました。EEMは、「if-this、do-that」ステートメントの数が少ない場合に最適です。関数などの定義を開始する場合は、箇条書きをかざして使用してくださいtclsh

  3. 新しいシスコ製品は、携帯電話で入力しているときに説明できるよりも広い、特別な缶詰のSDN APIのセットをサポートしています。このファミリの1つの例にはCisco APICが含まれますが、これはそれらが利用できるもののほんの一部にすぎません。

  4. 過去20年間に行われたCiscoスクリプトのほとんどは、画面のスクレイピング、snmp、および(今日の)NETCONFを介して行われていることを指摘しなければ、私は失望します。CLIから実行できることはすべて、画面のスクレイピングによって自動化できます。私はキャリアの大部分をこれだけに費やしてきました。スクリーンスクレイパーは通常、スクリプトを外部のlinuxシステムでホストし、独自の武器でルーターに接続します。通常、次の言語のいずれかです。

  5. 最後に、新しいCisco Nexus製品にはPython API(Nexus 9K用のものなど)が搭載されています。通常、Python APIはTCL APIよりも扱いが簡単ですが、現時点では、Nexusファミリーに限定されています。


注1私が知っている唯一の例外は、Cisco 3550です。これtclsh12.2にはありません

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.