【CCNA】(5)Ciscoデバイスの操作方法

第5章 Ciscoデバイスの操作方法

Ciscoルータ – 操作、コンソール接続

◆ Ciscoルータへのアクセス方法:コンソール接続

 Cisco機器を操作するために最低限必要なものはパソコン、コンソールケーブル、Cisco機器本体の3つです。
 コンソールケーブルはルータなどの購入時に付属しています。左下図の通り、ルータ側のコンソールポート
 に接続するインターフェースの形状はRJ45となっており、PC側に接続するインターフェースの形状はDB-9
 となっています。現在のPCはUSBポートはありますがDB-9形状のインターフェースはないことが多いので
 USB to RS-232変換ケーブルを使用して、USBをPC側に接続して、Cisco機器側にコンソール接続させます。


 あるいは、USB to RS-232変換ケーブルを使用することなく、PCとCiscoルータを接続することも可能です。
 以下の「USB RJ45コンソールケーブル」を使用することで、この1本だけでPCとCiscoルータをコンソール


 接続することが可能です。Cisco社製品の「RJ45コンソール端子」を「USB端子」に変換するケーブルです。

 ◆ Ciscoルータへのアクセス方法 – 電源ケーブルの接続

 Cisco機器の一般的な電源ケーブルは、下図の右側のケーブルどおり「AC100V/平行3ピン」のものです。
 この電源ケーブルの角にはアース(感電防止、装置保護のために必要)があるので、通常の一般家庭用の
 コンセントでは接続することができません。そこで下図の2ピンのコネクタに変換してコンセントに接続
 するかOAタップを購入して電源ケーブルを接続します。コンセント状況に応じてどちらかを入手します。


 ◆ Ciscoルータへのアクセス方法 – Tera Termを利用

 Cisco機器の設定情報や各種ステータスを確認するためには、PCにターミナルエミュレータソフトウェア
 をインストールして使用します。多くのネットワークエンジニアが使用しているのが Tera Term です。
 このソフトウェアを使用するためには、先ずPCのデバイスマネージャでUSB Serial PortにCOMポートが
 何番が割り当てられたのかを先ず確認します。今回のPCではCOMポートが「5」が割り当てられています。


          



 Tera Term Proを起動させると以下の画面が表示されます。シリアルポートで、デバイスマネージャで確認
 したCOMポート「5」をタブメニューから以下のように選択してOKをクリックします。なお、画面の表示通り


 事前にCOMポートを確認しなくても、最近のTera TermではどのCOMポートを使用すればいいの分かります。

 これでCisco機器の設定画面が確認できるようになりますが、念のため確認として、Tera Termのメニューの
 「設定」⇒「シリアルポート」を選択して以下の画面が表示させます。COMポート番号はPCにより異なるが
 それ以外の「ボーレート、データ、パリティ、ストップ、フロー制御」は共通設定なので以下の通りにします。

設定項目設定値説明
ボー・レート9600 COMポートからデータを転送する時の最大伝送速度。9600bpsにする。
データ8 bit 送受信する文字のために使用するビット数。8ビット(1byte)にする。
パリティnone ( なし ) 誤り検出。エラーチェックは無効(none)する
ストップ1 bit ストップビット。各文字が送信される間の時間を1秒に1ビットとする。
フロー制御none ( なし ) データフローの制御方法。ここではフロー制御を無効(none)にする。


 ※ Cisco機器に大量のデータ(コンフィグ)を送信する場合は送信遅延を15ミリにすると、取りこぼしなく送信できます。

 以上の通り、電源ケーブル接続、コンソール接続、そしてターミナルソフト(tera term)を設定できたら
 Ciscoルータの電源を入れてみましょう。PCのtera termの画面は以下のように表示されることになります。
 これはCiscoルータの起動時の画面です。設定方法は次ページ以降にて解説していきます。

 

 ※ Ciscoルータの場合、電源スイッチのOFFはいつ行ってもOKです。PCやサーバ等とは異なりシャットダウンの概念はありません。

Ciscoルータ – メモリの種類と起動順序

今回出てくる用語

・ROMとは
・RAMとは
・NVRAMとは
・フラッシュメモリとは

◆ Ciscoルータ ( メモリの種類 )

 CiscoルータはCPU、シャーシ、インターフェース、モジュール、IOS、そして色々な種類のメモリから
 構成されます。今回はそのメモリに焦点をあて解説していきます。Ciscoルータは、下図のとおり大きく
 4種類のメモリ(ROM、RAM、NVRAM、フラッシュメモリ)で構成されます。各メモリには下図の通り、
 Ciscoルータを起動させて、動作させるために重要な情報が格納されています。詳細を見ていきましょう。


     


 ◆ ROM ( Read Only Memory )

 ROMは読み込み専用メモリです。ROMには3つのプログラムが格納されており、このプログラムは消去する
 ことはできません。なお、レガシーなCisco機種のROMにはmini IOSというプログラムも格納されています。
 mini IOSはIOSを最小限の機能を有するプログラムのことであり、ブートヘルパーイメージとも呼ばれます。

ROMのプログラム説明
POST 電源投入時に実行する自己診断プログラム。CPU、メモリ、インターフェースのハードウェア試験を実施。
ブートストラップ Cisco IOSのロードするためのプログラム。ブートストラップはコンフィグレーションレジスタ値の参照と
 Cisco IOSの検索と読み込みを行う。先ず、コンフィグレーションレジスタ値に従い起動方法を指示する。
 その後、Cisco IOSを検索してCisco IOSをロードする。(デフォルトはフラッシュメモリからロードする)
ROMMON パスワード復旧やトラブルシューティングの際に使用するプログラム。パスワードを忘れた場合、ルータ
 を起動するタイミングで「Alt+B」キーを押す(※1)とROMMONモードに移行しパスワード回復できる。
 フラッシュメモリに格納されたCisco IOSが破損している場合には、自動的にROMMONモードに移行する。

 ※1 Tera Termを使用する場合は「Alt + B」、ハイパーターミナルを使用する場合は「Ctrl + Break」キーを押す必要があります。



 ◆ RAM(Random Access Memory)

 RAMは読み書き可能なメモリです。このメモリにある情報だけはルータの電源OFF時に全て消去されます。
 RAMには、現在稼働中の設定情報(running-config)だけでなく、フラッシュメモリ内のIOSが展開する
 領域としても使用されます。RAMはいわばルータの作業領域です。以上の事からこれらの情報だけでなく
 動的な情報であるルーティングテーブルやARPテーブルなどについても、RAMに格納されることになります。
 ※ ここでいうRAMは一般的にはDRAMと呼ばれており、機器仕様にもDRAMと一般的に表現されています。



 ◆ NVRAM ( Non-Volatile Random Access Memory )

 NVRAMは読み書き可能なメモリです。不揮発性ランダムアクセスメモリであるNVRAMはRAMとは異なりルータの電源OFF時にもNVRAM内に格納された情報は保持されます。NVRAMには、保存された設定情報
 (startup-config)とコンフィグレーションレジスタ(ルータの起動方法を決定する値)の2つが存在します。



 ◆ フラッシュメモリ

 フラッシュメモリは読み書き可能なメモリです。FLASHとも呼ばれます。ここにはIOSが格納されています。
 FLASHにあるIOSは一般的に圧縮されているため、実際には、IOSはRAMに解凍されて動作しています。


 ◆ Ciscoルータ ( 起動順序 )

 Ciscoルータに電源を投入した後の正常な起動順序です。基本的にどの機種にも適用できる内容です。

