IP : 簡易ネットワーク管理プロトコル(SNMP)

CatOS スイッチと TFTP サーバ間での SNMP によるファイルやイメージの移動

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2014 年 2 月 19 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

このドキュメントでは、Catalyst Operating System(CatOS)が実行されているスイッチと、UNIX 上で簡易ネットワーク管理プロトコル(SNMP)を使用しているトリビアル ファイル転送プロトコル(TFTP)サーバとの間で、設定ファイルやシステム ソフトウェア イメージを移動する方法について説明します。

前提条件

要件

Catalyst スイッチから TFTPサーバの IP アドレスを ping できることを確認して下さい:

Cat6509> (enable) ping 171.68.191.135
!!!!! 

----171.68.191.135 PING Statistics---- 
5 packets transmitted, 5 packets received, 0% packet loss 
round-trip (ms)  min/avg/max = 2/2/2

これらの手順は次のとおりです:

MIB オブジェクト名 OID
tftpHost .1.3.6.1.4.1.9.5.1.5.1
tftpFile .1.3.6.1.4.1.9.5.1.5.2
tftpModule .1.3.6.1.4.1.9.5.1.5.3
tftpAction .1.3.6.1.4.1.9.5.1.5.4
tftpResult .1.3.6.1.4.1.9.5.1.5.5

定義を含むこれらの MIBオブジェクトに関する詳細については付録 A を参照して下さい。

使用するコンポーネント

この文書に記載されている情報は Catalyst OSソフトウェアだけ実行するスイッチに基づいています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

すべての例では、これらの値は実例として使用されます:

  • CatOS が付いている Catalyst 6509 スイッチ

  • 172.16.99.66 = Catalyst 6509 スイッチの IP アドレス

  • private:SNMP の Read-Write コミュニティ ストリング。 使用中のスイッチに設定されている、読み取りと書き込みコミュニティ ストリングを使用してください。 スイッチ CLI の show snmp コマンドでこれを確認して下さい。

  • public = SNMP の読み取り専用コミュニティ ストリング。 使用しているスイッチに設定されている読み取り専用コミュニティ ストリングを使用してください。 スイッチ CLI の show snmp コマンドでこれを確認して下さい。

  • 171.68.191.135 = TFTPサーバの IP アドレス

これはこれらの例の snmpset および snmpwalk コマンドのための構文です:

snmpset [options...] <hostname> {<community>} [<objectID> <type> <value> ...] 
snmpwalk [options...] <hostname> {<community>} [<objectID>] 

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

TFTPサーバから CatOS を実行する Catalyst スイッチに設定をコピーして下さい

これらのステップはプロセスによってコンフィギュレーション ファイルをコピーするためにガイドします。

手順説明

次の手順を実行します。

  1. TFTP サーバの /tftpboot ディレクトリに、新規ファイルの switch-config を作成します。 UNIX で、この構文を使用して下さい: <filename に > 触れて下さい

    touch switch-config
    
  2. 777 にファイルの権限を変更して下さい。 次の構文を使用します。 chmod <permissions > <filename >

    chmod 777 switch-config
    
  3. tftpHost MIBオブジェクトとの TFTPサーバの IP アドレスを定義して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135
    enterprises.9.5.1.5.1.0 = "171.68.191.135"
  4. 設定をコピーするのに使用する tftpFile MIBオブジェクトとの TFTP ファイル名を定義して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config
    enterprises.9.5.1.5.2.0 = switch-config
  5. 設定が渡される tftpModule MIBオブジェクトが付いている Catalyst スイッチのモジュールを選択して下さい。 監視プログラムモジュールおよびない MSFC か MSFC2 モジュールを選択して下さい、さもなければ失敗します。 スイッチ CLI の show module コマンドsnmpset コマンドのための正しいモジュール番号を確認して下さい。 一般的 な 出力は次のとおりです:

    Mod Slot  Ports  Module-Type                 Model               Sub  Status
    --- ----  -----  -------------------------  -------------------  ---  --------
    2   2     2      1000BaseX Supervisor       WS-X6K-SUP1A-2GE     yes  ok
    16  2     1      Multilayer Switch Feature  WS-F6K-MSFC          no   OK
    ....
    --<snip>--

    出力例では、スーパーバイザー モジュール番号は 2、スロット 番号 2.にあります。 使用 2 tftpModule MIBオブジェクトを定義するため:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2
    enterprises.9.5.1.5.3.0 = 2
  6. = downloadConfig TFTPサーバから 2 の MIBオブジェクト値を用いるスイッチに転送されるスイッチ設定ファイルを定義するために tftpAction MIBオブジェクトを使用して下さい。 付録 A の MIB オブジェクト の 詳細を参照して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 2
    enterprises.9.5.1.5.4.0 = 2

