web-dev-qa-db-ja.com

snmpgetを使用してCisco設定をダウンロードする

現在、snmpsetを使用してモニタリングサーバからCisco設定を取得する際に問題が発生しています。

これが私がヒントするものです:

snmpset -v2c -cvtmYdXVHfo9v38oAbtACikvV calcium \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 integer 4 \ 
1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 ipaddress 172.23.129.4 \
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 octetstring "config" \
1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 integer 4

Cisco_snmp_doc で入手可能なドキュメントに従ってください。

ccCopyProtocol is 1.3.6.1.4.1.9.9.96.1.1.1.1.2
ccCopySourceFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.3
ccCopyDestFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.4
ccCopyServerAddress 1.3.6.1.4.1.9.9.96.1.1.1.1.5
ccCopyFileName 1.3.6.1.4.1.9.9.96.1.1.1.1.6
ccCopyEntryRowStatus 1.3.6.1.4.1.9.9.96.1.1.1.1.14

Ciscoのドキュメントでは、ランダムな整数を指定するように示されています(ここでは、ドキュメントにあるように111ですが、1を指定しても何も変更されません)

これが私が得るものです:

1.3.6.1.4.1.9.9.96.1.1.1.1.5.111: Value out of range (172.23.129.4)
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111: Unknown Object Identifier \
(Sub-id not found: (top) -> config)

明らかに、サーバーのIPアドレスを関連するOIDに設定することはできません。さらに、2番目のエラーが何を意味するのか理解できません。

誰かアドバイスをいただけますか?どんな助けや手がかりも深く感謝します

どうもありがとう :)

3
philippe

最初の質問では、構成を取得しようとしていると述べていましたfrom監視サーバーですが、petrusへの応答は、構成をコピーすることを示していますtoサーバー、それはあなたの元の例が示していることなので、私はそれがあなたが求めているものだと思います。

2つのこと:

1-これは。なしでは機能しません。数値OIDの開始時。

2-ご使用のバージョンのsnmpgetで使用可能なTYPE値が、CiscoドキュメントのTYPE値と一致していないようです(HPOVバージョンのsnmpsetを使用していると記載されています)。パラメータなしで「snmpset」を実行してみて、何が得られるかを確認してください。 Net-SNMPを使用している場合は、使用可能なタイプを指定するセクションが下部にあるはずです。

-

Net-SNMPとCisco-CONFIG-COPY-MIBを使用して過去に使用した手順は次のとおりです(長さについてはお詫びします)。

ステップ1:構成目的のプロトコル(tftp = 1)、ソースファイルタイプ(runningConfig = 4)、宛先ファイルタイプ(networkFile = 1)、tftpサーバーのIPアドレスを使用したccCopyEntryTable 、および目的のファイル名tftpサーバー上。最後に、RowStatusを「createAndGo」に設定します(4)。

数値的に:

snmpset -v 2c -c private lab-rtr1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a 10.1.1.1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s "lab-rtr1-confg" \
.1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 4

MIBからのテキストOIDの使用:

snmpset -O s -m Cisco-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 \
ccCopyProtocol.111 i 1 \
ccCopySourceFileType.111 i 4 \
ccCopyDestFileType.111 i 1 \
ccCopyServerAddress.111 a 10.1.1.1 \
ccCopyFileName.111 s "lab-rtr1-confg" \
ccCopyEntryRowStatus.111 i 4

次のようなものを取り戻す必要があります。

ccCopyProtocol.111 = INTEGER: tftp(1)
ccCopySourceFileType.111 = INTEGER: runningConfig(4)
ccCopyDestFileType.111 = INTEGER: networkFile(1)
ccCopyServerAddress.111 = IpAddress: 10.1.1.1
ccCopyFileName.111 = STRING: lab-rtr1-confg
ccCopyEntryRowStatus.111 = INTEGER: createAndGo(4)

ステップ2:チェックステータス:

snmpget -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.10.111

テキストバージョン:

snmpget -O s -m Cisco-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyState.111

成功するには、「3」を返す必要があります(MIBで他の可能な値を確認してください)。

ccCopyState.111 = INTEGER: successful(3)

ステップ3:破棄作成した行:

snmpset -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 6

テキストバージョン:

snmpset -O s -m Cisco-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyEntryRowStatus.111 i 6

次のようなものを取り戻す必要があります。

ccCopyEntryRowStatus.111 = INTEGER: destroy(6)

ステップ4:移動verify実際にtftpサーバーにコピーされました。

2
gorthx

ご回答ありがとうございます。

ただし、 OLD-Cisco-SYS-MIB によると

OIDは1.3.6.1.4.1.9.2.1.50で、コマンドは

snmpset -v2c -c public 172.23.176.71 1.3.6.1.4.1.9.2.1.50.172.23.129.4 s config

戻ってきた

Error in packet.
Reason: commitFailed Failed object: iso.3.6.1.4.1.9.2.1.50.172.23.129.4

適切なOIDを選択しましたか?

さらに、構成がスイッチに配置されているように見えます。スイッチからサーバーへの逆の転送を実行したいと思います。

ご協力いただきありがとうございます

1
philippe
snmpset -v 2c -c <community> <router address> OLD-Cisco-SYS-MIB::netConfigSet.<tftp server> s <config-file>

<tftp-server>はドット付き10進数です。

<config-file>は、TFTPルートからの相対パスです。

例:

snmpset -v 2c -c private 192.168.0.254 OLD-Cisco-SYS-MIB::netConfigSet.192.168.0.10 s router-confg.txt
1
petrus