項番項目項目の説明
POSTの実行 POSTを実行してハードウェアの自己診断を開始する。
ブートストラップの実行 ブートストラップのプログラムを実行する。
コンフィグレーションレジスタ参照 ブートストラップによりコンフィグレーションレジスタの値が読み込まれて、
 起動モードが決定する。(セットアップモード or ROMMONモード or ・・ )
Cisco IOSソフトウェアの検索 ブートストラップによりIOSが検索される。NVRAMにあるstartup-configに
 boot systemコマンドで定義した内容に従って、読み込むIOSを決定する。
Cisco IOSソフトウェアのロード ブートストラップによりIOSがロードされる。boot systemコマンドで定義
 した内容に従いIOSが読み込まれる。boot systemコマンドでの定義がない
 場合、フラッシュメモリ内にあるIOSが読み込まれて RAM にロードされる。
コンフィグレーションの検索 NVRAM内にstartup-configが存在するかどうかを検索する。
コンフィグレーションのロード NVRAM内にstartup-configが存在する場合、startup-configをRAM上に
 ロードしてrunning-configとして実行する。NVRAM内にstartup-configが
 存在しない場合、セットアップモードとして起動する。
Cisco IOSソフトウェアの実行 running-configの内容に従って、IOSソフトウェアが実行される。



    


 フラッシュメモリにCisco IOSソフトウェアが存在しないか、またはIOSソフトウェアが破損している場合、
 ROM内にmini IOSがあるならmini IOSで起動します。ROM内にmini IOSが存在しない場合はROMMONで
 起動します。それぞれの起動状態においてルータに表示されるプロンプトの表示は以下のとおりとなります。
 ※ IOSはboot systemコマンドの定義により、TFTPサーバ経由で起動することも可能ですが、一般的にそのような起動はしません。

フラッシュメモリ内のIOSで正常に起動ROM内のmini IOSで起動ROM内のROMMONで起動
Router>Router(boot)>rommon 1 >


 以下にネットワークエンジニアとして知っておくべきコンフィグレーションレジスタの値を4つ紹介します。
 コンフィグレーションレジスタの詳細は、Cisco IOS(コンフィグレーションレジスタ)をご参照下さい。

主なコンフィグレーションレジスタ値動作内容
0x2100ROMMONで起動させる。(基本的に使用しない)
0x2101mini IOSで起動させる。(基本的に使用しない)
0x2102正常にIOSで起動させる。(デフォルトの値)
0x2142正常にIOSで起動させるがNVRAMを見させない(パスワードリカバリーで使用)

まとめ

・ROMとは
→読み込み専用メモリです。ROMには3つのプログラムが格納されており、このプログラムは消去することはできません。

・RAMとは
→読み書き可能なメモリです。このメモリにある情報だけはルータの電源OFF時に全て消去されます。

・NVRAMとは
→読み書き可能なメモリです。不揮発性ランダムアクセスメモリであるNVRAMはRAMとは異なりルータの電源OFF時にもNVRAM内に格納された情報は保持されます。

・フラッシュメモリとは
→読み書き可能なメモリです。FLASHとも呼ばれます。ここにはIOSが格納されています。

Cisco IOS – 各コンフィグモード

今回出てくる用語

・Cisco IOSソフトウェアとは
・セットアップモードとは
・EXECモードとは
・コンフィグレーションモードとは

◆ Cisco IOSソフトウェアとは

 PCには、WindowsやMAC OSと呼ばれるソフトウェアが入っているように、Cisco機器には、Cisco独自の
 ソフトウェアが入っています。それがCisco IOS(Internetwork Operating System)です。Cisco IOSは
 現在のシスコ製品のほとんどのルータやスイッチなどに搭載されているソフトウェアです。Cisco IOSでは
 WindowsのようなGUIではなくCLI(Command Line Interface)形式でコマンドというテキストの文字列を
 Tera Term Proなどのターミナルソフト上で入力していくことによって、CISCO機器の動作を制御できます。



 ◆ Cisco IOS – アクセスする3つの方法

 Cisco機器にアクセスする方法、つまりCisco機器のIOSにアクセスする方法は、大きく3種類あります。

3つのアクセス方法アクセス方法の説明
コンソール接続 コンソールポートにコンソールケーブルを接続してアクセスする方法
AUX接続 AUXポートにコンソールケーブルを接続してアクセスする方法
VTY接続 PCから、LANネットワークなどを介してtelnetまたはSSH接続してアクセスする方法


        



 ◆ Cisco IOS – セットアップモードとは

 Cisco機器の電源を入れるとIOSや設定情報(コンフィグ)等が読み込まれ、機器の起動が完了しますが、
 新品のCisco機器や設定情報が全く入っていない機器では、起動後に最初に以下の画面が表示されます。
 これはセットアップモードの画面です。セットアップモードではルータのホスト名、IPアドレスなどの
 初期設定を対話形式で行います。この画面が表示されてyesと入力して、Enterキーを押すことでセット
 アップモードが開始されますが no と入力してEnterキーを押すことでセットアップモードは終了します。

 



 一般的にネットワークエンジニアはこのセットアップモードは使用しません。設定情報は必要な部分だけ
 をCLI形式で入力するのが一般的です。ですからここではnoと入力しましょう。すると、画面上の表示に
 Press RETURN to get started!というメッセージが出るので、Enterキーを押します。そうすることで
 以下の画面が表示されます。この状態は以下で解説している「ユーザEXECモード」と呼ばれる状態です。

 

 yesと入力しセットアップモードに移行しても、Ctrl + Cと入力すればセットアップモードを終了しユーザEXECモードへ移行可。


 ◆ Cisco IOS – EXECモードとは

 上記のいずれかのアクセス方法によって、Cisco機器にアクセスする(= Cisco機器にログインする)とCisco IOSの対話型モードであるEXECモード(エグゼクモード)と呼ばれるモードに自動的に移行します。
 このEXECモードは2種類あります。ユーザEXECモードと特権EXECモードです。違いは以下の通りです。

モード名通称プロンプト表示例説明
ユーザ
EXECモード
ユーザモードRouter> 入力できるコマンドが制限されている。機器のステータスを
 確認するだけならこのモードでのコマンド入力作業でOK。