結果の確認

これらのオペレーションの結果を確認するために、これらのステップの 1 つを実行して下さい:

  1. tftpGrp をポーリングして下さい(.1.3.6.1.4.1.9.5.1.5) MIBオブジェクトは付録 A と結果を比較し、:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5
    enterprises.9.5.1.5.1.0 = "171.68.191.135"   
    
    !--- IP address of the TFTP server
    
    enterprises.9.5.1.5.2.0 = "switch-config"   
    
    !--- name of the switch configuration file
    
    enterprises.9.5.1.5.3.0 = 2      
    
    !--- Module number. In this case, Supervisor module
    
    enterprises.9.5.1.5.4.0 = 2      
    
    !--- TFTP action. 2 = Download configuration from TFTP server to the switch
    
    enterprises.9.5.1.5.5.0 = 2      
    
    !--- Result of the TFTP action, 2 = Success
    
    
  2. tftpResult MIBオブジェクトをポーリングし、付録 A の MIB オブジェクト の 詳細と出力を比較して下さい:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5
    enterprises.9.5.1.5.5.0 = 2      
    
    !--- Result of the TFTP action, 2 = Success
    
    

プロセスを解決して下さい

ダウンロードが正常である場合、MIBオブジェクト出力は 2 (または成功)と等しいです。 他の出力がによって表示される場合、それを tftpResultオブジェクトのための付録 A と比較し、適切なステップを踏んで下さい。

CatOS をから TFTPサーバに設定を実行する Catalyst スイッチ コピーして下さい

これらのステップはプロセスによってコンフィギュレーション ファイルをコピーするためにガイドします。

手順説明

次の手順を実行します。

  1. TFTP サーバの /tftpboot ディレクトリに、新規ファイルの switch-config を作成します。 UNIX で、この構文を使用して下さい: <filename に > 触れて下さい

    touch switch-config
    
  2. この構文との 777 にファイルの権限を変更して下さい: chmod <permissions > <filename >

    chmod 777 switch-config
    
  3. tftpHost MIBオブジェクトとの TFTPサーバの IP アドレスを定義して下さい。 構文は次のとおりです。

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135
    enterprises.9.5.1.5.1.0 = "171.68.191.135"
  4. 設定をコピーするのに使用する tftpFile MIBオブジェクトとの TFTP ファイル名を定義して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config
    enterprises.9.5.1.5.2.0 = switch-config
  5. 設定が渡される tftpModule MIBオブジェクトが付いている Catalyst スイッチのモジュールを選択して下さい。 監視プログラムモジュールおよびない MSFC か MSFC2 モジュールを選択して下さい、さもなければ失敗します。 スイッチ CLI の show module コマンドsnmpset コマンドのための正しいモジュール番号を確認して下さい。 一般的 な 出力は次のとおりです:

    Mod Slot  Ports  Module-Type                 Model               Sub  Status
    --- ----  -----  -------------------------  -------------------  ---  --------
    2   2     2      1000BaseX Supervisor       WS-X6K-SUP1A-2GE     yes  ok
    16  2     1      Multilayer Switch Feature  WS-F6K-MSFC          no   OK
    ....
    --<snip>--

    出力例では、スーパーバイザー モジュール番号は 2、スロット 番号 2.にあります。 使用 2 tftpModule MIBオブジェクトを定義するため:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2
    enterprises.9.5.1.5.3.0 = 2
  6. スイッチ設定ファイルが = uploadConfig TFTPサーバから 3 の MIBオブジェクト値を用いるスイッチに転送されるべきであること定義するために tftpAction MIBオブジェクトを使用して下さい。 付録 A の MIB オブジェクト の 詳細を参照して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 3
    enterprises.9.5.1.5.4.0 = 3

プロセスを確認して下さい

