(この演習は実機/PacketTracer共通です)
iosの基本操作
ここからは実機でもPacketTracerでも共通の操作となります。
(実機ではTeraTermなど、PacketTracerではTerminalまたはCLIタブでのコマンド操作です)
Cisco製のルータやスイッチでは、iosといOSが動作しており、コマンドを解釈・実行してくれます。ここでは、iosの基本的な操作方法について実行してみましょう。
iosへのログイン
下は、[1841]というルータの起動メッセージです。機種やバージョンによってメッセージの内容は若干違います。

一番最後の
Would you like to enter the initial configuration dialog? [yes/no]:
という部分は、ルータが初期状態(工場出荷後まだなにも設定していない状態、または設定をすべて削除した状態)の場合のみ表示されるメッセージです。このように文末が
?[ A / B ]
という形式になっている場合は、AまたはBを入力する必要があります。
この質問は『初期設定ダイアログ』による設定を行うかを訊いています。今回はコマンド入力を試してみたいので、初期設定ダイアログは使用しません。よって、”no”と入力して Enter を押します。
続いて、
Press RETURN to get started!
と表示されます。『RETURN』とは Enterキーのことです(ちょっと古い言い方)。
よって、Enter キーを押します。
iosへのログインが完了し、『Router>』と表示されて入力待ちになります。この『Router>』のことを『プロンプト』といいます。
ここまでの入力で画面は以下のようになります。
Would you like to enter the initial configuration dialog? [yes/no]: no ↵
Press RETURN to get started! ↵
Router>
モード遷移
iosのモード
iosには多数の『モード』があり、モードごとに使用可能なコマンドが異なっています。
ユーザexecモード
iosに接続した直後のモードは『ユーザexecモード』または単に『ユーザモード』といいます。このモードでは設定の一部の確認が出来ます。
例ではプロンプトが『Router>』となっていますが、このうち『Router』の部分は現在ログインしているホスト(デバイス)名で、あとで変更可能です。『>』の部分がユーザexecモードであることを表しています。
特権execモード
『特権execモード』では、すべての設定の確認やpingなどのコマンドが使用できます。特権execモードに移行するには、ユーザexecモードで enableコマンドを使用します。
プロンプトに続いて『enable』と入力してEnterキーを押します(以下、入力は赤字で表します)。
Router>enable ↵
Router#
プロンプトが『Router#』に変化しました。この『#』が特権execモードであることを表しています。

