11.24.2012

TCLマクロについて

CCIE LAB試験、特にConfigurationの時に知っていると便利なのが、TCLマクロです。
僕自身、TCLの文法にあまりなじみがなく、とてもおぼえるのが大変でした。
しかし、これを憶えておかないと、Configurationで登場するすべてのホストへのPingに非常に手間がかかることになるので、憶えておいて損はないでしょう。



※一部Catalystだとこのマクロが使えない、IOSのバージョンによって書式が違う、などがあるようですが、少なくともRnS ver 4.0受験時はRouterとSwitch両方で動作した実績があります。しかし、言わずもがなですが、ご自身での検証を推奨します。

特権モードでtclshをタイプし、tclマクロ実行モードに移行します。
※下記の書式でマクロを流し込みます。


foreach■address■{
172.31.1.1
172.31.2.2
172.31.3.3
172.31.4.4
172.31.5.5
172.31.6.6
■}■{■ping■$address■}

スペースの位置が違う、改行場所が違うだけで動作しませんので、注意してください。(■はスペース)

tcl書式について少し解説しておくと、以下の通りです。
(一応誤りのないよう確認しておりますが、tclマクロについては専門領域ではないので、誤りがある可能性があります)

{}の中は条件を指定しています。
上記マクロの中でaddress部は変数を示しています。
変数の条件を{}の中で指定しています。
pingはciscoで実行するコマンドを示しています。
$は事前に指定した変数を呼び出すコマンドです。
172.31.x.xの部分には、Pingを実行したい対象のIPアドレスを記述します。

IOSのバージョン(サポートするtclのバージョン?)によっては、172.31.x.xの部分にip をつけなければ動かないなどの場合もあるようです。

いずれにせよ、可能な限り多くの検証機でマクロの動作を確認しておいた方がいいと思います。
tcl文法に詳しい人であれば、もっと複雑な動作をさせるようなマクロをくむことができるようですが、僕は基本的に何でもシンプルに考えるのが好きなので、上記のマクロで十分であると考えています。
あまり複雑に書きすぎて、試験中にマクロがうまく動作しない場合は、試験と全く関係のないマクロの不具合切り分けをしなければならなくなります。


0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...