これらのオペレーションの結果を確認するために、これらのステップの 1 つを実行して下さい:

  1. tftpGrp をポーリングして下さい(.1.3.6.1.4.1.9.5.1.5) MIBオブジェクトは付録 A と結果を比較し、:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5
    enterprises.9.5.1.5.1.0 = "171.68.191.135"    
    
    !--- IP address of the TFTP server
    
    enterprises.9.5.1.5.2.0 = "switch-config"    
    
    !--- name of the switch configuration file
    
    enterprises.9.5.1.5.3.0 = 2    
    
    !--- Module number. In this case, Supervisor module
    
    enterprises.9.5.1.5.4.0 = 1    
    
    !--- TFTP action
    
    enterprises.9.5.1.5.5.0 = 2   
    
    !--- Result of the TFTP action, 2 = Succes
    
    
  2. tftpResult MIBオブジェクトをポーリングし、付録 A の MIB オブジェクト の 詳細と出力を比較して下さい:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5
    enterprises.9.5.1.5.5.0= 2   
    
    !--- Result of the TFTP action, 2 = Success
    
    

プロセスを解決して下さい

ダウンロードが正常である場合、MIBオブジェクト出力は 2 (または成功)と等しいです。 他の出力がによって表示される場合、それを tftpResultオブジェクトのための付録 A と比較し、適切なステップを踏んで下さい。

このプロシージャはイネーブル モードのスイッチ CLI の show config all コマンドの出力に見られるようにスイッチからデフォルトおよび非デフォルトコンフィギュレーションを両方、転送します。 スイッチの show config コマンドは、非デフォルトの設定だけを表示します。

TFTPサーバから CatOS を実行する Catalyst スイッチにシステムソフトウェアイメージをコピーして下さい

これらのステップはプロセスによってソフトウェア イメージをコピーするためにガイドします。

手順説明

次の手順を実行します。

  1. 正しいスーパーバイザ イメージ ファイルをダウンロードし、tftp サーバの /tftpboot ディレクトリに配置します。 この例では、cat6000-sup.5-4-2a.bin を使って説明します。

  2. この構文との 777 にファイルの権限を変更して下さい: chmod <permissions > <filename >

    chmod 777 cat6000-sup.5-4-2a.bin
    
    
  3. TFTPサーバの IP アドレスを定義して下さい tftpHost MIBオブジェクトを使用する:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 
    enterprises.9.5.1.5.1.0 = "171.68.191.135"
  4. イメージ ファイルをコピーするために使用する tftp ファイル名を定義します。

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s cat6000-sup.5-4-2a.bin 
    enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin"
  5. この例では、スーパーバイザー モジュール番号は 2、スロット 番号 2 に show module コマンド出力に見られるようにあります。 使用 2 tftpModule MIBオブジェクトを定義するため:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 
    enterprises.9.5.1.5.3.0 = 2

    これは TFTPサーバの /tftpboot ディレクトリで現在の CatOS イメージが show flash コマンドの出力に見られるように監視プログラムモジュール フラッシュするに変換されることを意味します。

  6. イメージ ファイルが TFTPサーバから 4 の MIBオブジェクト値を用いるスイッチに = downloadSw 転送されること定義するために tftpAction MIBオブジェクトを使用して下さい。 付録 A の MIB オブジェクト の 詳細を参照して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 4
    enterprises.9.5.1.5.4.0 = 4 

プロセスを確認して下さい

このの結果を確認するためにオペレーションは、これらのステップの 1 つを実行します:

  1. tftpGrp をポーリングして下さい(.1.3.6.1.4.1.9.5.1.5) MIBオブジェクトは付録 A と結果を比較し、:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 
    enterprises.9.5.1.5.1.0 = "171.68.191.135"    
    
    !--- IP address of the TFTP server
     
    enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin"  
    
    !--- name of the switch image file
    
    enterprises.9.5.1.5.3.0 = 0 
    enterprises.9.5.1.5.4.0 = 4    
    
    !--- TFTP action, 4 = downloadSw 
    
    enterprises.9.5.1.5.5.0 = 1    
    
    !--- Result of the TFTP action, 1 = In Process
    
    

    最後の行は、イメージの転送が処理中であることを示しています。 数分間待ち、そして正常に転送したことを確認するために tftpResult MIBオブジェクトを再度ポーリングして下さい。 イメージファイルサイズ(バイト)によって決まるこのステップは完了するために数分かかる場合があります。 画像 転送 プロセスが進行中の間、スイッチの show flash コマンドを発行する場合、見ます:

    Cat6509> (enable) show flash 
    TFTP session in progress. Try again later.
  2. tftpResult MIBオブジェクトをポーリングし、付録 A の MIB オブジェクト の 詳細と出力を比較して下さい:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 
    enterprises.9.5.1.5.5.0 = 2 
    
    !--- Result of the TFTP action, 2 = Success
    
    

プロセスを解決して下さい

ダウンロードが正常である場合、MIBオブジェクト出力は 2 (または成功)と等しいです。 他の出力がによって表示される場合、それを tftpResultオブジェクトのための付録 A と比較し、適切なステップを踏んで下さい。

画像 転送が正常に完了したら、イメージファイルサイズ(バイト)が TFTPサーバ(この例の cat6000-sup.5-4-2a.bin、)のファイルに show flash コマンド出力で示されているそれを一致させることを確認して下さい。

CatOS をから TFTPサーバにシステムソフトウェアイメージを実行する Catalyst スイッチ コピーして下さい

これらのステップはプロセスによってソフトウェア イメージをコピーするためにガイドします。

手順説明

次の手順を実行します。

  1. TFTPサーバの /tftpboot ディレクトリの新しいファイル image.bin を作成して下さい。 UNIX で、この構文を使用して下さい: < ファイル名 > に触れて下さい .binas をファイル拡張子使用して下さい

    touch image.bin 
    
  2. 構文との 777 にファイルの権限を変更して下さい: chmod <permissions > <filename >

    chmod 777 image.bin 
    
  3. tftpHost MIBオブジェクトを使用して TFTPサーバの IP アドレスを定義して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 
    enterprises.9.5.1.5.1.0 = "171.68.191.135"
  4. tftpFile MIBオブジェクトが付いているイメージ ファイルをコピーするのに使用する TFTP ファイル名を定義して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s image.bin 
    enterprises.9.5.1.5.2.0 = "image.bin"
  5. この例では、スーパーバイザー モジュール番号は 2、スロット 番号 2 に show module コマンド出力に見られるようにあります。 使用 2 tftpModule MIBオブジェクトを定義するため:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2
    enterprises.9.5.1.5.3.0 = 2

    これはフラッシュするの監視プログラムモジュールで動作する CatOS イメージが show flash コマンドの出力に見られるように TFTPサーバに変換されることを意味します。

  6. イメージ ファイルが TFTPサーバから 5 の MIBオブジェクト値を用いるスイッチに = uploadSw 転送されること定義するために tftpAction MIBオブジェクトを使用して下さい。 付録 A の MIB オブジェクト の 詳細を参照して下さい:

    % snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 5 
    enterprises.9.5.1.5.4.0 = 5

プロセスを確認して下さい

これらのオペレーションの結果を確認するために、これらのステップの 1 つを実行して下さい:

  1. tftpGrp をポーリングして下さい(.1.3.6.1.4.1.9.5.1.5) MIBオブジェクトは付録 A と結果を比較し、:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 
    enterprises.9.5.1.5.1.0 = "171.68.191.135"    
    
    !--- IP address of the TFTP server
    
    enterprises.9.5.1.5.2.0 = "image.bin"    
    
    !--- name of the switch image file 
    
    enterprises.9.5.1.5.3.0 = 2    
    
    !--- Module number. In this case, Supervisor module 
    
    enterprises.9.5.1.5.4.0 = 5    
    
    !--- TFTP action, 5 = uploadSw 
    
    enterprises.9.5.1.5.5.0 = 1    
    
    !--- Result of the TFTP action, 1 = In Process 
    
    

    最後の行は、イメージの転送が処理中であることを示しています。 数分間待機はそれから正常に転送したことを確認するために tftpResult MIBオブジェクトを再度ポーリングし。 イメージファイルサイズ(バイト)によって決まるこのステップは完了するために数分かかる場合があります。

  2. tftpResult MIBオブジェクトをポーリングし、付録 A の MIB オブジェクト の 詳細と出力を比較して下さい:

    % snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 
    enterprises.9.5.1.5.5.0 = 2 --> Result of the TFTP action, 2 = Success

プロセスを解決して下さい

ダウンロードが正常である場合、MIBオブジェクト出力は 2 (または成功)と等しいです。 他の出力がによって表示される場合、それを tftpResultオブジェクトのための付録 A と比較し、適切なステップを踏んで下さい。

画像 転送が正常に完了したら、TFTPサーバ(この例の image.bin、)のファイルへの show flash コマンド出力で示されているイメージファイルサイズ(バイト)マッチを確認して下さい。

