20_基礎Ciscoルータでtclを使いこなす!ベル今回の授業は、『CiscoルータでTclshを使って疎通確認しよう』です。Cisco機器で使えるスクリプトを紹介させていただきます。まとめ通常の連続Ping例えば、通常Pingを実行しようとすると、以下のようなコマンドを特権モードで実行したりします。192.168.2.1この内容をコピペしてみてください。Termに貼り付ける時は、『Ctl+v』でなく『Alt+v』になる点です。覚えておいてください。これがすべて疎通可能であれば何も問題ないのですが、途中のあて先に通信不可が発生すると、通信不可と判定する『.....』を表示するまでに時間を要してしまい、次のコマンドが実行される前に終了してしまうことがあるのです。これは、パソコンからネットワーク機器に1行転送したらコマンドを実行し、完了したら次のコマンドをパソコンから転送する仕組みとなっているからなのです。その待ち時間を超えてしまうほどの待機が発生すると、タイムアウトになり転送されなくなってしまうのです。以下を見てもらえばわかると思いますが、2つの宛先にしか疎通確認できていないですよね。このような事態が発生してしまうのです。tclshを使った連続Pingtclshとは、Ciscoルータで使用できるスクリプトです。今回は、これを使ってPing疎通をしてみます。tclshの起動まずはtclshを起動させましょう!RT1#tclshRT1(tcl)#このコマンドにより、tclシェルモードが起動されます。終了したい場合は、『exit』だけで終了することが可能となります。RT1(tcl)#exitRT1#foreach文を使ったpingforeach文を使うことで不規則な宛先に向けて、連続で疎通確認を実施することが可能となります。実行コマンドは以下になります。}内の文字を順番に入れるための構文となります。今回で言えば、『宛先アドレス』を順番に入力してみてください。次に実行するためのコマンドとなります。』の「i」にアドレスを代入して実行させます。今回で言うと『192.168.2.254』、『192.168.2.253』、『192.168.2.1』が順番に代入されていくことになります。スクリプトを実行することで、コピぺのデータ転送がすべて完了されてからPingが実行されるため、疎通結果に関わらず実行することが出来るのです。実行結果が以下の通りです。2回目の実行結果が不可であったのにも関わらず、次のコマンドが実行されていることがわかりますよね。このように事前にコマンドを転送しておくことで、転送完了後に実行することが出来るので、途中終了することが防げます。for文を使ったpingfor文を使うことで、規則的に並んだ宛先への疎通確認が容易に出来るようになります。以下のようにコマンドを実行することで、『192.168.2.1』〜『192.168.2.5』までの疎通確認を実行することが可能となります。』の「1」が宛先の初期値になります。今回は、『192.168.2.1』からの連番としたため、「1」としておりますが、『192.168.2.100』から始めたければ、「100]に変更してください。』は変数『i』に加える変更の値となります。今回は、1ずつ加算したいので値を「1」にしていますが、試験したい環境に合わせて変更してください。加算したい値を変数などにすることも可能ですので、試してみてください。』は、変数「i」の終了条件となります。今回は、変数「i」を1ずつ加算していき「5」を超えたら終了となるように記載してあります。これにより、『192.168.2.1』から『192.168.2.5』までを実行させることになります。ネットワーク更改などで大幅な変更が入った場合などに全ての端末・サーバに疎通確認する場合などに、大変役に立つと思いますが、for文みたいに規則的にアドレスが使用されていることは稀で、どちらかというとforeach文のようなアドレスリストを作成して実行する方が現実的かもしれません。どちらも覚えておいて使えるようになるとGoodですね!まとめベル今回はネットワークエンジニアの裏技的なものを紹介させていただきましたが、いかがでしたでしょうか?難しかったかもしれませんが、ちょっと知っているだけですごい便利な機能なんです。ネットワークエンジニアってマクロとかに弱い人が多いので、少しできるだけでも見られ方が変わってきたりするものです。コメントをキャンセルメールアドレスが公開されることはありません。technology.%d人のブロガーが「いいね」をつけました。