CiscoIOSの基本として操作のモードを知らなければなりません。IOSではモードにより可能なことが異なり,それぞれで使えるコマンドも違います。また,モードはセキュリティと密接に関係しています。セキュリティ確保のためにパスワードの設定方法を覚えましょう。
操作モードを理解しよう
IOSではセキュリティの確保のため,さらには操作をわかりやすくするために数種類のモードが存在します(図1)。モードは最初にログインした時点のモード(ユーザモード)から段階的に変化させていくことになります。

- ユーザモード ・・・ ログインした時点のモード。ルータの基本的な状態の確認が可能
- 特権モード ・・・ ルータの設定が可能なモード。詳細な状態の確認やファイルの移動などを行う
- グローバルコンフィギュレーションモード ・・・ ルータ全体の設定を行うためモード。名前の変更など
- インタフェースモード・ルータモードなど ・・・ それぞれ個別の詳細な設定を行うためのモード
ログイン時にログインパスワードを,設定変更が可能な特権モードに移行する際にenableパスワードを必要とすることによって,セキュリティを確保しています。
自分が,現在どのモードでコマンドを入力しているかということは,プロンプトの記号(ルータ名の後ろにつく記号)でわかります(図2)。
- ユーザモード … >
- 特権モード ・・・ #
- グローバルコンフィギュレーションモード ・・・ (config)#
- インタフェースモード・ルータモードなど ・・・ (config-if)#,(config-router)#など

モードによって使用可能なコマンドの種類が違いますので,どのモードで何が可能かしっかり覚える必要があります。
モードの移行
モードを移行する時には特定のコマンドを入力する必要があります(図3)。また,モードを出る際にも必要なコマンドがあります。

基本的にルータの設定時ではユーザモードは使用しませんので,特権モードが中心になります。この場合,exitで一つ前のモードに戻る,と覚えておくのがよいでしょう。個別の詳細設定モードに入っている場合は,Ctrl+Zかendで特権モードに戻ります。また,個別の詳細設定モードに入るには図3ではinterfaceコマンドを使用していますが,実際は設定したい項目にあわせたコマンドが必要になります(図4)。

パスワードの設定
IOSではセキュリティ保護のため,二つのパスワードを設定できます。enableパスワードとログインパスワードです。enableパスワードはユーザモードから特権モードに移行する際に必要となるパスワードになります。デフォルトではパスワードなしのため,設定しておく必要があります(図5)。
enableパスワードを設定するコマンドは2種類あります。設定はグローバルコンフィギュレーションモードで行います。
- (config)# enable password [パスワード] … 設定ファイルにパスワードが平文のまま保存される
- (config)# enable secret [パスワード] … 設定ファイルにパスワードが暗号化されて保存される(図6)


enable passwordコマンドとenable secretコマンドの両方を実施した場合,enable secretコマンドで設定されたパスワードが有効になります。
一方,ログインパスワードはルータに接続し,ログインする時点で必要となるパスワードです。ルータへの接続はコンソール接続と仮想端末(VTY)接続の2種類がありますので,それぞれ個別にパスワードを設定します。
ログインパスワードの設定は,詳細設定のラインモードで行います(図7)。
- (config)# line [接続ポート] ・・・ コンソールもしくはVTYの設定モードへ入る
- (config-line)# login ・・・ ログイン時にパスワード入力を必要とする
- (config-line)# password [パスワード] ・・・ コンソール接続でのパスワード設定

lineの後に続く接続ポートには,コンソールか仮想端末(VTY)が入ります。基本的には「console 0」(コンソールポート0番)か,「vty 0 4」(VTYポート0~4番)になります。VTYは仮想的なポートを5個持っていて,それぞれ個別にパスワードを設定できますが,接続する際にどのVTYポートに接続するという指定ができませんのですべて同じパスワードを設定します。
コンソールまたはVTYに設定されたパスワードや,enable passwordコマンドで設定されたパスワードは平文で設定ファイルに保存されます。この平文のパスワードを暗号化して保存するためのコマンドもあります。
- (config)# service password-encryption ・・・ 設定ファイルのパスワードを暗号化する
また,仮想端末接続は通常TELNETを使用します。TELNETは使用するパケットすべて暗号化されず,そのまま平文としてデータが流れます。つまり,Cisco機器に送信するenableパスワードやログインパスワードも平文として送信されてしまします。よって,盗聴などされる危険性があります。
そのため,よりセキュアなターミナル接続プロトコルとして,SSHを使用することもできます。SSHを使用するためには,機器のドメイン名,ユーザ名とパスワード,それとRSAによる公開鍵と秘密鍵を設定する必要があります。
設定には,まずVTYモードで2つのコマンドによりSSHを利用するように設定する必要があります。さらにSSHに必要なドメイン名とRSA鍵を設定します。(図8・図9)
- (config-line)# login local
- (config-line)# transport input telnet ssh ・・・ この2つのコマンドで仮想端末接続にSSHを利用するよう設定する
- (config)# username [ユーザ名] password [パスワード] … SSHに使うユーザ名とパスワードの設定
- (config)# ip domain-name [ドメイン名] ・・・ ドメイン名の設定
- (config)# crypto key generate rsa ・・・ RSA鍵の生成


ルータの識別設定コマンド
複数のルータをVTY接続で設定していると,現在の画面がどのルータのものかわかりづらくなる場合があります。その場合,ルータに名前を設定しておくと便利になります(図10)。
- (config)# hostname [ルータ名]

また,ルータにログイン時に文字列(バナーメッセージ)を表示させて,注意を促したりルータの説明を書いておくこともできます(図10)。banner motdコマンドを使用しますが,表示させたいメッセージの区切りとして「#」を使います。
- (config)# banner motd # [メッセージ] #

さらに,インタフェースごとにメッセージを設定できます。設定すると,設定を確認する際にそのメッセージが表示されます。どのインタフェースがどこに接続されているか明確にする時など便利です。設定したいインタフェースのインタフェースモードで設定します(図12)。
- (config-if)# description [メッセージ]

(改定履歴)
・SSHの記述を追加し,図10以降の図番号を変更しました。(2008/7/24)