フラッシュする 監視プログラムモジュールが起動されたイメージ(show flash)で複数の画像があれば、このプロシージャの TFTPサーバに転送されます。 フラッシュするからのどんなイメージが監視プログラムモジュールによって起動するのに使用されているか示すブート変数を見る show boot コマンドを = 使用して下さい。 詳細については Catalyst スイッチにおけるソフトウェア イメージのアップグレードとコンフィギュレーション ファイルの操作を参照して下さい。

UNIX スクリプトの例

これらのスクリプトは例だけとして提供され、まったくシスコシステムズによってサポートされません。

スイッチのコンフィギュレーション ファイルおよび Cisco IOS 移行を自動化するためにスクリプトを書いて下さい

#!/bin/sh
# Script to automate config file & IOS migration of switches
# supporting STACK-MIB including 5000, 5500, 1400, 2900, 1200
if [ ! -f SW ] ;
then
echo
echo "File SW does not exist!!!"
echo
echo "Syntax is 'switch.sh'"
echo "where each line in file SW lists:"
echo "Switchname Filename Serverip Module# Moduleaction Community"
echo
echo "Switchname must resolve"
echo "Filename must exist in server tftpboot directory 777"
echo "Serverip is the ip of the server for the file"
echo "Module# is usually '1'"
echo "Module action is as per STACK-MIB: "
echo "- 2 - config file - server > switch"
echo "- 3 - config file - switch > server"
echo "- 4 - software image - server > switch"
echo "- 5 - software image - switch > server"
echo "Community is *write* community"
echo
exit
fi
cat SW | 
while read SW
do
  SWNAME=\Qecho $SW | cut -d' ' -f 1\Q 
  FILE=\Qecho $SW | cut -d' ' -f 2\Q
  SERVER=\Qecho $SW | cut -d' ' -f 3\Q
  MODULE=\Qecho $SW | cut -d' ' -f 4\Q
  ACTION=\Qecho $SW | cut -d' ' -f 5\Q
  CMTY=\Qecho $SW | cut -d' ' -f 6\Q
  echo
  echo $SWNAME
  echo $FILE
  echo $SERVER
  echo $MODULE
  echo $ACTION
  echo $CMTY
  echo
  # '-t #' can be modified to adjust timeout
  snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.1.0 octetstring $SERVER
  sleep 5
  snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.2.0 octetstring $FILE
  sleep 5
  snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.3.0 integer $MODULE
  sleep 5
  snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.4.0 integer $ACTION
sleep 60
echo
echo Check Progress...
echo
echo
echo "Switch $SWNAME: \\c"; snmpget -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.5.0 | cut 
-d":" -f 3
done

スイッチの特殊なコマンドを実行するために Expect スクリプトを切り替えて下さい

#!/usr/nms/bin/expect
# Above line points to your expect interpreter
# Add '-d' option to expect line above to enable debugging
# Tested on Cat5000 with regular login; no error-checking 
# except for number arguments, but will timeout on failure.
# Tacacs+ lines left in for future releases
set argc [llength $argv]
if { $argc < 4} {
        puts "Syntax is:"
        puts "(For system with no Tac+)"
        puts "switch.exp destination \"command\" vtypassword enapassword"
        exit 0 }
set destination [lindex $argv 0]
puts -nonewline "Where we're going:  "
puts $destination
set command [lindex $argv 1]
puts -nonewline "What we're doing:  "
puts $command
set vtypassword [lindex $argv 2]
puts -nonewline "What our password is (vty):  "
puts $vtypassword
set enapassword [lindex $argv 3]
puts -nonewline "What our password is (enable):  "
puts $enapassword
# username only for Tac+
set username [lindex $argv 4]
puts -nonewline "What our username is if Tac+:  "
puts $username
#
set timeout 10
spawn telnet $destination
expect {
        "Enter password:" {
        send "$vtypassword\r" }
        "Username:" {
        send "$username\r"  
        exec sleep 1
        expect "Password:" 
        send "$vtypassword\r"
        }
        }
# Look for non-enable router 'prompt>'
expect  -re "(^.*)(\r\n\[^ \]+> \$)" 
# Get into enable mode
send "en\r"
expect { 
        "password: " {
        send "$enapassword\r" }
        "Username:" {
        send "$username\r"
        exec sleep 1
        expect "Password:"
        send "$enapassword\r" }
        }
