7

最近、同僚のネットワーク エンジニアから連絡がありました。その同僚は、自分のマイナーなネットワーク管理業務をジュニア レベルのヘルプデスク技術者に任せたいと考えています。管理が必要な特定の場所は、単一サイト プロパティのテナントの ISP として機能するため、日常的に多くの小さな調整が行われています。

オンサイトで 32 台の Cisco デバイスを管理するための winform アプリを彼に書いてもらえると助かります。最初に、アクセス制御リスト、ポート VLAN 割り当て、および VLAN ごとの帯域幅制限を変更できる機能を提供したいと思います...価値があると思われるリストにさらに追加します。

私が最初に考えたのは、ネットワーク デバイスでtelnet セッションをエミュレートすることでした。コマンドライン/IOS のやり取りに精通しているネットワーク エンジニアを利用します。私自身、Cisco IOS の規約を学ぶのに必要な時間は最小限です。

解決策を探していると、ほとんどの人が SNMP を好むようです。 それ、または彼らの特定の状況が彼らをSNMPの方向へと駆り立てました。

SNMP の明らかな利点を見落としていないか知りたいと思いました。 SNMP を使用する必要がありますか? なぜですか、そうでないのですか?

4

9 に答える 9

4

SNMP は、Cisco デバイスから情報を取得するのに優れていますがデバイスの制御にはあまり役立ちません。(ただし、技術的には、SNMP と TFTP の組み合わせを使用して新しい構成を Cisco IOS デバイスにプッシュできます。ただし、まったく新しい構成を送信することは、ルーターまたはスイッチを制御するための非常に単純な手段です)。

他のコメンターの 1 人は、Cisco IOS XR XML API について言及しました。IOS XR XML API は、IOS XR を実行するデバイスでのみ使用できることに注意してください。IOS XR は、シスコのハイエンド キャリア クラス デバイスの一部でのみ使用されるため、すべてのシスコ ルータおよびスイッチの 99% では、IOS XR XML API はオプションではありません。

その他の可能性は、SSH または HTTP です (多くの Cisco ルーター、スイッチ、AP などには、オプションの Web インターフェイスがあります)。しかし、私はそれらのいずれにも反対することをお勧めします。私の知る限り、Web インターフェイスはデバイス間であまり一貫性がなく、かなり驚くべき数の Cisco デバイスが SSH をサポートしていないか、少なくとも基本ライセンスではサポートしていません。

ごく一部のデバイス モデルのみをターゲットにしている場合を除き、Telnet が唯一の方法です。比較対象として、Cisco 独自の CiscoWorks ネットワーク管理ソフトウェアは、Telnet を使用して管理対象デバイスに接続します。

于 2009-05-02T04:33:08.573 に答える
3

私は SNMP を使用せず、代わりに「expect」と呼ばれる小さな言語を調べます。これは、これらのルーターにとって非常に優れた期待/応答プロセッサになります。

于 2009-02-27T15:01:08.787 に答える
3

私はシスコのスイッチを使ってかなりの量の現実世界の SNMP プログラミングを行ってきましたが、Net-SNMP の上に Python を配置するのは非常に合理的であることがわかりました。以下は、Google ブックによる、Net-SNMP および Python を介して新しい Cisco 構成をアップロードする例です: Net-SNMP および Python を介した Cisco スイッチのアップロード。リンクで参照されている本の共著者であることを開示する必要があります。

好みは人それぞれかもしれませんが、私は個人的に を使用するのが好きではなくexpect、SNMP を使用することを好みます。SNMP は実際には「単純なネットワーク管理プロトコル」として設計されているからです。いざという時はexpectでもOKですが、第一候補にはなりません。一部の企業がexpectを使用する理由の1つは、開発者がexpectの使用に慣れていることです。誰かが telnet や ssh を自動化している例があるからといって、必ずしも SNMP をバイパスすることを止めようとは思いません。まずは自分で試してみてください。

期待で起こる本当に恐ろしいことがいくつかあるかもしれませんが、それも明らかではないかもしれません. Expect は入力を待機するため、適切な条件下では、デバッグが困難な非常に微妙な問題が発生します。これは、非常に経験豊富な開発者が期待値を使用して信頼性の高いコードを開発できないという意味ではありませんが、同様に注意する必要があります。