特権
EXECモード
特権モード#Router# 全てのコマンドを入力することができる。機器の動作に影響
 を与えるコマンドを入力する場合は、このモードに移行する。


 Cisco機器にログインすると最初はユーザEXECモードの状態です。特権EXECモードに移行するためには、
 enableコマンドを入力する必要があります。このため特権EXECモードはイネーブルモードとも呼ばれます。
 一方、特権EXECモードからユーザEXECモードに戻るためにはdisableコマンドを入力する必要があります。
 ※ 一般的に多くのネットワークエンジニアは、特権EXECモードのことをイネーブルモードと読んでいます。


      


 どちらのモードの場合でも、exitコマンドを入力することでCisco機器からログアウトすることになります。




 ◆ Cisco IOS – コンフィグレーションモードとは

 Cisco機器の設定を変更するためにはコンフィグレーションモードと呼ばれるモードにする必要があります。
 特権EXECモードの状態でconfigure terminalコマンドを入力することで、グローバルコンフィグレーション
 モードと呼ばれるモードに移行します。本モードではCisco機器全体に関わる設定変更を行うことができます。
 グローバルコンフィグレーションモードではプロンプト表示がRouter(config)#と表示されるようになります。


  


 機器全体に関わる設定ではなく、機器のインターフェース部分の設定を行いたい場合は、インターフェース
 コンフィグレーションモード、ルーティングプロトコルの設定を行いたい場合、ルータコンフィグレーション
 モード、Console、AUX、VTYなどの設定をしたい場合はラインコンフィグレーションモードというモードに
 移行する必要があります。このモードは、グローバルコンフィグレーションモードからさらに移行したモード。


  



 上記以外にもコンフィグレーションモードが存在しますが、最も使用されるモードはこれら3つとなります。
 これらのモードではexitコマンドを入力することでグローバルコンフィグレーションモードへ戻り、さらに
 exitコマンドを入力することにより特権EXECモードへ戻りますが、end コマンドを入力することによって、
 いきなり特権EXECモードに移行することも可能。「Ctrl」+「Z」キーを入力しても同様の結果となります。


   

コンフィグレーションモード名プロンプト説明
グローバル
コンフィグレーションモード
(config)# CISCO機器全体に関わる設定変更が可能なモード
インターフェース
コンフィグレーションモード
(config-if)# 機器のインターフェース部分の設定変更が可能なモード
ルータ
コンフィグレーションモード
(config-router)# ルーティングプロトコル部分の設定変更が可能なモード
ライン
コンフィグレーションモード
(config-line)# ライン (console, aux, vty) 部分の設定変更が可能なモード

まとめ

・Cisco IOSソフトウェアとは
→Cisco機器には、Cisco独自のソフトウェアが入っています。それがCisco IOS(Internetwork Operating System)です。

・セットアップモードとは
→Cisco機器の電源を入れるとIOSや設定情報(コンフィグ)等が読み込まれ、機器の起動が完了しますが、新品のCisco機器や設定情報が全く入っていない機器では、起動後に最初に表示される画面

・EXECモードとは
→セットアップモードでアクセスすると、Cisco機器にアクセスする(= Cisco機器にログインする)とCisco IOSの対話型モードであるEXECモード(エグゼクモード)と呼ばれるモードに自動的に移行します。

・コンフィグレーションモードとは
→Cisco機器の設定を変更するためのモード

Cisco IOS – CLIの使用方法

◆ Cisco IOS – CLIの使用方法( ヘルプ機能 )

 Cisco IOSにはヘルプ機能があります。?コマンドを入力することで、現在のモードで実行できる
 コマンドの一覧情報が表示されます。例えば以下はユーザEXEモードで?コマンドを入力した結果。

 


 一方、以下はenableコマンドを入力して特権EXECモードに移行してから ? コマンドを入力した結果。
 ユーザモードの場合と表示結果が異なります。コマンドはアルファベットの a から z 順で表示されます。

 



 このように?コマンドで入力できるコマンド情報が得られます。また、例えば「a」から始まる入力できる
 コマンド情報を得たい場合、以下のように「a」を入力した直後に?を入力すればコマンドを絞り込めます。

 


 また、1つのコマンドを入力した上で?コマンドを入力すると、そのコマンドに続くコマンドの一覧情報を
 得られます。ここでは「show」コマンドの後にスペースを入力することで、showコマンドに続くコマンド
 の一覧情報を表示しています。showコマンドの後には以下コマンドを続けて入力できることが分かります。

 


 ◆ Cisco IOS – CLIの使用方法 ( –More– )

 ?コマンドやshowコマンドでコマンドを表示させたり、show running-configで設定情報を表示させると
 画面下に –More– が表示されます。これは出力結果に続きがあることを意味します。PCのspaceキーを
 入力すれば、さらに1画面分の情報が表示されます。Enterキーを入力すれば1行分の情報が表示されます。
 それ以外のキーを入力すると表示出力がストップします。なお–More– は24行ごとに改行し表示されます。

 



 この24行の出力表示する行数は設定変更できます。特権EXECモードで terminal length コマンドを
 入力することで変更できます。例えば出力表示を30行にしたい場合、terminal length 30と入力します。

 



 出力行数は 0~512 行の間で指定できます。なお、terminal length 0と入力すると–More–機能が無効に
 なるので –More– が表示されることなく一度に全情報が表示されます。これは、コンフィグの収集の際に
 よく使用されます。このコマンド設定では現在のターミナル画面だけに適用されますので、現在開いている
 ターミナル画面(tera term画面)を閉じるとデフォルトの24行表示に戻ります。出力行数の値を継続的に
 適用したい場合はコンソールポート上で設定します。これにより、この機器では常に30行が出力されます。

 



 ◆ Cisco IOS – CLIの使用方法 ( コマンドの省略機能 )

 Cisco IOSではコマンドを入力する際に全ての文字列を入力することなく、省略した単語で入力可能です。
 例えば、特権EXECモードに移行するために “enable” と入力するのではなく “en” と入力することにより
 特権EXECモードに移行できます。以下は FastEthernet0/0 に移行するまで全て省略して入力している例。

 



 多くのネットワークエンジニアはコマンドの文字列を全て入力するのではなく、上記の通り、省略表記で
 入力しています。もし上図のコマンドの文字列を全て入力した場合は以下となります。これはとても面倒。

 


 ただし、省略する場合でも一定以上の文字列の入力は必要です。例えば “conf t” と入力するところを
 “con t” と入力した場合はAmbiguous command: “con t”とメッセージが表示されます。この出力は
 “con t”が曖昧なコマンドであることを指摘しています。“con?” と入力すれば分かるかと思いますが、
 conと入力すると“configure”か“connect”なのか判断できないので“conf ”まで入力する必要があります。

 


 Cisco IOSでは、コマンドの入力途中にPCのTabキーを入力することで、そのコマンドの文字列がすべて
 表示されることになります。例えば、“conf”と入力してTabキーを入力すると自動的に“configure”と表示
 されます。このTabキーも、“configureと”判断できる“conf”まで入力してからTabを押す必要があります。

 

Cisco IOS – 編集キーとエラーメッセージ

◆ Cisco IOS – CLIの使用方法(編集キーによる編集)

 Cisco IOSでは、コマンドの文字列を入力する際に、PCのCtrlキーなどを利用した編集キーを使用
 することができます。編集キーはコマンド入力時に便利な機能です。主な編集キーは以下となります。

