内容

概要

前提条件

要件

使用するコンポーネント

表記法

TFTPサーバからCatOSが稼働するCatalystスイッチへの設定のコピー

手順ごとの説明

結果の確認

プロセスのトラブルシューティング

CatOSが稼働するCatalystスイッチからTFTPサーバへの設定のコピー

手順ごとの説明

プロセスの確認

プロセスのトラブルシューティング

TFTPサーバからCatOSが稼働するCatalystスイッチへのシステムソフトウェアイメージのコピー

手順ごとの説明

プロセスの確認

プロセスのトラブルシューティング

CatOSが稼働するCatalystスイッチからTFTPサーバへのシステムソフトウェアイメージのコピー

手順ごとの説明

プロセスの確認

プロセスのトラブルシューティング

UNIX スクリプトの例

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

関連情報

概要

このドキュメントでは、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

次の手順を実行します。

- Cisco IOSｮ ソフトウェアをベースとする Catalyst スイッチ、たとえば Catalyst 2900/3500XL シリーズには適用されません。

- Cisco IOSソフトウェアを搭載したCatalyst 6000シリーズMSFCおよびMSFC2モジュールには適用されません。

- SNMP 読み取りと書き込みコミュニティ ストリングがスイッチに設定されていない場合、あるいは認識されていない場合は適用されません。SNMPコミュニティストリングの設定方法の詳細については、『SNMPコミュニティストリングの設定方法』を参照してください。

- 下の手順は、NET-SNMP（旧称 UCD-SNMP）ユーティリティのコマンドラインの構文に基づいています。 HP Open ViewやNetViewなどの他のSNMPアプリケーションがある場合、構文がこれらの例と異なる可能性があります。

- 「CISCO-STACK-MIB」をベースにしています。これは、Catalyst OS において最初のスーパーバイザ モジュール ソフトウェアのバージョンからサポートされているものです。ご使用のスイッチでCISCO-STACK-MIBがサポートされていることを確認するには、Cisco.comの「製品でサポートされるMIB」ページを参照してください。このMIBの次のMIBオブジェクトが使用されます。

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)ソフトウェアのみを実行するスイッチに基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

すべての例では、次の値を使用して説明します。

- 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では、次の構文を使用します。touch <ファイル名>.

touch switch-config

2. ファイルのアクセス許可を777に変更します。次の構文を使用します。chmod <権限> <ファイル名> .

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にあります。tftpModule MIBオブジェクトを定義するには、2を使用してください。

% 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. TFTPサーバからスイッチに転送されるスイッチ設定ファイルを定義するには、tftpAction MIBオブジェクトを使用します。MIBオブジェクトの値は2 = downloadConfigです。MIBオブジェクトの詳細については、「付録A:

% 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. 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:

% 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が稼働するCatalystスイッチからTFTPサーバへの設定のコピー

次の手順に従って、コンフィギュレーションファイルをコピーします。

手順ごとの説明

次のステップを実行します。

1. TFTP サーバの /tftpboot ディレクトリに、新規ファイルの switch-config を作成します。UNIXでは、次の構文を使用します。touch <ファイル名>.

touch switch-config

2. 次の構文を使用して、ファイルの権限を777に変更します。chmod <権限> <ファイル名> .

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にあります。tftpModule MIBオブジェクトを定義するには、2を使用します。

% 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. tftpAction MIBオブジェクトを使用して、スイッチコンフィギュレーションファイルがTFTPサーバからスイッチに転送され、MIBオブジェクトの値が3 = uploadConfigで転送されるように定義します。MIBオブジェクトの詳細については、「付録A:

% 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. 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:

% 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 <権限> <ファイル名> .

chmod 777 cat6000-sup.5-4-2a.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. イメージ ファイルをコピーするために使用する 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で、show moduleコマンドの出力に示されるように、スロット番号2に入っています。tftpModule MIBオブジェクトを定義するには、次のように2を使用します。

% 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. tftpAction MIBオブジェクトを使用して、イメージファイルがTFTPサーバからスイッチに転送され、MIBオブジェクトの値が4 = downloadSwに設定されていることを定義します。MIBオブジェクトの詳細については、「付録A:

% 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. 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:

% 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と比較し、適切な手順を実行してください。

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

CatOSが稼働するCatalystスイッチからTFTPサーバへのシステムソフトウェアイメージのコピー

次の手順に従って、ソフトウェアイメージをコピーします。

手順ごとの説明

次のステップを実行します。

1. TFTPサーバの/tftpbootディレクトリに新しいファイルimage.binを作成します。UNIXでは、次の構文を使用します。touch <ファイル名>.ファイルの拡張子として .bin を使用します。

touch image.bin

2. 構文を使用して、ファイルの権限を777に変更します。chmod <権限> <ファイル名> .

chmod 777 image.bin

3. tftpHost MIBオブジェクト（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オブジェクト(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で、show moduleコマンドの出力に示されるように、スロット番号2に入っています。tftpModule MIBオブジェクトを定義するには、2を使用します。

% 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. tftpAction MIBオブジェクトを使用して、イメージファイルがTFTPサーバからスイッチに転送され、MIBオブジェクトの値が5 = uploadSwに設定されていることを定義します。MIBオブジェクトの詳細については、「付録A:

% 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. 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:

% 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と比較し、適切な手順を実行してください。

イメージの転送が正常に完了したら、show flashコマンドの出力に示されるイメージファイルのサイズ（バイト）がTFTPサーバのファイル(この例ではimage.bin)に一致することを確認します。

注：フラッシュ内に複数のイメージ(show flash)がある場合、スーパーバイザモジュールが起動されたイメージだけが、この手順でTFTPサーバに転送されます。show bootコマンドを使用して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

スイッチで特定のコマンドを実行するためのスイッチ予測スクリプト

#!/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経由で表示するPerlスクリプト

#!/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オブジェクトの詳細

Object

tftpHost

OID

.1.3.6.1.4.1.9.5.1.5.1

Type

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 }

Object

tftpFile

OID

.1.3.6.1.4.1.9.5.1.5.2

Type

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 }

Object

tftpModule

OID

.1.3.6.1.4.1.9.5.1.5.3

Type

整数

権限

読み取りと書き込み

ステータス

現在

範囲

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 }

Object

tftpAction

OID

.1.3.6.1.4.1.9.5.1.5.4

Type

整数

権限

読み取りと書き込み

ステータス

現在

値

1. その他

2. downloadConfig

3. uploadConfig

4. downloadSw

5. uploadSw

6. downloadFw

7. uploadFw

MIB

CISCO-STACK-MIB

説明

このオブジェクトを許容値の1つに設定すると、tftpHost、tftpFile、tftpModuleで指定された情報を使用して、要求されたアクションが開始されます。downloadConfig(2):host/file uploadConfig(3)から設定を受信します。host/file downloadSw(4)に設定を送信します。host/file uploadSw(5)からソフトウェアイメージを受信します。ソフトウェアイメージをホスト/ファイルに送信downloadFw(6):host/file uploadFw(7)からファームウェアイメージを受信します。ファームウェアイメージをホスト/ファイルに送信このオブジェクトを他の値に設定すると、エラーが発生します。

ツリー内での OID

::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 4 }

Object

tftpResult

OID

.1.3.6.1.4.1.9.5.1.5.5

Type

整数

権限

読み取り専用

ステータス

現在

値

1. inProgress

2. 成功

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 }

関連情報

- SNMP によるルータと TFTP サーバ間でのファイルおよびイメージの移動

- Cisco MIBのダウンロード

- テクニカル サポートとドキュメント – Cisco Systems