ユーザexecモードや特権execモードでコマンドの綴りを間違えると『Translating “xxx”…domain server (255.255.255.255)』と表示されてしばらく入力を受け付けなくなります。これは、初期設定ではiosがコマンドとして解釈できない文字列をドメイン名と解釈してDNSに問い合わせをしてしまうからなのです。そのままではしばらく操作不能になってしまうのですが、ctrlとShiftと6(テンキーではなくフルキーの6)を同時に押すと、問い合わせを中断してコマンドプロンプトが再表示されます。
それでは、特権execモードでのコマンド例として、showコマンドを実行してみましょう。
プロンプトに続いて『show running-config』と入力してEnterキーを押します。
Router#show␣running-config ↵
Building configuration...
Current configuration : 556 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router
!
!
!
!
!
!
!
!
no ip cef
no ipv6 cef
!
!
--More--
このコマンドは設定ファイルの内容をすべて表示します。大量の情報を表示するコマンドの場合、この例のように1画面分の情報を表示したあと『–More–』と表示して入力待ちとなります。この状態で、
spaceキーを押すと、次の1画面分の情報が表示されます。
Enterキーを押すと、1行ずつ続きが表示されます。
qキーを押すと、表示を中止します。
グローバルコンフィギュレーションモード
『グローバルコンフィギュレーションモード』では、ルータ全体にかかわる設定を行うことが出来ます。また、その他の各コンフィギュレーションモードへ移行する起点となっています。
グローバルコンフィギュレーションモードに移行するには、特権execモードで configure terminalコマンドを実行します。
プロンプトに続いて『configure terminal』と入力してEnterキーを押します。
Router#configure␣terminal ↵
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
プロンプトが『Router(config)#』に変化しました。『(config)#』の部分がグローバルコンフィギュレーションモードであることを表しています。
グローバルコンフィギュレーションモードのコマンドの例として、ホスト名の変更を行ってみましょう。ホスト名の変更には hostnameコマンドを使用します。
プロンプトに続いて『hostname RT1』と入力してEnterキーを押します。
Router(config)#hostname␣RT1 ↵
RT1(config)#
プロンプトが『RT1(config)#』に変化しました。プロンプト前半のホスト名の部分が、デフォルトの『Router』から設定した『RT1』となっています。
その他のコンフィギュレーションモード
より詳細な設定を行う場合、設定したい内容によって『○○コンフィギュレーションモード』へ移行します。ここではその一例として、インターフェイスの設定を行うための『インターフェイスコンフィギュレーションモード』に移行してみましょう。
インターフェイスコンフィギュレーションモードへ移行するには、設定したいインターフェイスの名前を指定して interfaceコマンドを実行します。
ルータによって指定可能なインターフェイスの名前が異なります。例として、1841ルータで使用可能なインターフェイス FastEthernet 0/0 を指定してみましょう。
プロンプトに続いて『interface FastEthernet 0/0』と入力してEnterキーを押します。
RT1(config)#interface␣FastEthernet␣0/0 ↵
RT1(config-if)#
プロンプトが『RT1(config-if)#』に変化しました。『(config-if)』の部分がインターフェイスコンフィギュレーションモードであることを表しています。
前のモードに戻る
では、今度は逆に、インターフェイスコンフィギュレーションモードからユーザexecモードまで戻ってみましょう。
各種コンフィギュレーションモードからグローバルコンフィギュレーションモード
インターフェイスコンフィギュレーションモードからグローバルコンフィギュレーションモードに戻るには、exitコマンドを使用します。
プロンプトに続いて『exit』と入力してEnterキーを押します。
RT1(config-if)#exit ↵
RT1(config)#
プロンプトが『RT1(config)#』に変化し、グローバルコンフィギュレーションモードに移行したことが判ります。
グローバルコンフィギュレーションモードから特権execモードに戻る
グローバルコンフィギュレーションモードから特権execモードに戻るには、exitコマンドを使用します。
プロンプトに続いて『exit』と入力してEnterキーを押します。
RT1(config)#exit ↵
RT1#
%SYS-5-CONFIG_I: Configured from console by console
プロンプトが『RT1#』に変化し、特権execモードに移行したことが判ります。
『%SYS-5-CONFIG_I: Configured from console by console』はシステムが表示したメッセージで、『コンソールから何らかの設定変更が行われた』ということを表しています。
このようなシステムからのメッセージはプロンプトに無関係に表示されるため、一番下の行にはプロンプトが表示されていないように見えますが、このまま次のコマンドを入力することが出来ます。
または、Enterキーを押せばプロンプトが再表示されます。
RT1(config)#exit
RT1#
%SYS-5-CONFIG_I: Configured from console by console
↵
RT1#
( ↵ はEnterキーを押して改行文字を入力したことを表します。iosの画面に『↵』という文字は表示されません)。
特権execモードからユーザexecモードに戻る
特権execモードからユーザexecモードに戻るには、disableコマンドを使用します。
プロンプトに続いて『disable』と入力してEnterキーを押します。
RT1#disable↵
RT1>
プロンプトが『RT1>』に変化し、ユーザexecモードに移行したことが判ります。
ログアウトする
ユーザexecモードまたは特権execモードでexitコマンドまたはlogoutコマンドを使用すると、ログアウトします。
RT1>exit ↵
RT1 con0 is now available
Press RETURN to get started.
『Press RETURN to get started.』というメッセージのあとでEnterキーを押すと、再度ログインすることが出来ます。
各種コンフィギュレーションモードから特権execモードに戻る
各種コンフィグレーションモードから、グローバルコンフィギュレーションモードを飛ばして特権execモードまで戻るには、endコマンドを使用します。
インターフェイスコンフィギュレーションモードまで移動して、プロンプトに続いて『end』と入力してEnterキーを押します。
RT1(config-if)#end ↵
RT1#
%SYS-5-CONFIG_I: Configured from console by console
↵
RT1#
上の例では、グローバルコンフィギュレーションモードから特権execモードに戻るときと同じように『%SYS-5-CONFIG_I: Configured from console by console』と表示されたので、Enterキーを押してプロンプトを再表示しています。
モード移行まとめ
モード以降のためのコマンドを図にまとめました。