編集キー編集キーの説明
Ctrl + A 入力しているコマンドの先頭へカーソルが移動
Ctrl + E 入力しているコマンドの末尾へカーソルが移動
Ctrl + B 1文字分、左へカーソルが移動 ( 「←」キーの入力と同じ結果 )
Ctrl + F 1文字分、右へカーソルが移動 ( 「→」キーの入力と同じ結果 )
Ctrl + D カーソルの位置にある1文字を削除
Ctrl + H カーソルの左にある1文字を削除( 「BackSpace」キーの入力と同じ結果 )
Ctrl + W カーソルの左にある1単語を削除
Ctrl + U 入力しているコマンドの1行を削除
Ctrl + C セットアップモードを終了し、ユーザEXECモードへ移行
Ctrl + Z コンフィグレーションモードを終了し、特権EXECモードへ移行
Escの入力後、B 1単語分、左へカーソルを移動
Escの入力後、F 1単語分、右へカーソルを移動


 現場のネットワークエンジニアがこれらの編集キーを全て使用して、コマンド入力を行っているかというと
 決してそうではなく、多くのネットワークエンジニアは「Ctrl + A、Ctrl + E、Ctrl + Z」等と矢印キーは
 よく使用すると思いますが、それ以外はあまり使用しないでしょう。例えば Esc キーを使用するくらいなら
 矢印キーの方が確実で早いです。ちなみに、ターミナルソフトによっては使用できない編集キーもあります。


 ◆ Cisco IOS – CLIの使用方法(コマンドヒストリ)

 Cisco IOSでは一度入力したコマンドはその入力履歴が一時的にメモリに保存されます。この機能のことを
 コマンドヒストリといいます。これにより再度同じコマンドを入力したい場合、Ctrl + Pと入力することで
 直前に入力したコマンドが呼び出されて非常に便利。矢印キーで「↑」を押すことで同じ結果が得られます。

キーキーの説明
Ctrl + P 直前に入力したコマンドを呼び出します。「↑」キーの入力と同じ結果が得られる。
 1回押すごとに直前に入力した新しいコマンドから古いコマンドへ順番に表示されていく。
Ctrl + N 「Ctrl + P」を入力するごとに、過去に入力した古いコマンドが呼び出されていくが
 「Ctrl + N」を入力すれば、古いコマンドから新しいコマンドの呼び出しに戻られる。
 「↓」キーの入力と同じ結果が得られる。


 一時的にメモリに保存されている入力コマンドの履歴は show history コマンドで確認することができます。
 例では、直前に入力したコマンドがshow historyであり、そしてこのCisco機器にログインし最初に入力した
 コマンドがenableであると分かります。このコマンド入力履歴はデフォルトで20個まで一時的に保存される
 ので、21個目のコマンドを入力した場合は、最初に入力したコマンド(この例ではenable)が消去されます。

 


 コマンドヒストリのデフォルトのバッファサイズの20は、特権EXECモードで以下のコマンドで変更できます。
 terminal history size の後の数字がバッファサイズです。設定後のステータスは show terminal コマンドの
 「history size is ~」という項目で確認できます。ちなみに、特権EXECモードで入力するterminal関連の実行
 コマンドは、現在開いているターミナルだけに適用されるものであり、例えば、現在使用しているターミナル
 ソフトのTera Term Proの画面を閉じれば、設定値は自動的にデフォルト値に戻っています。

 



 ◆ Cisco IOS – CLIの使用方法(エラーメッセージ)

 ◇ 曖昧コマンドによるエラー
 以下の% Ambiguous command:メッセージが表示される場合、入力したコマンドの文字列が不足している
 ことを意味します。この場合、”con”が”configure”なのか”connect”なのか判断できない結果のエラーです。

 



 ◇ 不足コマンドによるエラー
 以下の% Incomplete command.メッセージが表示される場合、入力コマンドが不完全であることを
 意味します。例えば、Cisco機器のホスト名の設定を行うためにはhostname CISCOのようにhostname
 の後にホスト名を定義するための文字列(例ではCISCO)が必要です。しかし、“hostname”とだけしか
 入力していない結果、hostnameのコマンドの引数が不明であるため不完全としてエラーが出力されます。

 



 ◇ 構文ミス(スペルミス)によるエラー
 以下の% Invalid input detected at ‘^’ marker.メッセージが表示される場合、入力コマンドのスペルが
 間違っていることを意味します。以下では、正確には「hostname CISCO」と入力しなければいけない所を
 スペルミスで “s” が抜けてしまっているのでエラーが表示されています。間違い部分には ” ^ “があります。

 



 ◇ モード間違いによるエラー
 以下の% Invalid input detected at ‘^’ marker.メッセージが表示される場合、入力コマンドのスペルが
 間違っている場合に出るメッセージですが入力したコマンド正しくないモードである場合でも発生します。
 ホスト名の設定は、機器全体に関わる設定変更であることから、グローバルコンフィグレーションモードで
 設定する必要がありますが、以下では間違えて特権EXECモードで設定していることからエラーが発生します。

 



 ◇ 特権EXECモードでのスペルミスによるエラー
 % Unknown command or computer name, or unable to find computer address のメッセージは
 特権EXECモードでスペルミスをした場合に発生するエラー。以下の入力したコマンド “cogg”と いう
 Ciscoコマンドは存在しないので、適切なコマンドを入力する必要があります。IOSでは、特権EXEC
 モードでは存在しないCiscoコマンドの文字列はホスト名として解釈しようとします。そのホスト名を
 IPアドレスに名前解決を試みるものの、それが失敗する結果、以下のエラーメッセージが出力されます。

 



 このメッセージが出力されると、再びプロンプトが表示されて正しくコマンドを入力できるまでに数十秒
 の時間を要してしまいます。従って、ルータでDNSの名前解決を行わない場合(これが一般的です)は、
 以下のとおりグローバルコンフィグレーションモードで、no ip domain-lookupを設定しておきましょう。
 間違ってコマンドを入力してもDNS解決を行わないようになりますので、無駄な待ち時間はなくなります。

 



 ◆ Cisco IOS – CLIの使用方法 ( 設定の削除方法 )

 Cisco IOSでは、コンフィグレーションモードで設定した設定情報はその入力したコマンドに no と
 入力することで、その設定が削除されます。またはその設定がデフォルト値に戻ります。以下では
 ホスト名を「CISCO」にして、FastEthernet0/0の IP を「192.168.0.254/24」に設定しましたが、
 そのIPアドレスの設定を削除するために”no ip address”と入力して、そのホスト名をデフォルト値
 に戻すためにno hostnameと入力しています。※ Ciscoルータのホスト名のデフォルトは”Router”。

 

Cisco IOS – 設定保存方法、初期化方法