# Look for enable router 'prompt#'
expect -re "(^.*)(\r\n\[^ \]+(enable) \$)"
# Send the command
send "$command\r"
expect {
        -re "(^.*)(\r\n\[^ \]+ (enable) \$)" {
                append buffer $expect_out(1,string)
                }
        -re "(^.*)(\r\n\ --More-- \$)" {
                append buffer $expect_out(1,string)
        send " "
        }
        -re "(^.*)(\r\n\ --More-- \$)" {
                append buffer $expect_out(1,string)
        send " "
        }
        }
# Done with command - disable prior to exit
send "disable\r"
expect -re "(^.*)(\r\n\[^ \]+> \$)"
exec sleep 1
send "logout"

「show cam dynamic」として SNMP によって同じ出力を示すパールスクリプト

#!/usr/local/bin/perl
open(TABLE, "bridge-table.csv") || die "Cant' open file: $!\n"; 
while (<TABLE>) {
	($vlan, $unicast_mac, $mod_ports) = split (/,/, $_);
	write;
}
exit;
 
format STDOUT =
set cam permanent @<<<<<<<<<<<<<<<<<< @<<< @<
$unicast_mac, $mod_ports, $vlan

付録 A - MIB オブジェクトの詳細

オブジェクト tftpHost
OID .1.3.6.1.4.1.9.5.1.5.1
タイプ DisplayString
権限 読み取りと書き込み
構文 OCTET STRING (0..64)
ステータス 電流
MIB CISCO-STACK-MIB
説明 TFTP 転送またはストレージ デバイス転送用の送信元または宛先ホストの名前。 TFTP 転送用の名前の場合、これは IP アドレスかホスト名になります。 ストレージデバイス転送の名前が deviceName の形式に、それあれば: (例えば slot0: 、slot1:)
ツリー内での OID :: = {iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 1}

オブジェクト tftpFile
OID .1.3.6.1.4.1.9.5.1.5.2
タイプ DisplayString
権限 読み取りと書き込み
構文 OCTET STRING (0..64)
ステータス 電流
MIB CISCO-STACK-MIB
説明 TFTP 転送またはストレージ デバイス転送のためのファイルの名前。
ツリー内での OID :: = {iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 2}

オブジェクト tftpModule
OID .1.3.6.1.4.1.9.5.1.5.3
タイプ Integer
権限 読み取りと書き込み
ステータス 電流
範囲 0 - 16
MIB CISC O-STACK-MIB
説明 モジュールのどのコード/設定転送されるか。
ツリー内での OID :: = {ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 3}

オブジェクト tftpAction
OID .1.3.6.1.4.1.9.5.1.5.4
タイプ Integer
権限 読み取りと書き込み
ステータス 電流
  1. other
  2. downloadConfig
  3. uploadConfig
  4. downloadSw
  5. uploadSw
  6. downloadFw
  7. uploadFw
MIB CISCO-STACK-MIB
説明 許容値の 1 つにこのオブジェクト 設定 されるそれ tftpHost で始めれば、与えられる情報の要求されたアクションを tftpModule tftpFile。 downloadConfig(2): ホスト/ファイル uploadConfig(3) からのレシーブ 設定: 送信設定/ファイル downloadSw(4) ホストするため: ホスト/ファイル uploadSw(5) からのレシーブ ソフトウェア イメージ: 送信ソフトウェア イメージ/ファイル downloadFw(6) ホストするため: ホスト/ファイル uploadFw(7) からのレシーブ ファームウェアイメージ: 他のどの値にこのオブジェクト 設定 される エラーを得る場合送信ファームウェアイメージ/ファイル ホストするため。
ツリー内での OID :: = {ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 4}

オブジェクト tftpResult
OID .1.3.6.1.4.1.9.5.1.5.5
タイプ Integer
権限 読み取り専用
ステータス 電流
  1. inProgress
  2. success
  3. noResponse
  4. tooManyRetries
  5. noBuffers
  6. noProcesses
  7. badChecksum
  8. badLength
  9. badFlash
  10. serverError
  11. userCanceled
  12. wrongCode
  13. fileNotFound
  14. invalidTftpHost
  15. invalidTftpModule
  16. accessViolation
  17. unknownStatus
  18. invalidStorageDevice
  19. insufficientSpaceOnStorageDevice
  20. insufficientDramSize
  21. incompatibleImage
MIB CISCO-STACK-MIB
説明 最後の tftp アクション要求の結果を保持します。
ツリー内での OID :: = {ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 5}


関連情報


Document ID: 13504