コマンド入力支援機能
iosには、コマンド入力を支援する便利な機能が備わっています。それらを順に見ていきましょう。
ヘルプ機能
ヘルプ機能はiosのすべてのモードで使用可能ですが、ここではグローバルコンフィギュレーションモードで試してみましょう。
コマンド自体のヘルプ
まずグローバルコンフィギュレーションモードに移行します。
RT1>enable ↵
RT1#configure␣terminal ↵
Enter configuration commands, one per line. End with CNTL/Z.
RT1(config)#
ここからさらにインターフェイスのコンフィギュレーションモードに移行したいのですが、コマンドをド忘れしてしまったとします。
そういう時は、キーボードから『?』を入力するとヘルプ機能を利用できます。
コマンドプロンプトに続いて『?』を入力しましょう(Enterキーを押す必要はありません)。
RT1(config)#?
Configure commands:
aaa Authentication, Authorization and Accounting.
access-list Add an access list entry
banner Define a login banner
bba-group Configure BBA Group
boot Modify system boot parameters
cdp Global CDP configuration subcommands
class-map Configure Class Map
clock Configure time-of-day clock
config-register Define the configuration register
crypto Encryption module
default Set a command to its defaults
do To run exec commands in config mode
dot11 IEEE 802.11 config commands
enable Modify enable password parameters
end Exit from configure mode
exit Exit from configure mode
flow Global Flow configuration subcommands
hostname Set system's network name
interface Select an interface to configure
ip Global IP configuration subcommands
ipv6 Global IPv6 configuration commands
--More--
この様に、現在入力可能なコマンドの一覧が表示されます。最下行に『–More–』とあることから、まだ続きがあります。
モードによっては数が非常に多く探すのが大変です。考えているうちに最初の文字が『 i 』であることを思い出せました。このときは、『 i? 』と入力すると、『 i 』ではじまるコマンドが表示されます。
プロンプトに続いて、順に『i』『?』とキーを押してみましょう(Enterキーを押す必要はありません)。
RT1(config)#i?
interface ip ipv6
グローバルコンフィギュレーションモードで使用できるコマンドのうち、『i』で始まるのは interfaceコマンド、ipコマンド、ipv6コマンドの3つであることが判ります。
コマンドオプションのヘルプ
ヘルプを見てコマンドそのものがinterfaceコマンドであるとは判りましたが、そのあとにオプションとして何を指定すればいいのか思い出せなかったとします。
このときは、やはりコマンドのあとに『?』と入力すれば、続きとして書くべき内容を教えてくれます。
『interface ?』と入力してみましょう(interfaceと?の間に空白が入ります。またEnterキーを押す必要もありません)。
RT1(config)#interface␣ ?
Dialer Dialer interface
Dot11Radio Dot11 interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Tunnel Tunnel interface
Virtual-Template Virtual Template interface
Vlan Catalyst Vlans
range interface range command
RT1(config)#interface
このように、interfaceコマンドに使用可能なオプションの一覧が表示されます。また、次のプロンプトには自動的に『interface』が入力された状態になっています。
残念ながら『そのデバイスで使用可能なインターフェイス名』に限った表示ではないので、それは別のコマンドで確認する必要があります。
補完機能
コマンドの入力途中にtabキーを押すと、コマンドの残りの部分を自動的に補ってくれます。ただし、すでに入力されている文字で特定できる場合に限ります。
たとえば、『interface fastethernet 0/0』と入力したい場合、
グローバルコンフィギュレーションモードでは『in』で始まるコマンドは『interface』しかなく、
interfaceコマンドで使用可能なオプションで『f』で始まるのは『fastethernet』しかないため、
補完機能を使うと『intabftab0/0』という入力で済んでしまいます(単語の区切りの空白も自動的に補完されるため、キーボードから入力する必要はありません。また下の例ではEnterキーも押していません。単語が補完されるたびに自動的に改行します)。
RT1(config)#intab
RT1(config)#interface␣ftab
RT1(config)#interface␣fastEthernet␣0/0
UNIX/Linuxも tab キーによる補完機能がありますが、あちらは対象がパスのみです。iosの補完機能はすべてのコマンド・オプションで有効なので非常に強力です。
省略機能
前項でコマンド入力の補完機能を解説しましたが、実は補完をしなくても各コマンド/オプションは『その文字まで入力すればコマンド/オプションを1つに特定できる』ところまで入力すれば、コマンドとして実行できます。