◆ Cisco IOS – 設定保存するコマンド

 Cisco IOSでは、設定変更したコンフィグは「show running-config」で変更内容を確認できます。
 そして、設定変更してから設定保存されたコンフィグは「show startup-config」で確認できます。
 以下のように設定変更しても、設定保存しなければCiscoルータやCatalystスイッチの再起動後は
 内容が消えています。また、起動してから今まで一度も保存していない場合は以下が表示されます。

 



 Cisco IOSでは、設定した情報( コンフィグ )を保存したい場合には、特権EXECモードに移行してから
 copy running-config startup-configと入力します。このコマンドでCisco機器の電源をOFF、ONしても
 設定状態は保たれてCisco機器は稼動します。copy running-config startup-config により設定保存した
 あとにshow startup-configと入力すると、以下の通りNVRAM上に保存されたコンフィグが表示されます。

 

 ※ copy running-config startup-config と同じ結果の得られるコマンドは2つあり、write memory と write となります。

 もちろん、CiscoルータでもあってもCatalystスイッチであってもこの同じコマンドで設定保存できます。


 ◆ Cisco IOS – 初期化するコマンド(Ciscoルータの場合)

 CiscoルータとCatalystスイッチとでは、初期化方法が少しだけ異なります。先ずはCiscoルータでの方法を
 紹介します。Ciscoルータで設定を初期化するためには、先ず erase startup-config と入力しNVRAM上の
 コンフィグを削除します。次に、reloadコマンドで、Ciscoルータを再起動することにより初期化できます。
 ※ reloadコマンドの入力後、”System configuration has been modified. Save? [yes/no]: ” と表示されたら no と入力を!

 



 ◆ Cisco IOS – 初期化するコマンド(Catalystスイッチの場合)

 Catalystスイッチの場合、完全に初期化するためにはNVRAM上のコンフィグの削除だけでなくフラッシュ
 メモリ上にあるVLAN情報であるvlan.datというファイルも削除する必要があります。このvlan.datという
 ファイルを削除しなければ、vlanの情報がコンフィグレーション上に残ってしまいます。手順は以下です。
 ※ VLANに関連する設定を全くしていない場合、フラッシュメモリにvlan.datファイルは生成されないので、この手順は不要。

 

  

Cisco IOS – ping / trace / debug

今回出てくる用語

・pingコマンドとは
・traceコマンドとは
・debugコマンドとは

◆ Cisco IOS – ネットワーク診断ツール

 Cisco IOSでは、Cisco機器自身からネットワークの接続性を確認するためにpingやtracerouteコマンド
 を実行できます。IOSのpingやtracerouteは、Windowsのpingやtracertコマンドと考え方は同じですが
 WindowsのtracertはプロトコルにICMPを使用するのに対して、IOSのtracerouteではUDPを使用する
 ので注意しましょう。debugコマンドではCisco機器での現在のデータのやりとりを詳細に確認できます。
 ※ pingやtracerouteコマンドはユーザモードまたは特権モードで実行できます。debugコマンドは特権モードのみで実行可。



 ◆ Cisco IOS – ping

 Cisco機器でpingコマンドを使用することで、そのCisco機器から相手先にIP通信できるかを確認できます。
 pingコマンドは「ping 宛先IPアドレス」または「ping 宛先ホスト名」構文で、コマンド入力を行います。
 例えば、以下では192.168.0.1のIPアドレスを持つ機器に対して、Cisco機器からpingを実行した結果です。

 【 pingの成功 】
 


 上図では、192.168.0.1に対してICMPのエコー要求を5回送信した後、エコー応答が5回受信できた結果を
 示しています。つまり、192.168.0.1へのPINGが成功したことを意味します。「 ! ! ! ! ! 」の出力結果が
 ICMPのエコー応答を受信したことを意味しています。round-trip min/avg/max = 1/2/4 ms については
 RTTを最小時間、平均時間、最大時間で表示しています。RTT(Round Trip Time)とはある機器から発信
 したパケットが相手から返ってくるまでの時間のことです。今回は、5回のICMPエコー要求を送信した結果
 最も早くて1ミリ秒で応答、最も遅くて4ミリ秒で応答、平均すると2ミリ秒で応答があったと分かります。

 一方で、下図のように「.....」の出力結果はエコー応答が受信できなかったことを意味しています。
 つまり、以下ではCisco機器から192.168.0.2の機器とはICMPでの通信ができなかったことが分かります。

 【 pingの失敗 】
 



 pingの応答結果は「!」や「 .」以外に以下の結果があり「!」「 .」「U」の3つがよく見られます。

ping結果ping結果の意味
 Pingの成功。ICMPエコー応答を受信。
 . Pingの失敗。デフォルト値の2秒以内にICMPエコー応答を受信できなかった。
U Pingの失敗。宛先に到達できなかった。(Destination Unrechableの受信)
Q Pingの失敗。宛先がビジー状態であった。
M Pingの失敗。フラグメンテーションに失敗した。
 Pingの失敗。パケットタイプが不明であった。
 Pingの失敗。パケットのTTLが超過した。


 ◆ Cisco IOS – 拡張 ping

 通常のpingコマンドの場合、ICMPエコー要求は5回送信、タイムアウトは2秒以内、送信パケットサイズは
 100byteなどの値が決まっています。拡張pingではこれらの値を変更することがでます。拡張pingは特権
 モードで実行する必要があります。以下のようにpingとだけ入力すると色々なパラメータを指定できます。

 


 最初にプロトコルを指定します。ここではデフォルト値の[ ip ]でOKなので何も入力せずにEnterキーを
 入力します。次に、「Target IP address」で宛先アドレスを指定し「Repeat Count」でICMPエコー要求
 回数を指定、「Datagram size」で送信するパケットサイズを指定します。次に「Extended commands」
 で y と入力するとICMPパケットを送信するインターフェースを指定できます。これ以降に表示されていく
 パラメータは、一般的に全てデフォルト値を使用します。従って、”Enterキー” だけを入力していきます。

 上の拡張pingはレガシーな入力方法です。現在では以下のように、pingコマンドの後にパラメータを入力
 していきます。例えば、以下のpingの内容は上記と同じです。pingの実行回数を100回、pingパケットの
 データサイズを1500バイト、pingを実行する送信元I/FをFastEthernet0/0を指定してpingをしています。

 


 「ping 宛先IPアドレスのを入力後に「?」を入力すると、指定できるパラメータが表示されます。

 

 

pingパラメータpingパラメータの意味
data 送信するICMPエコー要求のパケットのデータパターンを指定する。一般的に使用しないパラメータ。
df-bit 送信するICMPエコー要求のパケットに対して、DFビットを設定するかどうかを指定。
repeat 送信するICMPエコー要求のパケットを何回にするかを指定。
size 送信するICMPエコー要求のパケットのサイズを指定。
source 送信するICMPエコー要求のパケットを、どのインターフェースから送信するかを指定。
timeout 送信するICMPエコー要求のパケットのタイムアウト値を指定。
validate 送信するICMPエコー要求に対して受信するエコー応答のパケットを検証するかどうかを指定。




 ◆ Cisco IOS – traceroute

 Cisco機器でtracerouteコマンドを使用することで、そのCisco機器から相手先までの経路が分かります。
 tracerouteコマンドは 「traceroute 宛先IPアドレス」または「traceroute 宛先ホスト名」と入力し実行
 します。以下では「192.168.2.2」のIPアドレスを持つ機器に対してCisco機器からtraceを実行した結果。

 


 traceコマンドの応答結果は、応答がある場合は「~msec」とRTT値(3回分)が表示されます。一方、
 応答がない場合「*」が表示されます。それ以外のメッセージは以下の通りです。traceコマンドでは
 pingと同様に特権モードで使用できる拡張traceコマンドがあります。使用方法は拡張pingとほぼ同じ。

trace結果trace結果の意味
~ msec traceの成功。ネクストホップの機器からICMP Time Exceedを受信した時にかかったRTTの値。
* デフォルト値の2秒以内にICMP Time Exceedメッセージを受信できなかった。
A traceの失敗。管理上の理由による禁止 ( 例:アクセスリスト )
Q traceの失敗。宛先がビジー状態であった。
I traceの失敗。ユーザによりテストが中断された。
U traceの失敗。ポートが不明であった。
H traceの失敗。ホストが到達不能であった。(ルーティングテーブルに経路がない場合でもHが表示される)
N traceの失敗。ネットワークが到達不能であった。
P traceの失敗。プロトコルが到達不能であった。
T traceの失敗。タイムアウトした。
 traceの失敗。パケットタイプが不明であった。


 Cisco機器はデフォルトでtrace結果のIPアドレスの名前解決を試みるので、traceの表示結果が遅いです。
 そこで、以下コマンドでCisco機器自身で名前解決を行わないように設定すれば表示結果が速くなります。
 ※ このコマンドはグローバルコンフィグレーションモードでコマンドを入力するので、機器の設定変更というかたちになります。

 


 traceコマンドでは、デフォルトでは30ホップまでtraceの結果を表示します。traceの宛先IPアドレスの
 機器が存在しなかったり、宛先IPアドレスを間違えて入力してしまうと30行まで表示が続いてしまいます。
 このtraceを途中で中止したい場合【Ctrl】+【Shift】+【6】キーを同時に入力することで中断できます。

 


 ◆ Cisco IOS – debug

 IOSでは、debugというトラブルシューティングで役立つコマンドがあります。debugコマンドにより
 Cisco機器で送受信するパケットやステータスを詳細に表示することができます。debugコマンドには
 多くの種類があるので、確認したいトラフィックの種類を明確にした上で実行することが重要。例えば
 以下では、IPプロトコルの上位で動作するICMPパケットの情報を確認するための debug コマンドです。

 

 ※ debug ip icmpと入力後にpingを実行すると、192.168.2.1の宛先機器からICMPエコー応答が受信していると分かります。

 最後に重要なことをお伝えします。debugコマンドは、一般的に障害切り分けの際に一時的に使用したり
 あるいはCisco機器の導入時の構築中に使用したりします。debugコマンドはとても役立つコマンドですが
 非常にCPUを消費するコマンドであります。ネットワーク管理者が、現在稼動しているCisco機器にこの
 コマンドを入力しようものなら、debugコマンドの内容によってはCPUを消費しすぎて機器が正常に動作
 しなくなる可能性があります。例えばdebug all を使用すれば、稼動環境なら間違いなく機器停止します。

 debugコマンドを入力した後、そのdebugを中止するためには以下のundebug allコマンドを入力します。
 debugコマンドはundebugコマンドを入力しない限り、または機器を再起動しない限り動き続けますので
 必ずundebugコマンドを入力しましょう。これを入力し忘れて、痛い目にあったネットワークエンジニアは
 少なくないと思います。debugを入力した後には必ず undebug です。これを決して忘れてはいけません。

 

 ※ debugコマンド以外にshow tech-supportコマンドも負荷の高いコマンドなので、安易に稼働環境では入力してはいけません。

まとめ

・pingコマンドとは
→そのCisco機器から相手先にIP通信できるかを確認できます。

・traceコマンドとは
→そのCisco機器から相手先までの経路が分かります。

・debugコマンドとは
→Cisco機器で送受信するパケットやステータスを詳細に表示することができます。

Cisco IOS – CDP

今回出てくる用語

・CDPとは

◆ CDPとは

 CDP ( Cisco Discovery Protocol )はCisco社独自のプロトコルであり、データリンク層で動作します。
 このプロトコルにより、ケーブル接続している隣接するCisco機器の情報が得られるので、Cisco機器の
 どこのポートにどのようなCisco機器が接続しているのか分かります。つまり、LAN接続の配線が正しい
 のかどうかも分かります。CDPはLayer2で動作することから、隣接機器のLayer3のIPアドレスの情報が
 間違っていたり設定がない場合でも、L3に依存しないため、問題なく隣接する機器の情報が得られます。


 



 ※ CDPパケットはイーサネットだけではなくトークンリング、FrameRelay、ATMなどの物理メディアでも伝送されます。




 ◆ CDPにより収集できる情報

 CDPにはバージョン1とバージョン2があります。IOS 12.0(3)T以降から、CDPバージョン2がサポート
 されており、現在のCiscoデバイスは基本的にバージョン2がデフォルトで有効になっています。CDP
 バージョン2のCDPで得られる情報は以下です。show cdp neighborで得られる順番通りに解説します。

情報説明
Device-ID 隣接デバイスのホスト名
Local Interface 自身のインターフェース情報
Holdtime CDP情報を保持する時間 (デフォルト:180秒 )
Capability 隣接デバイスのデバイスタイプ (スイッチの場合 : S )
Platform 隣接デバイスのモデル情報 (例:CISCO2921 )
Port ID 隣接デバイスのインターフェース情報 ( 例:Gig 0/1 )
Address 隣接デバイスのネットワーク層のアドレス
IOS Software 隣接デバイスのIOSソフトウェア、バージョン情報
VTP Domain Name 隣接デバイスのVTPドメイン名 ( only CDPv2 )
Native VLAN 隣接デバイスのネイティブVLANの情報 ( only CDPv2 )
Full/Half Duplex 隣接デバイスのインターフェースのDuplexの情報 ( only CDPv2 )

 ※ CDPコマンドで得られるの情報は上表ですが、実際のTLVには Location や Location-server などの項目があります。


 ◆ CDPの有効化と無効化

 Cisco IOSではCDPはデフォルトで有効化されています。デバイス全体で有効化されていて、そしてどの
 インターフェースでも有効化されています。デバイス全体で無効化するためには以下のとおり入力します。

 ◆ CDPの無効化 : デバイス全体

 Router(config)# no cdp run



 デバイス全体ではなく特定のインターフェースだけをCDPを無効にしたい場合、以下のように入力します。
 以下の設定では、「FastEthernet 0」のインターフェースだけをCDPを無効にするように設定しています。

 ◆ CDPの無効化 : 特定のインターフェース


 Router(config)# interface FastEthernet 0
 Router(config-if)# no cdp enable



 上記の設定により無効化したCDPの設定を、再び有効化するための設定コマンドは以下の通りです。

 ◆ CDPの有効化 : デバイス全体

 Router(config)# cdp run


 ◆ CDPの有効化 : 特定のインターフェース


 Router(config)# interface FastEthernet 0
 Router(config-if)# cdp enable




 ◆ CDPの動作

 CDPが有効になっているCiscoデバイスからは、60秒に一度、CDPアドバタイズメントと呼ばれるパケットを
 送信しています。この時、宛先アドレスには「0100.0CCC.CCCC」のマルチキャストアドレスを使用します。
 CDPにより得られた情報は180秒間キャッシュされます。つまり、180秒以内に新たにCDPパケットが到達し
 なければクリアされます。この60秒、180秒というデフォルトのタイマーは、以下のコマンドで変更できます。

 ◆ CDPアドバタイズメントの送信間隔の設定例

 Router(config)# cdp timer 30


 ◆ CDPアドバタイズメントのホールド時間の設定例

 Router(config)# cdp holdtime 90


 例えば上記ではCDPパケットの送信タイマーをデフォルトの60秒から30秒に変更、CDPパケットのホールド
 タイマーをデフォルトの180秒を90秒に変更しています。デフォルト値に戻すためにはCDPの送信タイマーは
 cdp timer 60、CDPのホールドタイマーはcdp holdtime 180と入力します。

 なお、CDPパケットの到達範囲は隣接機器までとなるが、隣接機器がリピータHUBである場合、CDPパケット
 は通過します。下図の場合、ルータのR1は「SW1、R3、R4」の3台を隣接機器として認識しCDPにより情報
 が得られます。当然のことですが、CDPパケットによって隣接機器として認識できるのはCISCO機器だけです。


      


 ◆ CDP情報の表示

 現在、CDPの設定がどのような状態であるのかはshow cdpコマンドにより確認できます。デフォルトは
 以下の状態です。以下の内容によりCDPが有効、送信間隔が60秒、ホールドタイマーが180秒、そして
 CDPバージョン2が有効であることが分かります・show cdp interfaceと入力すればI/Fごとで分かります。

 




 次に、CDPにより得られる隣接デバイスの情報をshow cdp neighborsコマンドにより確認してみましょう。
 以下の出力結果は、下図の「R1」というホスト名のルータからshow cdp neighborsを入力した結果です。
 ちなみに、clear cdp tableコマンドを入力することで、以下のキャッシュ情報をクリアすることができます。


        


 



 次に、CDPで得られる全ての情報を見るためにshow cdp neighbors detailコマンドを入力してみましょう。
 見方は以下の通りです。ちなみに複数の隣接機器がある場合、すべての隣接機器の情報が一度に出力されて
 しまいます。そこで、特定の隣接機器のみCDP情報を表示させるためにshow cdp entryコマンドがあります。
 例えば、show cdp entry SW1と入力すれば、ホスト名“SW1”のみの詳細情報を表示できます。

 




 最後にshow cdp trafficコマンドを確認してみましょう。このコマンドではCDPアドバタイズメントにより
 送受信したメッセージの統計情報やエラー情報を確認できます。以下で、CDPバージョン2のCDPパケット
 のみやりとりされていて、隣接機器にCDPアドバタイズメントが正しく送受信ができていると分かります。
 ちなみに、clear cdp countersコマンドを入力することにより以下の統計情報をクリアすることができます。

 

まとめ

・CDPとは
→Cisco社独自のプロトコルであり、データリンク層で動作します。このプロトコルにより、ケーブル接続している隣接するCisco機器の情報が得られるので、Cisco機器のどこのポートにどのようなCisco機器が接続しているのか分かります。つまり、LAN接続の配線が正しいのかどうかも分かります。

Cisco IOS – telnet操作方法

◆ Cisco IOS上でのtelnet基本操作

 PCからCisco機器にtelnet接続ができるように、Cisco機器からCisco機器へとtelnet接続が行えます。
 PCからCisco機器にtelnet接続した場合、PCではtelnetクライアントが動作し、Cisco機器ではtelnet
 サーバが動作していることになります。一方、下図の通りPCからCisco機器にコンソール接続を行い
 その機器から別のCisco機器にtelnetする場合、telnetクライアントとサーバの関係は以下の通りです。


       



 今回は、telnetクライアント(R1)からtelnetサーバ(R2)にtelnet接続するCisco IOSコマンドを紹介。
 前提は、R2にtelnetサーバの設定が完了していることです。以下はR1のコンソール画面で、R2に対して
 telnet接続を行っている画面です。telnet接続のコマンドは“telnet IPアドレス”となります。telnetサーバ


 で設定したVTY(仮想端末)のパスワードが求められるので入力します。これで telnet の認証が完了です。

 それでは、R2側でtelnet接続の状況をshow usersコマンドで確認してみましょう。見方は以下です。
 show usersコマンドで、そのデバイス上でアクティブな全てのライン接続を確認することができます。

項番説明
 * のあるセッションは、現在show userと入力した自身がこのデバイスにアクセスしている情報
 ライン番号。コンソール接続の場合は常に「0」、VTY接続の場合はハードウェアにより異なる。
 接続の情報。コンソール接続の場合は「con」、telnet接続とSSH接続の場合は「vty」
 接続してからのアイドル時間。上の場合、コンソール接続してから2分42秒操作していないことを意味する
 VTYの場合、接続してきているtelnetクライアント/SSHクライアントのIPアドレス。



 telnetを終了する場合は exit コマンドを入力します。すると、以下のとおりプロンプトが“R1”に戻ります。

 


 ◆ Cisco IOS上でのtelnetセッションの中断操作

 telnet接続を終了する場合はexitコマンドを入力します。一方、telnet接続を終了せずに元のデバイス(R1)
 に戻るためには「Ctrl + Shift + 6」キーを同時に押してから、その全てのキーを放して「X」キー押します。


     


 



 そして再び中断しているtelentセッションを再開するためにはresumeコマンドを入力します。このコマンド
 の後にはセッション番号を入力します。中断しているtelnetセッションは、show sessionsで確認できます。
 今回の場合、192.168.0.100へのtelnetセッションを再開したいので、そのセッション番号の「1」を入力
 します。resume 1コマンドの入力後に「Rsuming connection・・」と表示されたらEnterキーを押します。

 



 また、「 * 」のある直前のセッションについては、CLIに何も入力していない状態においてEnterキーを
 2回押すことで中断していたTelnetセッションが再開します。セッション再開は以上の2通りがあります。

 



 なお、自分が操作しているデバイスを勘違いしてしまう可能性があることからも、telnetセッションの
 中断の操作はお勧めしません。telnetセッションの中断して元のデバイスに戻るのではなくて、telnet
 セッションを終了して(exitコマンド入力して)、元のデバイスに戻り操作することをおすすめします。

 しかし、存在しないデバイスにtelnet接続を間違って行った場合、telnet接続をしたもののレスポンスが
 ないのでセッションが抜けたい場合、この 「Ctrl + Shift + 6」⇒「X」というキー入力はとても役立つ。
 そして、その場合は以下で紹介するdisconnectコマンドを入力し、直前のセッションを終了させましょう。


 ◆ Cisco IOS上でのtelnetセッションの3つの終了方法

 telnetセッションを終了させる方法は大きく3つあります。1つ目は下図の通り、telnetの接続先において
 exitコマンドを入力することでtelnetセッションを終了させる方法です。きわめて一般的な終了方法です。



      


 



 2つ目は、下図のようにtelnetセッションの中断を行って元のデバイス(R1)に戻ったものの、接続先の
 デバイス(R2)へのtelnetセッションの再開は必要ないと考え、元のデバイス(R1)でtelnetセッション
 をdisconnectコマンドによって終了させる方法です。このコマンドでは直前のセッションを終了できます。
 ※ 以下の手法は、例えばtelnet接続先の機器の不具合でレスポンスがなくて、exitすら入力できないような時にも使用します。


     


 




 3つ目は、下図のように意図しないtelnetセッションの接続があった場合に、そのデバイスの管理者が
 強制的にtelnetセッションを終了する方法です。切断するセッションはshow usersコマンドで確認して
 clear line ライン番号と入力します。今回の場合、切断したいライン番号が「6」なのでclear line 6と
 入力します。再度、show usersコマンドで確認すると該当するVTYアクセスがないことを確認できます。
 ※ 以下の画面は“正義の人”のコンソール画面であり、telnetセッションを強制切断している様子です。


    


 


 実際には意図しないtelnetセッションとは、不正接続ではなく、例えばVTYのセッションタイムアウト
 を無制限に設定(exec-timeout 0 0)している場合、telnet接続を終了せず放置されていた機器との
 無駄なセッション終了を行うために使用するの一般的です。Cisco機器へのVTYアクセスは限りがある
 ので、その上限を超えたtelnet接続があるとtelnet接続が行えなくなるので、それを防止するためです。

 ◆ show users と show sessions の違い

