web-dev-qa-db-ja.com

SNMP経由でCiscoスイッチ(IOS)を構成することは可能ですか?

SNMP経由でIOS)を実行しているCiscoスイッチを構成することは可能ですか?SNMP経由でTFTPコピーを開始する方法があることは知っていますが( doc )、何かありますかSNMP書き込みから直接ポートレベルの設定のように?

または、構成全体を置き換えるのではなく、適用する構成スニペットの転送を開始する方法はありますか?

何か説明が必要な場合はお知らせください。私はExpectやAPIへのアクセスに似ていないものの使用を避けようとしています。

2
brent

私自身の質問に答えるために、シスコがSNMPを介して高粒度の設定(ポート設定など)を提供しているようには見えませんが、スイッチへのFTP/TFTP/SCP設定コピーを開始する方法は提供しています。このコピーは、マージを可能にする実行コンフィギュレーションに対して実行できます。これは、構成スニペットをテキストファイルに書き込んでから、スイッチにTFTPで転送し、スイッチを置き換えるのではなく、実行中の構成とマージできることを意味します。開始構成にコピーする場合、マージ操作は実行されないため、構成全体が置き換えられます。重要な違い;)

詳細はこちら: http://www.Cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

3
brent

はい、可能です。例については、 VLANの構成に関するこのテクニカルノート を参照してください。

有効な端末からコマンドshow snmp mibを実行すると、スイッチでサポートされているMIBを確認できます。

2
Chiggs

トランスポートプロトコルとしてsnmpv3とscpを使用するsnmpガイドを見たことがありませんでした。実装を検討している人のために、これが私のために働いたものです。

他のsnmpconfigコピーガイドと同様に、それぞれのMIBSをダウンロードして、snmp.confファイルにロードする必要があります。

この投稿では、v3セットアップのsnmpsetコマンドについて具体的に説明します。

SNMP Environment:

Name        : net-snmp
Version     : 5.7.2
Release     : 17.fc20

〜/ .snmp /snmp.conf内のsnmpconfファイル

含まれています

defSecurityName XXX <- replace with v3 username
defContext ""
defAuthType SHA
defPrivType AES
defSecurityLevel authPriv
defAuthPassphrase ***** <-replace with authentication pass
defPrivPassphrase *****  <-replace with encryption pass
defVersion 3
showMibErrors no
mibs ALL

基本的なsnmpv3機能を、sysUpTimeのような単純なsnmpwalkで検証します。それで問題がなければ、CONFIG-COPYsnmpコマンドに進みます。

これは、バックアップされるデバイスのIP /ホスト名の単一の引数のみを要求するコピー全体を実行する私のbashスクリプトです。スクリプトまたは以下のCLIに示されている2>/dev/nullは、MIBモジュールの解析エラーを回避するために、STDERRをnullにリダイレクトします。

#!/usr/bin/bash
DEVICE=$1
RANNUM=42
USER=******
PASS=******
SERVER=X.X.X.X
DATE=$(date +"%m_%d_%y")

snmpset $DEVICE ccCopyProtocol.$RANNUM i 4 ccCopySourceFileType.$RANNUM i 4 ccCopyDestFileType.$RANNUM i 1 ccCopyServerAddress.$RANNUM a "$SERVER" ccCopyFileName.$RANNUM s "$DEVICE.$DATE" ccCopyUserName.$RANNUM s $USER ccCopyUserPassword.$RANNUM s $PASS ccCopyEntryRowStatus.$RANNUM i 4 2>/dev/null

実行したら、次のコマンドでコピーのステータスを確認できます。

[root@localhost hlsb]# snmpwalk sbs-tech-switch ciscoConfigCopyMIB 2>/dev/null
Cisco-CONFIG-COPY-MIB::ccCopyProtocol.42 = INTEGER: scp(4)
Cisco-CONFIG-COPY-MIB::ccCopySourceFileType.42 = INTEGER: runningConfig(4)
Cisco-CONFIG-COPY-MIB::ccCopyDestFileType.42 = INTEGER: networkFile(1)
Cisco-CONFIG-COPY-MIB::ccCopyServerAddress.42 = IpAddress: 10.10.10.193
Cisco-CONFIG-COPY-MIB::ccCopyFileName.42 = STRING: sbs-tech-switch.07_09_14
Cisco-CONFIG-COPY-MIB::ccCopyUserName.42 = STRING: XXXX
Cisco-CONFIG-COPY-MIB::ccCopyUserPassword.42 = STRING: XXXX
Cisco-CONFIG-COPY-MIB::ccCopyNotificationOnCompletion.42 = INTEGER: false(2)
Cisco-CONFIG-COPY-MIB::ccCopyState.42 = INTEGER: successful(3)
Cisco-CONFIG-COPY-MIB::ccCopyTimeStarted.42 = Timeticks: (52270199) 6 days, 1:11:41.99
Cisco-CONFIG-COPY-MIB::ccCopyTimeCompleted.42 = Timeticks: (52270339) 6 days, 1:11:43.39
Cisco-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 = INTEGER: active(1)
Cisco-CONFIG-COPY-MIB::ccCopyServerAddressType.42 = INTEGER: ipv4(1)
Cisco-CONFIG-COPY-MIB::ccCopyServerAddressRev1.42 = STRING: "10.10.10.193"

コピーが正常に完了すると、エントリは5分間存在し、その特定の乱数を使用してそれ以上要求を行うことができなくなります。テーブルを5分間クリアする前に別のリクエストを送信するには、「destroy」snmpsetを送信してエントリをクリアします。

[root@localhost hlse]# snmpset sbs-tech-switch Cisco-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 i 6 2>/dev/null
Cisco-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 = INTEGER: destroy(6)

これにより、より安全なsnmp config copysetupの実装を検討している人の時間を節約できることを願っています。

0
Cody Hartley

正直なところ、SNMP経由でIOSを構成できない理由はわかりません...しかし、提案します[〜#〜] not [〜#〜] =実行しています。SNMPは非常に安全ではありません。セキュリティについて心配していない場合は、構成の変更をテキストファイルにダンプし、盲目的にtelnetセッションで再生できます...これも実行しないことをお勧めします。

0
TheCompWiz