1

次のいずれかがありますか?

Cisco の「show conf」の出力を次のような適切な XML に変換できる、自由に利用できるプログラム (おそらくあまり適切ではない) ブロック形式:

<aaa>
  <new-model/>
  <authentication>
    <login>
      <default>
        <group id="tacacs+">enable</group>
      </defult>
    </login>

    <!-- ...etc... -->

  </authentication>
</aaa>

...または、そうでない場合は、実装できる XML スキーマでしょうか? IOS 構文を深く理解していないと、スキーマを構築するのが難しいことがわかります。

4

2 に答える 2

2

シスコは、IOS 設定のスキーマを提供していません。ただし、次の 2 つのオプションがあります。

  • Cisco の IOS XR には XML サポートが組み込まれています。ルーターのモデルによっては、アップグレードできる場合があります。これを機能させるには、「xml-agent」機能を有効にする必要があります。この機能はまだ信頼できるとは限らないことに注意してください (最後に確認したところ、使用できないバグがいくつかありました)、多くの人にとっては十分な機能です。

  • アップグレードがオプションでない場合は、この恐ろしい醜いハックがあります (これは私のせいです):

http://code.google.com/p/text2xml/

かなりの数のコマンドの XML への変換をサポートする IOS の構文 (リポジトリ内の syntax/ios.def) が付属していますが、決して完全ではありません。それでも、ここでは多数の非常に複雑な構成で機能し、新しい IOS コマンドをサポートするように拡張するには、新しいコマンドを (非常に読みにくく、理解しにくい) 構文定義に追加するだけです。

結果の XML をより安定したものに変換したい場合もありますが、XML 変換は IOS を解析するよりもはるかに簡単です (これはロイヤル PITA です)。

[編集] 上記の回答は現在ほとんど使用されていません。私はGelatinを作成しました。これにより、IOS および IOS XR の構成を XML、JSON、または YAML のいずれかに変換できます。これは基本的に、前述の醜いハックの代わりになりますが、次のような違いがあります。

  • 私はもはやそれを醜いハックとは呼びません。私は実際にそれをかなり誇りに思っているので、幻滅しないでください! もっと深刻なことに、問題が見つかった場合はお知らせください。修正します。
  • 純粋な Python で記述されており、C にコンパイルされなくなったため、使用とインストールがはるかに簡単になりました。(また、C コードを生成することによるパフォーマンスの向上は、とにかく重要ではありませんでした。)
  • 構文は理解しやすい方法です。いくつかのドキュメントもあります。
  • パーサーははるかに安定しています。

簡単なハウツー:

  • Gelatin をダウンロードしてインストールします。

    git clone git://github.com/knipknap/Gelatin.git
    cd Gelatin
    sudo python setup.py install
    
  • このパッケージには、IOS 用の構文 (syntax/ios/show_running_config/syntax.gel) と、IOS XR 用の別の構文 (syntax/ios_xr/show_running_config/syntax.gel) が含まれています。

  • 次のコマンドを使用して構成を XML に変換します。

    gel -s syntax.gel config.txt
    

それが失敗した場合は、機能しない構成でバグを報告してください。(または、構文のパッチを添付することをお勧めします。) まだ多くの IOS コマンドが欠落していることを十分に期待しているので、恥ずかしがらないでください。

Gelatin は、ほとんどすべてを XML に変換するために使用できます。独自の構文ファイルを作成した場合は (詳細な手順はこちら)、送信してください。フィードバックは喜んで受け付けます。

于 2009-12-13T19:55:58.067 に答える
1

私は、12.4(20)T、12.2(33)SRE、12.2(54)SG 以降で、このような問題に対処するXML-PIに出会いました。

于 2010-12-29T10:57:54.190 に答える