マルチプロセッシング モジュールを使用してノンブロッキング SNMP コードを記述した例をご覧ください。これはstackoverflowへの私の最初の投稿であるため、複数のリンクを投稿することはできませんが、グーグルで検索すると、IPythonとNet-SNMPを使用して別のリンクを見つけることができます.

SNMP コードを作成する際に留意すべきことの 1 つは、多くのドキュメントを読み、試行錯誤を繰り返すことです。ただし、シスコの場合、ドキュメントは非常に優れています。

于 2010-04-06T06:15:08.997 に答える
1

SNMP は悪くありませんが、必要なすべてのことを実行できない場合があります。使用するライブラリと、SNMP とのやり取りの詳細を隠す方法によっては、変更する MIB の正しい部分を見つけるのに苦労する場合があり、目的を達成するために何をどのように変更するかを知ることさえ難しい場合があります。

SNMP を使用しない理由の 1 つは、必要なすべての設定をIOS XR XML APIを使用して実行できることです。SNMP と対話するよりも、それを使用してデバイスに送信するコマンドをまとめる方がはるかに簡単です。

于 2008-10-24T18:21:37.537 に答える
1

私は、SNMP が管理上の苦痛であることを発見しました。ちょっとしたデータを取得する必要があるだけなら、それは素晴らしいことです。何かを変更する必要がある場合、または大量に使用する必要がある場合は、非常に時間がかかる可能性があります。私の場合、CLI に慣れているので、Telnet アプローチがうまく機能します。Telnetlibを使用してさまざまなネットワーク機器の管理タスクを実行するための Python スクリプトをいくつか作成しました。

于 2008-10-24T18:49:22.537 に答える
1

SNMP は、問題のデバイスで telnet と比較してかなり大きな CPU ヒットを持っています。可能な限りtelnetをお勧めします。(以前の回答で述べたように、IOS XR XML API は便利ですが、私の知る限り、IOS XR はハイエンドのキャリア グレードのルーターにのみ展開されています)。

既存の構成管理システムに関しては、HP Opsware と EMC Voyence の 2 つの商用プレーヤーがあります。どちらもおそらくあなたが必要とすることをします。変更の展開を実際にサポートしている多くのオープン ソース ソリューションを私は知りません。(たとえば、 RANCIDは構成の監視のみを行い、構成変更の事前ステージングおよびデプロイは行いません)。

独自のソリューションを展開する場合、ネットワーク管理者と一緒に座って、彼が提供するサービスのベスト プラクティス展開モデルを考え出すことをお勧めします (例: 標準化された ACL、QoS キュー、および VLAN 名。異なる顧客に対して同じ機能を持つ ACL のエントリなど)。設計を開始する前に、既存の展開済みのすべての構成がこの BP に準拠していることを確認してください。これにより、問題がより管理しやすくなります。幸運を祈ります。

于 2008-11-01T22:41:45.000 に答える
0

補足: 別のサービス プロビジョニング システム/ネットワーク管理システムを作成する車輪を再発明する前に、既存のものを探してみてください。私は、さまざまな程度の柔軟性/機能を備えた商用ソリューションをかなり多く知っていますが、オープンソースのソリューションもかなり多いと確信しています。

于 2008-10-24T18:49:51.240 に答える
0

シスコには、ヘルプデスク アプリケーションのメニュー オプションが含まれています。基本的に、ボックスに telnet で接続すると、きれいなメニューが表示されます (1、2、3 を押します)。詳細については、次のリンクを確認してください。

http://www.cisco.com/en/US/docs/ios/12_2/configfun/command/reference/frf001.html#wp1050026

于 2009-11-06T18:52:34.453 に答える
0

期待にもう一票。

また、telnet または SNMP のいずれかを介してファイアウォールの構成を許可したくない - ssh が唯一の方法です。その理由は、ssh がそのペイロードを暗号化し、特権管理資格情報を潜在的な傍受にさらさないためです。

何らかの理由で ssh を直接使用できない場合は、ssh 対応のシリアル コンソール サーバーをファイアウォールのコンソール ポートに接続し、そのように構成することを検討してください。

于 2009-12-03T00:25:52.953 に答える