省略機能を使用可能になる文字数は、tab キーで補完できるのと同じ文字数です。
百人一首の『決まり字』みたいなものですね
つまり、『interface fastethernet 0/0』の代わりに『in f 0/0』と入力しても有効なコマンドとして実行できるのです(『in␣f␣0/0』と空白文字が入っていることに注意して下さい)。
RT1(config)#in␣f␣0/0 ↵
RT1(config-if)#
プロンプトが『RT1(config-if)#』に変化して、ちゃんとインターフェイスコンフィギュレーションモードに移行していることが判ります。
ここまでに登場したコマンドは、以下のように省略できます。
| コマンド | 省略表記 |
|---|---|
| configure terminal | conf t |
| disable | disa |
| enable | en |
| exit | ex |
| interface fastethernet 0/0 | in f 0/0 |
| show running-config | sh r |
履歴機能
iosでは、過去に入力したコマンドを再度呼び出して実行することが出来ます。
↑ ↓矢印キーによる履歴の呼び出し
ユーザexecモードから、『enable』『show running-config』を順に実行し、qキーでshow running-configの表示から抜けてみましょう。画面上は次のよういなります。
RT1>enable ↵
RT1#show␣running-config ↵
Building configuration...
Current configuration : 553 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname RT1
!
!
!
!
!
!
!
!
no ip cef
no ipv6 cef
!
!
q (画面には表示されない)
RT1#
ではここで、入力履歴を呼び出してみましょう。履歴の呼び出しには↑ ↓の矢印キーを使用します。
一番下のプロンプトの部分に注目して下さい。現在は
RT1#
と、何も入力されていない状態になっていますが、
ここで↑を押すと、
RT1#show running-config
1つ前に入力した『show running-config』が表示されます。
もう一度↑を押すと、
RT1#enable
2つ前(ユーザexecモードですが)に入力した『enable』コマンドが表示されます。
このように↑を押すたびに入力履歴を古い方にさかのぼっていきます。ただしログインからここまでに2つしかコマンドを入力していない場合、これ以上↑を押しても表示は変化しません。
今度は↓を押すと、
RT1#enable
と、表示される内容が入力履歴の新しい方に移動します。
このように、↑ ↓の矢印キーによって入力履歴を古い方・新しい方に自由に移動することができます。
すべての履歴の表示
すべての履歴を表示するには、show historyコマンドを使用します。
RT1#show␣history ↵
enable
show running-config
show history
RT1#
ここまでに入力したコマンドが、順に『enable』『show running-config』『show history』であったことがわかります。
保存される履歴
では続いて、『configure terminal』『hostname ROUTER-A』『interface fastethernet 0/0』とコマンドを入力してみましょう。画面表示は以下のようになります。
RT1#configure␣terminal ↵
Enter configuration commands, one per line. End with CNTL/Z.
RT1(config)#hostname␣ROUTER-A ↵
ROUTER-A(config)#interface␣fastethernet␣0/0 ↵
ROUTER-A(config-if)#
最終的にはインターフェイスコンフィギュレーションモード(プロンプトが『(config-if)#』)になっているはずですが、ここで履歴を呼び出してみましょう。
↑を押すと、
ROUTER-A(config-if)#interface fastethernet 0/0
もう一度↑を押すと、
ROUTER-A(config-if)#hostname ROUTER-A
となりますが、それ以上↑を押しても履歴をさかのぼれません。
入力利益を確認してみましょう。showコマンドはユーザexecモードまたは特権execモードのコマンドなので、各コンフィギュレーションモードでは使用できません。各コンフィギュレーションモードで履歴を確認するには、show historyコマンドの頭にdoを付けて『do show history』と入力する必要があります。
ROUTER-A(config-if)#do␣show␣history ↵
hostname ROUTER-A
interface fastethernet 0/0
do show history
ROUTER-A(config-if)#
と表示され、グローバルコンフィギュレーションモードに移行する前に入力したコマンドが確認できません。
ここでendコマンドを使用して、特権execモードに移行してから、もう一度show historyコマンドを実行してみましょう。
ROUTER-A(config-if)#end ↵
ROUTER-A#
%SYS-5-CONFIG_I: Configured from console by console
ROUTER-A#show␣history ↵
enable
show running-config
show history
configure terminal
show history
ROUTER-A#
このように、ユーザexecモードおよび特権execモードで入力したコマンドが表示される代わりに、グローバルコンフィギュレーションモードやインターフェイスコンフィギュレーションモードで入力したコマンドが表示されません。
つまり、『ユーザexecモードおよび特権execモード』と『各コンフィギュレーションモード』の入力履歴は別々に記録されているのです。
また、入力履歴に残るコマンド数には限りがあります。それ以上コマンドを入力すると、新しい入力を履歴に残す代わりに、一番古い履歴が削除されます。
エラー表示
iosのコマンド入力時に発生しがちなエラーについて解説します。
Invalid input detected
『Invalid input detected』とは、『無効な入力を検出した』という意味です。各コンフィギュレーションモードで、綴り間違いなど『コマンドとして解釈できない』入力があるとこのエラーが発生します。
なお、ユーザexecモードや特権execモードでコマンドの綴り間違いをすると、ドメイン名とみなしてアドレス解決のためにDNSへアクセスしようとします。
RT1(config)#imterface␣fastethernet␣0/0 ↵
^
% Invalid input detected at '^' marker.
『interface』の綴りを『imterface』と間違えて入力したため、『% Invalid input detected at ‘^’ marker.』とエラーが表示されています。Invalid input detectedこの例のように『ここが間違っているのではないか』という部分を『^』で示してくれます。
Ambiguous command
『Ambiguous command』とは、『あいまいなコマンド』の意味です。省略機能を使おうとして文字数が足りなかった場合にこのエラーが発生します。
RT1(config)#i↵
% Ambiguous command: "i"
RT1(config)#
グローバルコンフィギュレーションモードで『 i 』で始まるコマンドはinterfaceコマンドの他にipコマンド、ipv6コマンドがあり1つに特定できないため、『% Ambiguous command: “i”』とエラーが表示されています。
Incomplete command.
『Incomplete command.』とは、『不完全なコマンド』の意味です。コマンドそのものは正しいがオプションが足りない場合にこのエラーが発生します。
RT1(config)#in ↵
% Incomplete command.
RT1(config)#
グローバルコンフィギュレーションモードで『 in 』と入力すればinterfaceコマンドとして解釈されますが、『fastethernet 0/0』などのインターフェイス名が指定されていないため、『% Incomplete command.』とエラーが表示されています。
最後に
今回はコンソール接続の仕方やiosのチュートリアルも兼ねているのでもの凄い長さになってしまいました。
コンソール接続、モード遷移、コマンド入力支援機能など今後の演習の基礎となる部分が多いので、しっかり頭に入れておいて下さい。


コメント