2009年9月25日金曜日

tclsh で ping

Cisco IOS に tcl スクリプトが使える機能がある。私は、tcl が分からないので、自由に使いこなせない。

CCIE ラボ試験やその演習で各ルータのインタフェースへの疎通確認を何度も行う必要があるのだが、
foreach ループで ping を繰り返すテクニックはよく知られているようだ。
IEWB-RS の演習でさっそく試してみた。
  1. 各ルータ、スイッチで、"sh ip int b | e unass" を実行して、インタフェースに割り当てられた IP アドレスをコピーし、メモ帳に貼り付ける。
  2. 以下のように編集して、インタフェース名と IP アドレスを foreach ループで囲う。
    tclsh
    foreach D {
    ----R1
    FastEthernet0/0 10.1.1.1
    Serial1/0 10.1.2.1
    Loopback0 10.1.3.1
    ----R2
    FastEthernet0/0 10.2.1.2
    Serial1/0 10.2.2.2
    Loopback0 10.2.3.2
    } { if { [ regexp {^\d} $D ] } {
    ping $D re 2 } else { puts "$D\n" } }
    tclquit
  3. これを、貼り付けて実行すれば OK。
    ※ 実際には、tclsh だけ先に入力しておかないと、入力が早すぎてエラーになってしまった。
参考

0 件のコメント: