Cisco IOSソフトウェアとは
PCにWindowsやMacOSがあるように、Cisco機器には Cisco IOS(Internetwork Operating System) という専用のソフトウェアが搭載されています。Cisco IOSはルータやスイッチの動作を制御する基本ソフトウェアで、GUIではなく CLI(Command Line Interface) を使って操作します。エンジニアはTera Termなどのターミナルソフトを利用し、コマンドを入力して機器を管理します。
Cisco IOSへの3つのアクセス方法
Cisco機器のIOSにアクセスする方法は大きく3つに分かれます。
| アクセス方法 | 説明 |
|---|---|
| コンソール接続 | コンソールポートにケーブルをつないで直接アクセス |
| AUX接続 | AUXポートにケーブルを接続してアクセス |
| VTY接続 | LAN経由でTelnetまたはSSHを使ってリモートアクセス |
実務では、初期設定はコンソール接続、運用時はSSHを利用するのが一般的です。
セットアップモードとは
Cisco機器を初めて起動した場合や設定が空のとき、起動後に「セットアップモード」が表示されます。これは対話形式でホスト名やIPアドレスを設定できるモードです。
ただし実際のネットワークエンジニアは、細かい部分まで自分で設定するため、セットアップモードはほとんど使いません。画面に yes/no の質問が出た場合は no を選び、通常のCLI操作に移るのが一般的です。その後 Press RETURN to get started! と表示され、Enterを押すと「ユーザEXECモード」に入ります。
EXECモードとは
Cisco機器にログインすると、まず EXECモード に入ります。EXECモードには2種類あります。
| モード名 | 通称 | プロンプト | 説明 |
|---|---|---|---|
| ユーザEXECモード | ユーザモード | > | 限定的なコマンドのみ利用可能。機器の状態確認が中心 |
| 特権EXECモード | 特権モード(イネーブルモード) | # | 全てのコマンドが利用可能。設定変更や管理操作に必須 |
初期状態はユーザEXECモードで、enable コマンドを入力すると特権EXECモードに移行します。逆に disable でユーザモードに戻ります。
どちらのモードでも exit コマンドを入力すればログアウトできます。
コンフィグレーションモードとは
Cisco機器の設定を変更するには コンフィグレーションモード に移行する必要があります。特権EXECモードで configure terminal を入力すると、グローバルコンフィグレーションモード に入ります。ここでは機器全体に関わる設定を行えます。
さらに特定の設定を行う場合は、以下のモードへ移行します。
| コンフィグモード名 | プロンプト | 説明 |
|---|---|---|
| グローバルコンフィグレーションモード | (config)# | 機器全体に関わる設定を行う |
| インターフェースコンフィグレーションモード | (config-if)# | 各インターフェースの設定を行う |
| ルータコンフィグレーションモード | (config-router)# | ルーティングプロトコルの設定を行う |
| ラインコンフィグレーションモード | (config-line)# | コンソール・AUX・VTYなどの接続設定を行う |
モードを抜けるには exit を入力します。さらに end や Ctrl+Z を使えば一気に特権EXECモードへ戻ることも可能です。
試験対策のポイント
- 最初はユーザEXECモードから始まる
enable→ 特権EXECモードconfigure terminal→ グローバルコンフィグレーションモード- 各種モードは階層構造になっており、
exitで1つ戻る、endやCtrl+Zで一気に抜ける
この流れを理解しておくと、CCNA試験でも実機操作でもスムーズに対応できます。
Cisco IOS – CLIの使用方法(ヘルプ機能)
Cisco IOSには便利なヘルプ機能があり、? を入力すると現在のモードで利用できるコマンド一覧が表示されます。
例えばユーザEXECモードで ? を入力すると、そのモードで使用可能なコマンドが表示されます。特権EXECモードに移行してから ? を入力すれば、より多くのコマンドがアルファベット順に表示されます。
さらにコマンドを途中まで入力して ? を押すと、その文字列で始まるコマンドに絞り込んで表示できます。例えば a? と入力すれば「a」で始まるコマンドだけが表示されます。
また、コマンドを入力してからスペースを入れて ? を入力すると、その後に続けられるコマンドの候補が表示されます。例えば show ? と入力すると、show に続けて使えるサブコマンドが一覧で表示されます。
Cisco IOS – CLIの使用方法(–More–)
show コマンドや show running-config を実行すると、画面下に --More-- と表示されることがあります。これは出力結果が画面に収まりきらないことを意味します。
- Spaceキー:次の1画面分を表示
- Enterキー:1行ずつ表示
- 他のキー:表示を中断
なお、--More-- はデフォルトで24行ごとに区切られて表示されます。
表示行数を変更したい場合は、特権EXECモードで terminal length コマンドを使います。
terminal length 30→ 30行ごとに表示terminal length 0→ 全出力を一度に表示(--More--無効化)
ただしこの設定はターミナル画面を閉じるとリセットされます。恒久的に設定したい場合は、コンソールポート上で設定を行います。
Cisco IOS – CLIの使用方法(コマンドの省略機能)
Cisco IOSではコマンドをすべて入力する必要はなく、省略して入力することが可能です。
例えば
enable→enconfigure terminal→conf t
といったように省略して入力できます。多くのエンジニアは省略形を使うのが一般的です。
ただし、省略が曖昧すぎるとエラーになります。
例:
con t→ Ambiguous command と表示される(configureかconnectか判断できないため)conf t→ 正しくconfigure terminalと認識される
また、途中まで入力して Tabキー を押すと、自動的に残りの文字列が補完されます。
conf + Tab→configureに自動補完
ただし、Tab補完も曖昧さがないところまで入力してからでないと反応しません。
試験ポイント
?コマンドは「使えるコマンド」や「続けられるコマンド」を調べるのに有効--More--はterminal length 0で無効化できる- コマンドは省略できるが、曖昧さがない文字数まで必要
- Tabキー補完 も覚えておくと操作効率が大幅に上がる
Cisco IOS – CLIの使用方法(編集キーによる編集)
Cisco IOSでは、コマンドを入力する際に 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 + N / ↓キー | 古いコマンドから新しいコマンドに戻る |
入力履歴は show history コマンドで確認できます。デフォルトでは最大20個まで保存され、21個目を入力すると最初の履歴が消去されます。
履歴の保存数は terminal history size <数値> で変更可能です。設定内容は現在のターミナルセッションにのみ有効で、Tera Termの画面を閉じるとデフォルトに戻ります。
Cisco IOS – CLIの使用方法(エラーメッセージ)
Cisco IOSでは、コマンドの入力間違いやモードの違いによってエラーが表示されます。代表的な例を紹介します。
- 曖昧コマンドエラー
% Ambiguous command:
入力が短すぎて複数候補がある場合に発生します。例:「con」が「configure」か「connect」か判断できない場合。 - 不完全コマンドエラー
% Incomplete command.
必要な引数を省略した場合に発生します。例:「hostname」だけ入力し、ホスト名を指定していない場合。 - 構文ミス(スペルミス)
% Invalid input detected at '^' marker.
コマンドの綴りを間違えた場合に発生。^の位置がエラー箇所を示します。 - モード違いエラー
同じ% Invalid input detected at '^' marker.が表示されますが、これは正しいコマンドを間違ったモードで入力した場合にも発生します。例:ホスト名変更を特権EXECモードで入力したとき。 - 未知のコマンドエラー
% Unknown command or computer name, or unable to find computer address
特権EXECモードで存在しないコマンドを入力した場合に出ます。Cisco IOSは入力をホスト名と解釈して名前解決を試みるため、DNSを無効にしていないと長時間待たされます。
→ 解決策:no ip domain-lookupを設定することでDNS解決を無効にできます。
Cisco IOS – CLIの使用方法(設定の削除方法)
Cisco IOSでは、設定を削除する場合は 対象コマンドの前に no をつける のが基本です。
例
hostname CISCO
interface FastEthernet0/0
ip address 192.168.0.254 255.255.255.0
この設定を削除する場合は次のように入力します。
no hostname
interface FastEthernet0/0
no ip address
これによりホスト名はデフォルトの「Router」に戻り、IPアドレス設定は削除されます。
試験の要点
- 編集キーは最低限 Ctrl + A / E / Z を覚える
- コマンド履歴は ↑ / ↓ で呼び出せる
- エラーメッセージの種類と原因を区別できること
- 設定削除は「no コマンド」で行う
Cisco IOSでの設定保存
Cisco機器では、設定を行った直後の状態は「一時的な保存」にすぎません。今の動作に反映されている設定は「running-config」と呼ばれるメモリ上の情報です。この状態を確認するには show running-config を使います。
一方で、電源を切っても残るように保存された設定は「startup-config」と呼ばれ、NVRAMに記録されます。こちらを確認するときは show startup-config を入力します。もし一度も保存していない場合は、空の状態が表示されます。
つまり、設定を加えても保存しなければ、再起動後にはすべて消えてしまうという点に注意が必要です。試験でも「設定が保持されるのはどのコンフィグか?」と問われることがあるので、この違いは必ず覚えておきましょう。
設定を残すときは特権EXECモードに移行して、次のように入力します。
copy running-config startup-config
このコマンドを実行すると、現在の動作中の設定(running-config)がNVRAMにコピーされ、次回の起動時も同じ状態で立ち上がります。確認のために show startup-config を打てば、保存された内容が見られます。
なお、この保存コマンドには省略形があり、write memory や単に write と入力しても同じ効果があります。ルータでもスイッチでも共通して使えるので、現場でもよく活用されます。
Ciscoルータでの初期化手順
ルータの設定を初期化するときは、まずNVRAMにある保存済みの設定を消す必要があります。そのときに使うのが次のコマンドです。
erase startup-config
これで保存済みのコンフィグが削除されます。次に機器を再起動すれば初期状態になります。再起動には reload を使います。
reload
このとき、次のような確認メッセージが表示されます。
System configuration has been modified. Save? [yes/no]:
ここで「yes」と答えてしまうと、削除前の設定が保存されてしまいます。必ず「no」と入力して進めるのが正しい手順です。
Catalystスイッチでの初期化手順
スイッチの場合は少し注意が必要です。ルータと同じように erase startup-config でNVRAM上の設定を消すだけでは不十分です。Catalystスイッチは、VLANに関する情報を「vlan.dat」というファイルに保存しており、これはフラッシュメモリに置かれます。
もしこのファイルを削除しなければ、初期化後もVLANの設定が残ってしまいます。そのため、完全にリセットしたい場合は以下の手順を行います。
erase startup-configでNVRAMの設定を削除する- フラッシュメモリから
vlan.datファイルを削除する reloadで再起動する
ただし、VLANの設定を一度も行っていないスイッチでは vlan.dat が存在しないため、この作業は不要です。
試験対策としては「ルータはstartup-configの削除だけで初期化可能」「スイッチはvlan.datの削除も必要」という違いをしっかり覚えておくと安心です。
Cisco IOSでのネットワーク診断ツール
Cisco機器自身から通信の状態を確認したり、経路を調べたりするために、IOSにはいくつかの診断コマンドが用意されています。代表的なものが ping、traceroute、そして debug です。これらを適切に使いこなすことで、ネットワーク障害の原因を素早く切り分けることができます。試験でも出題されやすいテーマなので、それぞれの特徴を整理して覚えておきましょう。
pingコマンド
pingは、相手にICMPの「エコー要求」を送り、返ってくる「エコー応答」を確認することで通信可能かどうかを調べるコマンドです。
ping 宛先IPアドレス
ping ホスト名
例えば、ping 192.168.0.1 を入力すると、その機器に対して5回のICMPパケットが送信されます。応答があれば ! が表示され、成功を意味します。逆に応答がなければ . となり、通信ができなかったことを示します。
さらに、出力の最後には「最小応答時間/平均応答時間/最大応答時間」が表示されます。これを RTT(Round Trip Time) と呼び、パケットが往復するのにかかった時間を示します。例えば「1/2/4 ms」とあれば、最速1ms、平均2ms、最遅4msで応答が返ってきたことになります。
試験では !、.、U(宛先到達不可)といった表示の意味を問われやすいので、表の内容を整理して覚えるとよいでしょう。
拡張ping
通常のpingでは送信回数やパケットサイズは固定されていますが、拡張pingを使うとこれらを自由に変更できます。
昔のIOSでは ping と入力すると対話形式でプロトコルや宛先、送信回数などを順に指定していく方法でした。例えば送信回数を10回にしたい、パケットサイズを1500バイトにしたい、といった場合に便利です。
現在ではより直感的に、以下のようにパラメータを直接付けて入力できます。
ping 192.168.1.1 repeat 100 size 1500 source FastEthernet0/0
この例では、192.168.1.1宛に100回、サイズ1500バイトのICMPパケットを、FastEthernet0/0インターフェースから送信しています。試験では「拡張pingでは送信元インターフェースを指定できる」ことが狙われやすいポイントです。
tracerouteコマンド
tracerouteは、宛先までの経路を確認するコマンドです。
traceroute 宛先IPアドレス
Windowsの tracert と同じ目的のコマンドですが、違いとして WindowsはICMPを使用するのに対し、Cisco IOSのtracerouteはUDPを利用する 点を必ず覚えておきましょう。
出力結果では、各ルータを通過するごとに3回の応答時間(RTT)が表示されます。応答がなければ * と表示されます。宛先が存在しない場合、最大30ホップ分の結果が表示され続けるので、不要なら【Ctrl】+【Shift】+【6】で中断できます。
また、IOSはデフォルトでホスト名の名前解決を試みるため、表示が遅くなることがあります。その場合は、以下のコマンドで名前解決を無効化すると表示が速くなります。
no ip domain-lookup
debugコマンド
debugは、Cisco機器でやり取りしているパケットや内部の動きを詳細に確認できる強力なコマンドです。例えば、ICMPのやり取りを確認する場合は次のように入力します。
debug ip icmp
この状態でpingを実行すると、どの宛先に対してICMPパケットを送信しているか、応答が返ってきたかなどをリアルタイムで確認できます。
ただし、debugは機器のCPUに大きな負荷をかけるため、稼働中の機器で不用意に実行すると処理落ちや停止の危険があります。特に debug all は危険で、実運用環境では絶対に避けるべきです。
debugを終了するときは必ず次のコマンドを入力します。
undebug all
入力を忘れると機器が負荷で不安定になるため、必ず「debugをしたらundebug」とセットで覚えておきましょう。試験でも「debugの停止方法」を問われることがあります。
Cisco IOSには、ネットワーク障害の切り分けに欠かせない ping、拡張ping、traceroute、debug という診断コマンドがあります。それぞれの仕組みや出力の意味を理解することで、実機トラブルシューティングだけでなく、CCNA試験対策としても大きな力になります。特に「pingはICMP」「tracerouteはUDP」「debugはCPU負荷が大きい」という3点は必ず押さえておきましょう。
CDPとは
CDP(Cisco Discovery Protocol)はCisco独自のプロトコルで、データリンク層で動作します。これにより隣接するCisco機器の情報を収集できるため、どのポートにどの機器が接続されているかを簡単に確認できます。例えばLANの配線が正しいかどうかも調べられる便利な仕組みです。
CDPはLayer2で動作するため、たとえIPアドレスが未設定であっても隣接機器を認識できます。また、イーサネットだけでなくトークンリング、Frame Relay、ATMといった物理メディアでも利用可能です。
CDPで収集できる情報
CDPにはバージョン1とバージョン2がありますが、現在のCisco機器では基本的にバージョン2が有効になっています。以下は show cdp neighbors や show cdp neighbors detail で確認できる代表的な情報です。
- Device-ID:隣接機器のホスト名
- Local Interface:自分側のインターフェース
- Holdtime:CDP情報を保持する時間(デフォルト180秒)
- Capability:隣接機器の種別(例:スイッチなら S)
- Platform:機器のモデル名(例:CISCO2921)
- Port ID:隣接機器のインターフェース(例:Gig0/1)
- Address:隣接機器のIPアドレス
- IOS Software:隣接機器のIOSバージョン
- VTP Domain Name:VTPドメイン名(CDPv2のみ)
- Native VLAN:ネイティブVLANの情報(CDPv2のみ)
- Full/Half Duplex:インターフェースのデュプレックス情報(CDPv2のみ)
試験では「どのような情報がCDPで得られるか」がよく問われますので、この一覧は押さえておきましょう。
CDPの有効化と無効化
Cisco IOSではCDPはデフォルトで有効です。無効化する場合は次のように設定します。
- デバイス全体で無効化
Router(config)# no cdp run
- 特定インターフェースだけ無効化
Router(config)# interface FastEthernet 0
Router(config-if)# no cdp enable
逆に再度有効化したい場合は、それぞれ cdp run または cdp enable を入力します。
CDPの動作
CDPが有効なCisco機器は、60秒ごとに「CDPアドバタイズメント」と呼ばれる情報を送信します。このときの宛先はマルチキャストアドレス 0100.0CCC.CCCC です。
受信した情報は180秒間保持され、それ以降は新しいパケットが届かない限り削除されます。この送信間隔や保持時間は変更可能です。
- 送信間隔の変更例
Router(config)# cdp timer 30
- 保持時間の変更例
Router(config)# cdp holdtime 90
デフォルトに戻したい場合は、それぞれ60秒、180秒を設定します。
なお、CDPパケットは隣接機器までしか届きませんが、隣接がリピータHUBであれば通過するため、複数の機器が見える場合もあります。もちろんCisco独自のプロトコルなので、認識できるのはCisco機器に限られます。
CDP情報の表示
現在のCDPの動作状況を確認するには次のコマンドを使います。
- CDPの状態確認
show cdp
- インターフェースごとのCDP状態
show cdp interface
- 隣接機器の情報一覧
show cdp neighbors
- 隣接機器の詳細情報
show cdp neighbors detail
- 特定の機器の詳細情報
show cdp entry SW1
- CDPの送受信統計情報
show cdp traffic
キャッシュ情報を消去したい場合は clear cdp table、統計をリセットしたい場合は clear cdp counters を使用します。
CDPは、隣接するCisco機器の情報を簡単に収集できる便利なプロトコルです。特に「配線確認」や「隣接機器の特定」に役立ちます。CCNA試験では「CDPで取得できる情報」「有効化・無効化のコマンド」「デフォルトの送信・保持時間」といった点が出題されやすいため、しっかり覚えておく必要があります。
Cisco IOS上でのtelnet基本操作
Cisco IOSでは、PCからCisco機器にtelnet接続できるだけでなく、Cisco機器から別のCisco機器へtelnetでアクセスすることも可能です。PCから接続する場合、PCはtelnetクライアント、Cisco機器はtelnetサーバとして動作します。一方、コンソールでログインしたCisco機器から他のCisco機器にtelnetする場合、その機器はtelnetクライアントとして機能します。
ここでは、ルータR1からR2にtelnet接続する例を見ていきましょう。R2にtelnetサーバ設定(VTYラインへのパスワード設定)が完了している前提で、R1から次のように入力します。
R1> telnet 192.168.0.2
R2側で設定したVTYパスワードを入力すると認証が完了し、R2のCLIに入ることができます。
R2上で show users を実行すると、どのラインから誰が接続しているかを確認できます。con はコンソール、vty はtelnetまたはSSHを意味し、アイドル時間や接続元IPアドレスも表示されます。* が付いているのは、現在自分が操作しているセッションです。
telnet接続を終了する場合は、exit を入力すれば元のR1のプロンプトに戻ります。
telnetセッションの中断操作
telnet接続を完全に終了せずに、一時的に元の機器に戻ることもできます。その場合は次のキー操作を行います。
【Ctrl】+【Shift】+【6】を押し、そのままキーを離してから【X】を押す
これでtelnetセッションが中断され、元の機器(R1)のプロンプトに戻ります。
中断したセッションは show sessions で確認できます。再開する場合は、resume セッション番号 を入力するか、直前のセッションであればEnterを2回押すことでも再開可能です。
ただし、中断と再開を繰り返すと「自分が今どの機器を操作しているのか」を誤解する危険があるため、基本的には exit で終了してから元の機器に戻ることを推奨します。ただし、接続先が応答しなくなり、exit が使えない場合には、この中断操作と disconnect コマンドが非常に役立ちます。
telnetセッションの3つの終了方法
telnetセッションを終了する方法は大きく分けて3つあります。
- 接続先で
exitを入力する
最も一般的な方法で、正常にログアウトして元の機器に戻ります。 - 中断後に元の機器から
disconnectする
中断したセッションが不要な場合や、接続先が応答しなくてexitが効かない場合に使用します。直前のセッションを強制終了できます。 - 管理者が強制的にセッションを切断する
意図しないtelnetセッション(例えばタイムアウトが設定されていない放置された接続など)がある場合、管理者はshow usersでライン番号を確認し、clear line 6のように入力して特定のセッションを終了できます。
telnetセッション数には上限があるため、不要な接続を残しておくと新しい接続ができなくなる恐れがあります。そのため管理者は定期的に不要なセッションを終了させる必要があります。
自動ログアウト設定
通常はVTYラインに一定時間操作がなければ自動ログアウトされますが、次の設定を行うと無制限にセッションが維持されます。
(config-line)# exec-timeout 0 0
ただしこの設定を行うと放置されたセッションが残り続けるため、実運用環境では注意が必要です。
show users と show sessions の違い
show users:自分の機器にログインしているユーザ(コンソールやVTY)の情報を表示show sessions:自分の機器から他の機器にログインしているセッションの情報を表示
この違いも試験で狙われやすいポイントなので覚えておきましょう。