Cisco IOSコマンド説明
 show users 自身のルータにログインされているセッションの確認
 show sessions 自身のルータからログインしているセッションの確認

Cisco IOS – ログの出力にあわてない

◆ コンソール接続で出力されるログ

 グローバルコンフィグモードから、特権EXECモードへの移行時に出力されるリアルタイムのログや、
 システムエラー発生時に出力されるリアルタイムのログはデフォルトではコンソールにのみ送信します。


        



 上図を例に考えてみましょう。例えば、下図のR1はコンソール接続されたCiscoデバイスなので、R1でexit
 コマンドで特権EXECモードに戻った場合、システムログメッセージがコンソールに送信されて出力されます。

 【 画面 1 】
 




 それでは次に、管理者AさんがR1からtelnet接続でR2にログインしたとします。先と同じようにR2でexit
 コマンドで特権EXECモードに戻っても、今度は何もログが出力されません。これはtelnet接続だからです。

 【 画面 2 】
 




 次に、以下も理解しましょう。コンソール接続した状態のR1でインターフェース(FastEthernet 1)
 をdownさせます。当然ながら、この結果はR1のコンソール画面でログが出力されることになります。


      


 【 画面 3 】
 




 それでは以下の場合はどうでしょうか。コンソール接続したR1からR2にtelnet接続を行います。CLIの画面は
 R2のtelnet接続された画面となります。この状態で先と同様にR1でインターフェースをdownさせます。結果
 その内容がR2のtelnet画面上で表示されます。R2のCLI画面であるにも関わらず、R1のログが表示されるのは
 そもそもR1にコンソール接続しているからです。そして、そこからR2にtelnet接続しているからです。これを
 理解していないと R2 のインターフェースがdownしてしまったと勘違いし障害ではないかと焦ってしまいます。

 【 画面 4 】
 


 これさえ知っておけば、R2をtelnet接続で操作していて何かメッセージが出力されても慌てなくて済みます。
 このメッセージは、現在操作しているR2で発生したメッセージではなく、コンソール接続されたR1から発生
 したものであると落ち着いて静観できます。


 ◆ telnet接続でもメッセージを表示させる ( = terminal monitor )

 telnet接続している状態では、telnet接続先の機器で発生するシステムログメッセージを見ることができない
 のは、先に紹介した「画面 2」の通りです。例えば、このルータで設定変更を実施している場合に問題となる
 ログが発生していてもリアルタイムには確認できないので、問題発生時の検知が遅れる可能性があります。
 そこで以下のように、telnet接続先の機器でterminal monitorと入力すれば、telnet接続先の機器においても
 コンソール接続しているのと同じようにシステムログメッセージをリアルタイムに出力されるようになります。

 



 ◆ ログメッセージのタイムスタンプ表示の設定

 システムログメッセージやデバッグメッセージの表示ログの最初には、日付と時刻が表示されるパターン、
 または起動時間が表示されるパターンがありますが、これはservice timestampsコマンドが影響しています。
 以下のとおり、service timestamps log uptimeと設定した場合、Ciscoデバイスが起動してからの経過時間を
 システムログメッセージの表示の最初にスタンプします。以下は起動してから3時間42分30秒だと分かります。

 



 一方で以下の通り、service timestamps log datetimeと設定した場合、このシステムログメッセージが発生
 した時間を「月/日/時/分/秒」の順番でシステムログメッセージに表示されます。Cisco機器が起動してから
 の経過時間のログよりも、以下のとおり、いつ、そのログが発生したのかを正確に知るためには、以下の設定
 の方が望ましいこと分かると思います。従って、一般的には「datetime」で設定することが推奨されています。

 



 この datetime 設定コマンドの後には、オプションとして「msec、localtime、show-timezone」という値が
 あります。ログメッセージをミリ秒まで表示させるには「msec」、機器本体のローカルタイムゾーンを時刻に
 反映させるためには「localtime」、タイムゾーンを表示させるためには「show-timezone」を入力します。
 内容から考えると、これらの全てのオプション値を入力した方がより正確にログに対してタイムスタンプできる
 ことが分かります。という訳で当方が設定する timestamps の設定は基本的に以下のコンフィグとしています。

 


 今回はservice timestamps logコマンドを紹介しましたが、これらの考え方やパラメータ値については、
 デバッグメッセージを表示させる際のタイムスタンプである service timestamps debug コマンドにも
 該当します。従って、service timestamps debug datetime msec localtime show-timezone とします。

 ところで、タイムスタンプに右側にある「%SYS-5-CONFIG_I」の“5”というのは、ログの緊急度レベルを
 表すのですが、レベルについては以下のとおり0~7まであります。重大度の高いものほど若い番号です。
 「%SYS-5-CONFIG_I」のメッセージは、コンフィグレーションモードから特権EXECモードに移行する際に
 発生するログなので、レベルは5で「問題ありませんが設定変更が発生しているのでは?」と出力されます。

levelキーワードレベル説明
emergencies0システムが不安定
alerts1直ちに対処が必要な状態
critical2クリティカルな状態
errors3エラー
warnings4警告
notifications5正常だが注意を要する状態
informational6通知メッセージ
debugging7デバッグメッセージ

※最新の情報の取得・更新に努めておりますが、掲載内容については、その正確性、完全性、有用性、最新性等についていかなる保証もするものではありません。

タイトルとURLをコピーしました