DHCP ベースの自動設定の設定
ここでは、Dynamic Host Configuration Protocol(DHCP; ダイナミック ホスト コンフィギュレーション プロトコル)ベースの自動設定を設定する手順について説明します。
• 「DHCP ベースの自動設定」
• 「DHCP クライアント要求プロセス」
• 「DHCP サーバの設定」
• 「TFTP サーバの設定」
• 「DNS サーバの設定」
• 「リレー装置の設定」
• 「コンフィギュレーション ファイルの入手方法」
• 「構成例」
DHCP サーバがシスコ デバイスの場合、またはスイッチを DHCP サーバとして設定している場合、DHCP の設定の詳細については、『 Cisco IOS IP and IP Routing Configuration Guide Cisco IOS Release 12.1 』の 「 IP Addressing and Services 」 を参照してください。
DHCP ベースの自動設定
(注) Release 12.2(20)EW 以降では、write erase コマンドを発行することにより、DHCP の自動設定をイネーブルにできます。このコマンドにより、Non-Volatile Random Access Memory(NVRAM; 不揮発性 RAM)のスタートアップ コンフィギュレーションがクリアされます。Release 12.2(20)EW よりも前のイメージでは、このコマンドは自動設定をイネーブルにしません。
DHCP は、インターネット ホストおよびインターネットワーキング デバイスに設定情報を提供します。このプロトコルには、2 つのコンポーネントが含まれます。1 つは DHCP サーバからデバイスにコンフィギュレーション パラメータを提供するコンポーネント、もう 1 つはデバイスにネットワーク アドレスを割り当てるコンポーネントです。DHCP はクライアント/サーバ モデルに基づいています。指定された DHCP サーバが、動的に設定されるデバイスに対して、ネットワーク アドレスを割り当て、コンフィギュレーション パラメータを提供します。スイッチは、DHCP クライアントとしても DHCP サーバとしても機能できます。
DHCP ベースの自動設定により、スイッチ(DHCP クライアント)が起動時に IP アドレス情報およびコンフィギュレーション ファイルを使用して自動的に設定されるため、スイッチ上での DHCP クライアント側の設定は必要ありません。ただし、IP アドレスに関連付けられた各種のリース オプションに対しては、DHCP サーバ、またはスイッチ上の DHCP サーバの機能を設定する必要があります。DHCP を使用して、ネットワーク上のコンフィギュレーション ファイルの位置をリレーする場合は、Trivial File Transfer Protocol(TFTP; 簡易ファイル転送プロトコル)サーバおよび Domain Name System(DNS; ドメイン ネーム システム)サーバの設定が必要な場合もあります。
DHCP ベースの自動設定は、スイッチの BOOTstrap Protocol(BOOTP)クライアント機能に代わるものです。
DHCP クライアント要求プロセス
起動時にスイッチ上にコンフィギュレーション ファイルがない場合は、スイッチは DHCP サーバに対して自動的に設定情報を要求します。
図 3-1 に、DHCP クライアントと DHCP サーバ間で交換される一連のメッセージを示します。
図 3-1 DHCP クライアント/サーバ間のメッセージ交換
クライアントであるスイッチ A は、DHCP サーバの場所を特定するために、DHCPDISCOVER メッセージをブロードキャストします。DHCP サーバは、コンフィギュレーション パラメータ(IP アドレス、サブネット マスク、ゲートウェイ IP アドレス、DNS IP アドレス、IP アドレス用のリースなど)を、DHCPOFFER ユニキャスト メッセージでクライアントに提示します。
DHCPREQUEST ブロードキャスト メッセージでは、クライアントは、提示された設定情報に対して、DHCP サーバに正式な要求を戻します。正式な要求はブロードキャストされるため、クライアントから DHCPDISCOVER ブロードキャスト メッセージを受信した他の DHCP サーバはすべて、クライアントに提示した IP アドレスを再利用できます。
DHCP サーバは、DHCPACK ユニキャスト メッセージをクライアントに戻すことで、IP アドレスがクライアントに割り当てられたことを確認します。このメッセージによって、クライアントとサーバはバインドされ、クライアントはサーバから受信した設定情報を使用します。スイッチの受信する情報量は、DHCP サーバの設定方法によって異なります。詳細については、「DHCP サーバの設定」を参照してください。
DHCPOFFER ユニキャスト メッセージでクライアントに送信されたコンフィギュレーション パラメータが無効である(コンフィギュレーション エラーがある)場合、クライアントは DHCP サーバに、DHCPDECLINE ブロードキャスト メッセージを戻します。
DHCP サーバはクライアントに、提示されたコンフィギュレーション パラメータが割り当てられていない、パラメータのネゴシエーション中にエラーが発生した、または DHCPOFFER メッセージに対するクライアントの応答が遅れている(DHCP サーバがパラメータを別のクライアントに割り当てた)という意味の DHCPNAK 拒否ブロードキャスト メッセージを送信します。
DHCP クライアントは、複数の DHCP サーバから提示を受け取り、いずれも受け入れることができますが、通常は最初に受け取った提示を受け入れます。DHCP サーバから提示された IP アドレスが必ずしもクライアントに割り当てられるわけではありません。ただし、サーバは通常、クライアントが正式にアドレスを要求するまではアドレスを保管しておきます。
DHCP サーバの設定
スイッチは、DHCP クライアントとしても DHCP サーバとしても機能できます。デフォルトでは、スイッチの Cisco Internetwork Operating System(Cisco IOS)DHCP サーバおよびリレー エージェント機能はイネーブルになっています。
DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能に、スイッチ ハードウェア アドレスによって各スイッチにバインドされた専用のリースを設定する必要があります。
スイッチに IP アドレス情報を受信させる場合は、DHCP サーバに次のリース オプションを設定する必要があります。
• クライアントの IP アドレス(必須)
• クライアントのサブネット マスク(必須)
• DNS サーバの IP アドレス(任意)
• ルータの IP アドレス(必須)
(注) ルータの IP アドレスは、スイッチのデフォルト ゲートウェイ アドレスです。
スイッチに TFTP サーバからコンフィギュレーション ファイルを受信させる場合は、DHCP サーバに次のリース オプションを設定する必要があります。
• TFTP サーバの名前または IP アドレス(必須)
• ブート ファイル名(クライアントが必要なコンフィギュレーション ファイル名)(推奨)
• ホスト名(任意)
DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能の設定によっては、スイッチは IP アドレス情報またはコンフィギュレーション ファイル、あるいはその両方を受信できます。
DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能に、上記のリース オプションを設定しない場合は、スイッチはクライアントの要求に対して、設定されているパラメータだけで応答します。IP アドレスおよびサブネット マスクが応答に含まれていないと、スイッチは設定されません。ルータの IP アドレスまたは TFTP のサーバ名(または IP アドレス)が見つからなかった場合、スイッチは TFTP 要求をユニキャストしないでブロードキャストする場合があります。その他のリース オプションは、使用できなくても自動設定には影響しません。
DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能は、同じ Local Area Network(LAN; ローカル エリア ネットワーク)上に配置することも、そのスイッチとは別の LAN 上に配置することもできます。DHCP サーバが別の LAN 上で稼動している場合は、2 つの直接接続された LAN 間のブロードキャスト トラフィックを転送する DHCP リレーを設定する必要があります。ルータはブロードキャスト パケットを転送しませんが、受信されるパケットの宛先 IP アドレスに基づいてパケットを転送します。リレー装置の詳細については、「リレー装置の設定」を参照してください。
TFTP サーバの設定
DHCP サーバの設定に基づいて、スイッチは TFTP サーバから 1 つまたは複数のコンフィギュレーション ファイルのダウンロードを試行します。TFTP サーバへの IP 接続に必要なすべてのオプションについてスイッチに応答するよう DHCP を設定している場合、および TFTP サーバ名、アドレス、およびコンフィギュレーション ファイル名を使用して DHCP サーバを設定した場合、スイッチは指定された TFTP サーバから指定されたコンフィギュレーション ファイルをダウンロードしようとします。
コンフィギュレーション ファイル名、および TFTP サーバを指定しなかった場合、またはコンフィギュレーション ファイルをダウンロードできなかった場合は、スイッチはファイル名と TFTP サーバアドレスをさまざまに組み合わせてコンフィギュレーション ファイルをダウンロードしようとします。ファイルには、指定されたコンフィギュレーション ファイル名(存在する場合)と、network-confg、cisconet.cfg、 hostname .confg、または hostname .cfg が含まれています。ここで、 hostname はスイッチ、router-confg、および ciscortr.cfg の現在のホスト名です。使用される TFTP サーバ アドレスには、(ある場合)指定された TFTP サーバのアドレス、およびブロードキャスト アドレス(255.255.255.255)が含まれています。
スイッチが正常にコンフィギュレーション ファイルをダウンロードするには、TFTP サーバは、そのベース ディレクトリに 1 つまたは複数のコンフィギュレーション ファイルを含んでいる必要があります。設定できるファイルは、次のとおりです。
• DHCP 応答の名前付きコンフィギュレーション ファイル(実際のスイッチ コンフィギュレーション ファイル)
• network-confg または cisconet.cfg ファイル(デフォルトのコンフィギュレーション ファイル)
• router-confg または ciscortr.cfg ファイル(これらのファイルには、すべてのスイッチに共通のコマンドが含まれています。通常、DHCP および TFTP サーバが適切に設定されていれば、これらのファイルはアクセスされません)。
DHCP サーバリース データベースに TFTP サーバ名を指定する場合は、DNS サーバのデータベースに TFTP サーバ名と IP アドレスのマッピングを設定する必要もあります。
使用する TFTP サーバが、スイッチとは異なる LAN 上にある場合、またはスイッチがブロードキャスト アドレスを使用してアクセスした場合(前述のすべての必須情報が DHCP サーバの応答に含まれていない場合に発生)は、リレーを設定して TFTP サーバに TFTP パケットを転送する必要があります。詳細については、「リレー装置の設定」を参照してください。DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能のいずれかに、すべての必須情報を使用して設定することを推奨します。
DNS サーバの設定
DHCP サーバ、またはスイッチ上で実行される DHCP サーバの機能は、DNS サーバを使用して TFTP サーバ名を IP アドレスに変換します。DNS サーバ上で、TFTP サーバ名から IP アドレスへのマッピングを設定する必要があります。TFTP サーバには、スイッチのコンフィギュレーション ファイルが含まれます。
DNS サーバの IP アドレスを、DHCP 応答が IP アドレスを取得する DHCP サーバのリース データベースに設定できます。リース データベースには、DNS サーバの IP アドレスを最大 2 つまで入力できます。
DNS サーバは、スイッチと同じ LAN 上に存在しても、またスイッチとは別の LAN 上に存在していてもかまいません。DNS サーバが別の LAN 上に存在する場合、スイッチはルータを介して DNS サーバにアクセス可能である必要があります。
リレー装置の設定
スイッチが、別の LAN 上のホストからの応答を必要とするブロードキャスト パケットを送信する場合は常に、受信されるブロードキャスト パケットを宛先ホストに転送するようリレー装置を設定する必要があります。このようなブロードキャスト パケットの例として DHCP パケット、DNS パケット、場合によっては TFTP パケットが挙げられます。
リレー装置が Cisco ルータである場合、IP ルーティングをイネーブルにし( ip routing グローバル コンフィギュレーション コマンド)、ヘルパー アドレスを設定します( ip helper-address インターフェイス コンフィギュレーション コマンド)。図 3-2 では、ルータ インターフェイスを次のように設定しています。
インターフェイス 10.0.0.2 では、
router(config-if)#
ip helper-address 20.0.0.2
router(config-if)#
ip helper-address 20.0.0.3
router(config-if)#
ip helper-address 20.0.0.4
インターフェイス 20.0.0.1 では、
router(config-if)#
ip helper-address 10.0.0.1
図 3-2 自動設定でのリレー装置の使用
コンフィギュレーション ファイルの入手方法
DHCP 予約リースの IP アドレスおよびコンフィギュレーション ファイル名のアベイラビリティに応じて、スイッチは次の方法で設定情報を入手します。
• IP アドレスおよびコンフィギュレーション ファイル名が、スイッチ用に予約され、DHCP 応答(1 ファイル読み込み方式)で提供されます。
スイッチは、DHCP サーバまたはスイッチ上で実行される DHCP サーバ機能のいずれかから、IP アドレス、サブネット マスク、TFTP サーバ アドレス、およびコンフィギュレーション ファイル名を受信します。スイッチは、TFTP サーバにユニキャスト メッセージを送信して、名前付きコンフィギュレーション ファイルをサーバのベース ディレクトリから取得して、受信後、ブートアップ プロセスを完了します。
• DHCP 応答に TFTP サーバ アドレスが含まれていない場合(1 ファイル読み込み方式)、スイッチの IP アドレスおよびコンフィギュレーション ファイル名が予約されます。
スイッチは、DHCP サーバから IP アドレス、サブネット マスク、およびコンフィギュレーション ファイル名を DHCP サーバまたはスイッチ上で実行される DHCP サーバ機能のいずれかから受信します。スイッチは、TFTP サーバにブロードキャスト メッセージを送信して、名前付きコンフィギュレーション ファイルをサーバのベース ディレクトリから取得して、受信後、ブートアップ プロセスを完了します。
• IP アドレスだけがスイッチ用に予約され、DHCP 応答で提供されます。コンフィギュレーション ファイル名は提供されません(2 ファイル読み込み方式)。
スイッチは、DHCP サーバ、またはスイッチ上で実行される DHCP サーバ機能のいずれかから IP アドレス、サブネット マスク、および TFTP サーバ アドレスを受信します。スイッチは、TFTP サーバにユニキャスト メッセージを送り、network-confg または cisconet.cfg のデフォルトのコンフィギュレーション ファイルを取得します(network-confg ファイルが読み込めない場合、スイッチは cisconet.cfg ファイルを読み込みます)。
デフォルトのコンフィギュレーション ファイルには、スイッチのホスト名から IP アドレスへのマッピングが含まれています。スイッチは、ファイルの情報をホスト テーブルに書き込み、ホスト名を入手します。ファイルでホスト名が見つからない場合、スイッチは DHCP 応答のホスト名を使用します。DHCP 応答でホスト名が指定されていない場合、スイッチはデフォルトの Switch をホスト名として使用します。
デフォルトのコンフィギュレーション ファイルまたは DHCP 応答からホスト名を入手したあと、スイッチはホスト名と同じ名前のコンフィギュレーション ファイル(network-confg または cisconet.cfg のどちらが先に読み込まれたかに応じて、 hostname -confg または hostname .cfg)を TFTP サーバから読み込みます。cisconet.cfg ファイルが読み込まれている場合は、ホストのファイル名は 8 文字に切り捨てられます。
network-confg、cisconet.cfg、またはホスト名と同じ名前のファイルを読み込むことができない場合、スイッチは router-confg ファイルを読み込みます。スイッチが router-confg ファイルを読み込めない場合は、ciscortr.cfg ファイルを読み込みます。
(注) 次のいずれかの場合に、スイッチは TFTP サーバ要求をブロードキャストします。DHCP 応答から TFTP サーバを入手できなかった場合、ユニキャスト伝送によるコンフィギュレーション ファイルの読み込みに失敗した場合、TFTP サーバ名を IP アドレスに変換できない場合
構成例
図 3-3 に、DHCP ベースの自動設定を使用して IP 情報を取得するネットワークの例を示します。
図 3-3 DHCP ベースの自動設定を使用するネットワークの構成例
表 3-2 に、DHCP サーバ、またはスイッチ上で実行される DHCP サーバ機能の専用のリースのコンフィギュレーションを示します。
表 3-2 DHCP サーバのコンフィギュレーション
|
|
|
|
|
バインディング キー(ハードウェア アドレス) |
00e0.9f1e.2001 |
00e0.9f1e.2002 |
00e0.9f1e.2003 |
00e0.9f1e.2004 |
IP アドレス |
10.0.0.21 |
10.0.0.22 |
10.0.0.23 |
10.0.0.24 |
サブネット マスク |
255.255.255.0 |
255.255.255.0 |
255.255.255.0 |
255.255.255.0 |
ルータ アドレス |
10.0.0.10 |
10.0.0.10 |
10.0.0.10 |
10.0.0.10 |
DNS サーバ アドレス |
10.0.0.2 |
10.0.0.2 |
10.0.0.2 |
10.0.0.2 |
TFTP サーバ名 |
maritsu または 10.0.0.3 |
maritsu または 10.0.0.3 |
maritsu または 10.0.0.3 |
maritsu または 10.0.0.3 |
ブート ファイル名(コンフィギュレーション ファイル)(任意) |
switch1-confg |
switch2-confg |
switch3-confg |
switch4-confg |
ホスト名(任意) |
switch 1 |
switch 2 |
switch 3 |
switch 4 |
DNS サーバ コンフィギュレーション
DNS サーバは、TFTP サーバ名 maritsu を IP アドレス 10.0.0.3 にマッピングします。
TFTP サーバ コンフィギュレーション(UNIX)
TFTP サーバのベース ディレクトリは、/tftpserver/work/ に設定されています。このディレクトリには、2 ファイル読み込み方式で使用される network-confg ファイルがあります。このファイルには、IP アドレスに基づいてスイッチに割り当てられるホスト名が含まれています。ベース ディレクトリには、次に示すように、各スイッチのコンフィギュレーション ファイル( switch1-confg 、 switch2-confg など)も含まれています。
prompt> cd /tftpserver/work/
prompt> cat network-confg
ip host switch1 10.0.0.21
ip host switch2 10.0.0.22
ip host switch3 10.0.0.23
ip host switch4 10.0.0.24
DHCP クライアント コンフィギュレーション
スイッチ 1 ~ 4 には、コンフィギュレーション ファイルは存在しません。
コンフィギュレーションの説明
図 3-3 の場合、スイッチ 1 はコンフィギュレーション ファイルを次のようにして読み込みます。
• スイッチ 1 は、DHCP サーバから IP アドレス 10.0.0.21 を入手します。
• DHCP サーバの応答でコンフィギュレーション ファイル名が提供されない場合、スイッチ 1 は TFTP サーバのベース ディレクトリから network-confg ファイルを読み込みます。
• スイッチ 1 は、ホスト テーブルに network-confg ファイルの内容を追加します。
• スイッチ 1 は、IP アドレス 10.0.0.21 を基にホスト テーブルを検索し、ホスト名(switch1)を取得します。
• スイッチ 1 は、ホスト名に対応するコンフィギュレーション ファイルを読み込みます。たとえば、TFTP サーバから switch1-confg を読み込みます。
スイッチ 2 ~ 4 も、同様にコンフィギュレーション ファイルおよび IP アドレスを取得します。
スイッチの設定
ここではスイッチの設定方法について説明します。
• 「コンフィギュレーション モードによるスイッチの設定」
• 「実行コンフィギュレーション設定の確認」
• 「実行コンフィギュレーション設定値の起動ファイルへの保存」
• 「NVRAM での設定の確認」
• 「デフォルト ゲートウェイの設定」
• 「スタティック ルートの設定」
コンフィギュレーション モードによるスイッチの設定
コンフィギュレーション モードからスイッチを設定する手順は、次のとおりです。
ステップ 1 スーパーバイザ エンジンのコンソール インターフェイスに、コンソール端末を接続します。
ステップ 2 数秒後に、ユーザ EXEC プロンプト(Switch>)が表示されます。このあと、特権 EXEC モード(別名、イネーブル モード)を開始できます。 enable と入力して、イネーブル モードを開始します。
(注) コンフィギュレーションを変更する場合は、イネーブル モードを開始している必要があります。
プロンプトがイネーブル プロンプト(#)に変わります。
ステップ 3 イネーブル プロンプト(#)に、 configure terminal コマンドを入力して、グローバル コンフィギュレーション モードを開始します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ステップ 4 グローバル コンフィギュレーション モード プロンプトに、 interface type slot/interface コマンドを入力して、インターフェイス コンフィギュレーション モードを開始します。
Switch(config)# interface fastethernet 5/1
ステップ 5 これらのコンフィギュレーション モードのいずれかで、スイッチ設定の変更を行います。
ステップ 6 コンフィギュレーション モードを終了するには、 end コマンドを入力します。
ステップ 7 設定値を保存します(「実行コンフィギュレーション設定値の起動ファイルへの保存」を参照)。
これで最小限のスイッチ設定が完了し、入力した設定を使用してルータを起動できるようになりました。コンフィギュレーション コマンドのリストを確認するには、プロンプトで ? を入力するか、またはコンフィギュレーション モードで help キーを押します。
実行コンフィギュレーション設定の確認
入力したコンフィギュレーションまたは変更を確認するには、次の例に示すように、イネーブルプロンプト(#)で show running-config コマンドを入力します。
Switch# show running-config
Building configuration...
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
transport input lat pad dsipcon mop telnet rlogin udptn nasi
実行コンフィギュレーション設定値の起動ファイルへの保存
注意
次のコマンドで、コンフィギュレーション モードで入力した設定値を保存します。この作業を行わないと、次回システムをリロードするときに設定が失われます。
コンフィギュレーション、コンフィギュレーションへの変更内容、またはスタートアップ コンフィギュレーションへの変更を NVRAM に保存するには、イネーブル プロンプト(#)で copy running-config startup-config コマンドを入力します。
Switch# copy running-config startup-config
NVRAM での設定の確認
NVRAM に保存されている情報を表示するには、 show startup-config EXEC コマンドを入力します。
次に、一般的なシステム設定の例を示します。
Switch# show startup-config
Using 1579 out of 491500 bytes, uncompressed size = 7372 bytes
Uncompressed configuration from 1579 bytes to 7372 bytes
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
interface GigabitEthernet1/1
interface GigabitEthernet1/2
transport input lat pad dsipcon mop telnet rlogin udptn nasi
デフォルト ゲートウェイの設定
(注) スイッチがデフォルト ゲートウェイを使用するのは、ルーティング プロトコルが設定されていない場合に限られます。
スイッチにルーティング プロトコルが設定されていない場合、他のサブネットにデータを送信するデフォルト ゲートウェイを設定します。デフォルト ゲートウェイには、スイッチに直接接続するルータ上のインターフェイスの IP アドレスを指定する必要があります。
デフォルト ゲートウェイを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# ip default-gateway IP-address
|
デフォルト ゲートウェイを設定します。 |
ステップ 2 |
|
デフォルト ゲートウェイが IP ルーティング テーブルに正しく表示されることを確認します。 |
次に、デフォルト ゲートウェイを設定し、その設定を確認する例を示します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip default-gateway 172.20.52.35
3d17h: %SYS-5-CONFIG_I: Configured from console by console
Default gateway is 172.20.52.35
Host Gateway Last Use Total Uses Interface
ICMP redirect cache is empty
スタティック ルートの設定
Telnet ステーションまたは Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)ネットワーク管理ワークステーションが、スイッチと異なるネットワークに存在し、ルーティング プロトコルが設定されていない場合、使用しているエンド ステーションが存在するネットワークに対応するスタティック ルーティング テーブル エントリを追加しなければならない場合があります。
スタティック ルートを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# ip route dest_IP_address mask {forwarding_IP | vlan vlan_ID}
|
リモート ネットワークへのスタティック ルートを設定します。 |
ステップ 2 |
Switch# show running-config
|
スタティック ルートが正しく表示されることを確認します。 |
次に、スイッチ上で ip route コマンドを使用して、IP アドレス 171.10.5.10 のワークステーションへのスタティック ルートを設定する例を示します。この場合、サブネット マスクと転送ルータの IP アドレス 172.20.3.35 を用います。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip route 171.10.5.10 255.255.255.255 172.20.3.35
次に、 show running-config コマンドを使用して、スタティック ルートの設定を確認する例を示します。
Switch# show running-config
Building configuration...
ip default-gateway 172.20.52.35
ip route 171.10.5.10 255.255.255.255 172.20.3.35
transport input lat pad dsipcon mop telnet rlogin udptn nasi
次に、スイッチ上で ip route コマンドを使用して、IP アドレス 171.20.5.3 のワークステーションへのスタティック ルートを設定する例を示します。この場合、サブネット マスクと接続されている Virtual Local Area Network(VLAN; 仮想 LAN)1 を用います。
Switch# configure terminal
Switch(config)# ip route 171.20.5.3 255.255.255.255 vlan 1
次に、 show running-config コマンドを使用して、スタティック ルートの設定を確認する例を示します。
Switch# show running-config
Building configuration...
ip default-gateway 172.20.52.35
ip route 171.20.5.3 255.255.255.255 Vlan1
transport input lat pad dsipcon mop telnet rlogin udptn nasi
特権 EXEC コマンドへのアクセス制御
次の手順に従って、システム コンフィギュレーション ファイルと特権 EXEC コマンドへのアクセスを制御します。
• 「スタティック イネーブル パスワードの設定または変更」
• 「enable password コマンドおよび enable secret コマンドの使用」
• 「イネーブル パスワードの設定または変更」
• 「TACACS+ によるスイッチ アクセスの制御」
• 「パスワードの暗号化」
• 「複数の特権レベルの設定」
スタティック イネーブル パスワードの設定または変更
イネーブル モードへのアクセスを制御するスタティック パスワードを設定または変更するには、次の作業を行います。
|
|
Switch(config)# enable password password |
特権 EXEC モードの新しいパスワードを設定するか、既存のパスワードを変更します。 |
次に、特権 EXEC モードでイネーブル パスワードを「lab」に設定する例を示します。
Switch# configure terminal
Switch(config)# enable password lab
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
enable password コマンドおよび enable secret コマンドの使用
ネットワークで送受信されるパスワードまたは TFTP サーバに保存されるパスワードについて、セキュリティをさらに強化するには、 enable password コマンドまたは enable secret コマンドを使用します。どちらのコマンドも、イネーブル モード(デフォルト)または指定したその他の特権レベルにアクセスするために、ユーザが入力しなければならない暗号化パスワードを設定します。
enable secret コマンドの使用を推奨します。
enable secret コマンドを設定した場合、このコマンドは enable password コマンドよりも優先されます。同時に 2 つのコマンドを有効にはできません。
スイッチがイネーブル パスワードを要求するように設定するには、次のいずれかの作業を行います。
|
|
Switch(config)# enable password [ level level ] { password | encryption-type encrypted-password } |
特権 EXEC モードを開始するためのパスワードを設定します。 |
Switch(config)# enable secret [ level level ] { password | encryption-type encrypted-password } |
不可逆的な暗号化方式を使用して保存されるシークレット パスワードを設定します(enable password コマンドおよび enable secret コマンドの両方を設定した場合は、イネーブル シークレット パスワードを入力する必要があります)。 |
level オプションを使用してどちらかのパスワード コマンドを入力すると、特定の特権レベルにアクセスするためのパスワードを定義できます。レベルを指定してパスワードを設定したあと、その特権レベルにアクセスする必要のあるユーザだけに、パスワードを通知してください。各レベルでアクセスできるコマンドを指定するには、 privilege level コンフィギュレーション コマンドを使用します。
service password-encryption コマンドをイネーブルにしている場合は、入力したパスワードが暗号化されます。 more system:running-config コマンドを使用してパスワードを表示すると、パスワードは暗号化形式で表示されます。
暗号化タイプを指定する場合は、暗号化パスワード(別の Catalyst 4500 シリーズ スイッチの設定からコピーした暗号化パスワード)を入力する必要があります。
(注) 暗号化パスワードを忘れた場合、回復はできません。NVRAM を消去し、新しいパスワードを設定する必要があります。詳細については、「イネーブル パスワードを忘れた場合の回復方法」を参照してください。
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
イネーブル パスワードの設定または変更
イネーブル パスワードを設定または変更するには、次の作業を行います。
|
|
Switch(config-line)#
password
password
|
特権レベルの新しいパスワードを設定するか、既存のパスワードを変更します。 |
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
TACACS+ によるスイッチ アクセスの制御
ここでは、TACACS+ をイネーブルにして設定する方法について説明します。TACACS+ は、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。TACACS+ は、Authentication、Authorization、Accounting(AAA; 認証、認可、アカウンティング)を通じて機能し、AAA コマンドによってだけイネーブルにできます。
(注) この章で使用するコマンドの構文および使用方法の詳細については、『Cisco IOS Security Command Reference, Release 12.2』を参照してください。
ここで説明する設定内容は次のとおりです。
• 「TACACS+ の概要」
• 「TACACS+ の動作」
• 「TACACS+ の設定」
• 「TACACS+ 設定の表示」
TACACS+ の概要
TACACS+ は、スイッチにアクセスしようとするユーザの評価を集中的に行うセキュリティ アプリケーションです。TACACS+ サービスは、通常 UNIX または Windows NT ワークステーション上で稼動する TACACS+ デーモンのデータベースで維持されます。スイッチに TACACS+ 機能を設定する前に、TACACS+ サーバにアクセスして設定する必要があります。
TACACS+ は、個別のモジュール式 AAA 機能を備えています。TACACS+ では、単一のアクセス制御サーバ(TACACS+ デーモン)が各サービス(認証、認可、アカウンティング)を個別に提供します。各サービスは固有のデータベースに組み込まれるため、デーモンの機能に応じてそのサーバまたはネットワークで使用できる他のサービスも利用できます。
TACACS+ の目的は、単一の管理サービスから複数のネットワーク アクセス ポイントを管理する方式を提供することです。スイッチは、他の Cisco ルータおよびアクセス サーバとともにネットワーク アクセス サーバにできます。ネットワーク アクセス サーバは、単一のユーザ、ネットワークまたはサブネットワーク、および相互接続されたネットワークとの接続を実現します(図 3-4 を参照)。
図 3-4 一般的な TACACS+ ネットワーク構成
TACACS+ は、AAA セキュリティ サービスによって管理され、次のようなサービスを提供します。
• 認証:ログインおよびパスワード ダイアログ、チャレンジおよび応答、メッセージング サポートによって認証をフル制御します。
認証機能は、ユーザとの対話を実行できます(たとえば、ユーザ名とパスワードが入力されたあと、自宅の住所、母親の旧姓、サービス タイプ、社会保険番号などのいくつかの質問をすることによりユーザを確認します)。TACACS+ 認証サービスにより、ユーザ画面にメッセージを表示することもできます。たとえば、会社のパスワード有効期間ポリシーにより、パスワードを変更する必要があることをユーザに通知します。
• 認可:自動コマンド、アクセス制御、セッション期間、またはプロトコル サポートの設定を含む(ただし、これらに限定されない)ユーザ機能をユーザ セッション期間内で厳しく制限します。また、TACACS+ 許可機能によってユーザが実行できるコマンドを制限することもできます。
• アカウンティング:課金、監査、およびレポートに使用する情報を収集して TACACS+ デーモンに送信します。ネットワークの管理者はアカウンティング機能を使用して、セキュリティ監査のためにユーザのアクティビティを追跡したり、ユーザ課金用の情報を提供したりできます。アカウンティング レコードには、ユーザ ID、開始時刻および終了時刻、実行されたコマンド(PPP(ポイントツーポイント プロトコル)など)、パケット数、バイト数が含まれます。
TACACS+ プロトコルは、スイッチと TACACS+ デーモンの間の認証を行います。スイッチと TACACS+ デーモンの間のプロトコル交換はすべて暗号化されるため、機密は保持されます。
スイッチで TACACS+ を使用するには、TACACS+ デーモン ソフトウェアが稼動するシステムが必要です。
TACACS+ の動作
ユーザが TACACS+ を使用してスイッチを認証することで、簡易 ASCII ログインを試行すると、次のプロセスが発生します。
1. 接続が確立すると、スイッチは TACACS+ デーモンに接続してユーザ名プロンプトを取得し、ユーザに表示します。ユーザがユーザ名を入力すると、スイッチは TACACS+ デーモンに接続してパスワード プロンプトを取得します。スイッチがパスワード プロンプトを表示し、ユーザがパスワードを入力すると、そのパスワードが TACACS+ デーモンに送信されます。
TACACS+ によって、デーモンはユーザを認証するのに十分な情報を取得するまで、デーモンとユーザの間で対話が可能になります。デーモンはユーザ名とパスワードの組み合わせを入力するよう求めますが、ユーザの母親の旧姓など、その他の項目を含めることもできます。
2. スイッチは、最終的に TACACS+ デーモンから次のいずれかの応答を受信します。
• ACCEPT:ユーザが認証され、サービスを開始できます。認可を必要とするようにスイッチが設定されている場合は、この時点で認可処理が開始されます。
• REJECT:ユーザは認証されません。TACACS+ デーモンに応じて、ユーザはアクセスを拒否されるか、ログイン シーケンスを再試行するよう求められます。
• ERROR:デーモンを使用した認証のある時点で、またはデーモンとスイッチの間のネットワーク接続においてエラーが発生しました。ERROR 応答を受信した場合、スイッチは通常、別の方法でユーザを認証しようとします。
• CONTINUE:ユーザは、さらに認証情報の入力を求められます。
認証後、スイッチで許可機能がイネーブルになっている場合、ユーザは追加の認可フェーズに入ります。ユーザは TACACS+ 認可に進む前にまず、TACACS+ 認証を正常に終了する必要があります。
3. TACACS+ 認可が必要な場合、再び TACACS+ デーモンに接続し、デーモンが ACCEPT または REJECT の許可応答を返します。ACCEPT 応答が返された場合は、その応答にユーザおよびサービスの EXEC または NETWORK セッションを指示するデータが属性の形式で含まれており、ユーザがアクセスできるサービスが決まります。
• Telnet、Secure Shell(SSH; セキュア シェル)、rlogin、または特権 EXEC サービス
• 接続パラメータ(ホストまたはクライアントの IP アドレス、アクセス リスト、ユーザ タイムアウトを含む)
TACACS+ のデフォルト設定
TACACS+ と AAA は、デフォルトではディセーブルです。
セキュリティ上の理由により、ネットワーク管理アプリケーションを使用して TACACS+ を設定できません。イネーブルに設定されている場合、TACACS+ は Command Line Interface(CLI; コマンドライン インターフェイス)を介してスイッチにアクセスするユーザを認証できます。
(注) TACACS+ の設定は CLI を介して実行しますが、TACACS+ サーバは特権レベル 15 に設定された Hypertext Transfer Protocol(HTTP; ハイパーテキスト転送プロトコル)接続を認証します。
TACACS+ サーバ ホストの特定と認証キーの設定
認証用に単一サーバを使用する、または既存のサーバ ホストをグループ化するために AAA サーバ グループを使用するようスイッチを設定できます。サーバをグループ化して設定済みサーバ ホストのサブセットを選択し、特定のサービスにそれらのサーバを使用できます。サーバ グループは、グローバル サーバホスト リストと一緒に使用され、選択したサーバ ホストの IP アドレスのリストを含んでいます。
TACACS+ サーバを維持する IP ホストを特定し、任意で暗号キーを設定するには、特権 EXEC モードを開始して次の手順を実行します。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
tacacs-server host
hostname
[
port
integer
] [
timeout
integer
] [
key
string
]
|
TACACS+ サーバを維持する IP ホストを特定します。このコマンドを複数回入力すると、優先ホストのリストを作成できます。ソフトウェアは、指定された順序でホストを検索します。 • hostname には、ホスト名または IP アドレスを指定します。 • (任意) port integer には、サーバのポート番号を指定します。デフォルトは、ポート 49 です。指定できる範囲は 1 ~ 65535 です。 • (任意) timeout integer には、スイッチがデーモンからの応答を待つ時間を秒単位で指定します。この時間を過ぎるとスイッチはタイムアウトしてエラーを宣言します。デフォルトは 5 秒です。指定できる範囲は 1 ~ 1000 秒です。 • (任意) key string には、スイッチと TACACS+ デーモンの間のすべてのトラフィックを暗号化および復号化するための暗号キーを指定します。暗号化が正しく機能するには、TACACS+ デーモンに同じキーを設定する必要があります。 |
ステップ 3 |
|
AAA をイネーブルにします。 |
ステップ 4 |
aaa group server tacacs+
group-name
|
(任意)グループ名で AAA サーバグループを定義します。 このコマンドによって、スイッチはサーバ グループ サブコンフィギュレーション モードになります。 |
ステップ 5 |
|
(任意)特定の TACACS+ サーバを定義済みサーバ グループに関連付けます。AAA サーバ グループの各 TACACS+ サーバに対してこの手順を繰り返します。 グループの各サーバは、ステップ 2 で事前に定義する必要があります。 |
ステップ 6 |
|
特権 EXEC モードに戻ります。 |
ステップ 7 |
|
入力を確認します。 |
ステップ 8 |
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
指定された TACACS+ サーバ名またはアドレスを削除するには、 no tacacs-server host hostname グローバル コンフィギュレーション コマンドを使用します。設定リストからサーバ グループを削除するには、 no aaa group server tacacs+ group-name グローバル コンフィギュレーション コマンドを使用します。TACACS+ サーバの IP アドレスを削除するには、 no server ip-address サーバ グループ サブコンフィギュレーション コマンドを使用します。
TACACS+ ログイン認証の設定
AAA 認証を設定するには、認証方式の名前付きリストを定義してから、さまざまなポートにそのリストを適用します。方式リストには実行する認証のタイプと実行順序を定義します。このリストを特定のポートに適用してから、定義した認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト( default と名前が付けられている)です。デフォルトの方式リストは、明示的に定義された名前付き方式リストを持つポート以外の、すべてのポートに自動的に適用されます。定義された方式リストは、デフォルトの方式リストを上書きします。
方式リストは、ユーザ認証のためクエリー送信を行う手順と認証方式を記述したものです。認証のために 1 つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリスト内の次の認証方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式を使い果たすまで続きます。このサイクルのある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上他の認証方式が試行されることはありません。
ログイン認証を設定するには、特権 EXEC モードを開始して次の手順を実行します。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
|
AAA をイネーブルにします。 |
ステップ 3 |
aaa authentication login
{
default
|
list-name
}
method1
[
method2...
]
|
ログイン認証方式リストを作成します。 • login authentication コマンドに名前付きリストが指定 されなかった 場合に使用されるデフォルトのリストを作成するには、 default キーワードの後ろにデフォルトの状況で使用する方式を指定します。デフォルトの方式リストは、自動的にすべてのポートに適用されます。 • list-name には、作成するリストの名前に使用する文字列を指定します。 • method1.. . には、認証アルゴリズムが試行する実際の方式を指定します。追加の認証方式は、その前の方式でエラーが戻された場合に限り使用されます。前の方式が失敗した場合は使用されません。 次のいずれかの方式を選択します。 • enable :イネーブル パスワードを認証に使用します。この認証方式を使用する前に、 enable password グローバル コンフィギュレーション コマンドを使用してイネーブル パスワードを定義する必要があります。 • group tacacs+ :TACACS+ 認証を使用します。この認証方式を使用する前に、TACACS+ サーバを設定しておく必要があります。詳細については、「TACACS+ サーバ ホストの特定と認証キーの設定」を参照してください。 • line :回線パスワードを認証に使用します。この認証方式を使用する前に、回線パスワードを設定しておく必要があります。それには、 password password ライン コンフィギュレーション コマンドを使用します。 • local :ローカル ユーザ名データベースを認証に使用します。データベースにユーザ名情報を入力する必要があります。それには、 username password グローバル コンフィギュレーション コマンドを使用します。 • local-case :大文字と小文字が区別されたローカル ユーザ名データベースを認証に使用します。それには、 username name password グローバル コンフィギュレーション コマンドを使用して、ユーザ名情報をデータベースに入力する必要があります。 • none :ログインに認証を使用しません。 |
ステップ 4 |
line
[
console
|
tty
|
vty
]
line-number [ending-line-number
]
|
ライン コンフィギュレーション モードを開始し、認証リストを適用する回線を設定します。 |
ステップ 5 |
login authentication
{
default
|
list-name
}
|
回線または回線セットに、認証リストを適用します。 • default を指定する場合、 aaa authentication login コマンドで作成したデフォルトのリストを使用します。 • list-name には、 aaa authentication login コマンドで作成したリストを指定します。 |
ステップ 6 |
|
特権 EXEC モードに戻ります。 |
ステップ 7 |
|
入力を確認します。 |
ステップ 8 |
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
AAA をディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。AAA 認証をディセーブルにするには、 no aaa authentication login {default | list-name } method1 [ method2... ] グローバル コンフィギュレーション コマンドを使用します。ログインの TACACS+ 認証をディセーブルにする、またはデフォルト値に戻すには、 no login authentication { default | list-name } ライン コンフィギュレーション コマンドを使用します。
特権 EXEC アクセスおよびネットワーク サービス用の TACACS+ 認可の設定
AAA 認可によってユーザが利用できるサービスが制限されます。AAA 認可がイネーブルである場合、スイッチはユーザのプロファイルから取得した情報を使用します。このプロファイルは、ローカルのユーザ データベースまたはセキュリティ サーバ上にあり、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。
tacacs+ キーワードを指定して aaa authorization グローバル コンフィギュレーション コマンドを使用すると、特権 EXEC モードへのユーザのネットワーク アクセスを制限するパラメータを設定できます。
aaa authorization exec tacacs+ local コマンドは、次の認可パラメータを設定します。
• 認証に TACACS+ を使用した場合は、特権 EXEC アクセス許可に TACACS+ を使用します。
• 認証に TACACS+ を使用しなかった場合は、ローカル データベースを使用します。
(注) 認可が設定されていても、CLI を介してログインし、認証されたユーザに対しては、認可は省略されます。
特権 EXEC アクセスおよびネットワーク サービスに関する TACACS+ 認可を指定するには、特権 EXEC モードを開始して、次の手順を実行します。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
aaa authorization network tacacs+
|
ネットワーク関連のすべてのサービス要求に対してユーザ TACACS+ 認可を行うことを設定します。 |
ステップ 3 |
aaa authorization exec tacacs+
|
ユーザの特権 EXEC アクセスに対してユーザ TACACS+ 認可を行うことを設定します。 exec キーワードを指定すると、ユーザ プロファイル情報( autocommand 情報など)が返されることがあります。 |
ステップ 4 |
|
特権 EXEC モードに戻ります。 |
ステップ 5 |
|
入力を確認します。 |
ステップ 6 |
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
認可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。
TACACS+ アカウンティングの起動
AAA アカウンティング機能は、ユーザがアクセスしたサービスと、消費したネットワーク リソース量を追跡します。AAA アカウンティングをイネーブルにすると、スイッチはユーザのアクティビティをアカウンティング レコード形式で TACACS+ セキュリティ サーバに報告します。各アカウンティング レコードは、アカウンティングの AV のペアを含み、セキュリティ サーバに保存されます。このデータは、ネットワーク管理、クライアントへの課金、または監査用に分析できます。
各 Cisco IOS 特権レベルおよびネットワーク サービスに関する TACACS+ アカウンティングをイネーブルにするには、特権 EXEC モードを開始して、次の手順を実行します。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
aaa accounting network start-stop tacacs+
|
ネットワーク関連のすべてのサービス要求について、TACACS+ アカウンティングをイネーブルにします。 |
ステップ 3 |
aaa accounting exec start-stop tacacs+
|
TACACS+ アカウンティングをイネーブルにして、特権 EXEC プロセスの最初に記録開始アカウンティング通知、最後に記録停止通知を送信します。 |
ステップ 4 |
|
特権 EXEC モードに戻ります。 |
ステップ 5 |
|
入力を確認します。 |
ステップ 6 |
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
アカウンティングをディセーブルにするには、 no aaa accounting { network | exec } { start-stop } method1... グローバル コンフィギュレーション コマンドを使用します。
TACACS+ 設定の表示
TACACS+ サーバ統計情報を表示するには、 show tacacs 特権 EXEC コマンドを使用します。
パスワードの暗号化
プロトコル アナライザでパケットを調べる(パスワードを読み取る)ことができるため、パスワードを暗号化するように Cisco IOS ソフトウェアを設定することによって、アクセス セキュリティを強化できます。暗号化を行うと、コンフィギュレーション ファイル内でのパスワード読み取りを不可能にできます。
パスワードを暗号化するように Cisco IOS ソフトウェアを設定するには、次の作業を行います。
|
|
Switch(config)# service password-encryption
|
パスワードを暗号化します。 |
暗号化は、現在の設定が保存されるとき、またはパスワードが設定されるときに行われます。パスワードの暗号化は、認証キー パスワード、イネーブル コマンド パスワード、コンソールおよび仮想端末回線アクセス パスワード、および Border Gateway Protocol(BGP; ボーダー ゲートウェイ プロトコル)ネイバー パスワードを含む、すべてのパスワードに適用されます。 service password-encryption コマンドを使用すると、認可されていないユーザがコンフィギュレーション ファイルのパスワードを表示できなくなります。
注意
service password-encryption コマンドでは、高度なネットワーク セキュリティは提供されません。このコマンドを使用する場合は、その他のネットワーク セキュリティ手段も講じる必要があります。
暗号化パスワードを忘れた場合、パスワードの回復はできません(元のパスワードを取り戻すことはできません)。ただし、暗号化パスワードを忘れても、スイッチの制御を取り戻すことはできます。詳細については、「イネーブル パスワードを忘れた場合の回復方法」を参照してください。
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
複数の特権レベルの設定
Cisco IOS ソフトウェアには、パスワード セキュリティのモードがデフォルトで 2 つあります。ユーザ EXEC モードと特権 EXEC モードです。各モードに、最大 16 個の階層レベルから構成されるコマンドを設定できます。複数のパスワードを設定すると、ユーザ グループ別に特定のコマンドへのアクセスを許可できます。
たとえば、多くのユーザが clear line コマンドにアクセスできるようにするには、このコマンドにレベル 2 セキュリティを割り当て、レベル 2 パスワードを広範囲に配布します。一方、 configure コマンドにアクセスできるユーザを限定する場合には、このコマンドにレベル 3 セキュリティを割り当て、そのパスワードを配布するユーザ数を減らします。
ここでは、追加レベルのセキュリティを設定する手順について説明します。
• 「コマンドの特権レベルの設定」
• 「回線のデフォルト特権レベルの変更」
• 「特権レベルへのログイン」
• 「特権レベルの終了」
• 「パスワード、アクセス レベル、および特権レベルの設定の表示」
コマンドの特権レベルの設定
コマンドの特権レベルを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# privilege mode level level command |
コマンドの特権レベルを設定します。 |
ステップ 2 |
Switch(config)#
enable password level
level [
encryption-type ]
password
|
特権レベルにアクセスするためのイネーブル パスワードを指定します。 |
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
回線のデフォルト特権レベルの変更
特定の回線または回線グループのデフォルト特権レベルを変更するには、次の作業を行います。
|
|
Switch(config-line)# privilege level level |
回線のデフォルト特権レベルを変更します。 |
パスワードまたはアクセス レベルの設定を表示する方法については、「パスワード、アクセス レベル、および特権レベルの設定の表示」を参照してください。
特権レベルへのログイン
特定の特権レベルにログインするには、次の作業を行います。
特権レベルの終了
特定の特権レベルを終了するには、次の作業を行います。
パスワード、アクセス レベル、および特権レベルの設定の表示
詳細なパスワード情報を表示するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch# show running-config |
パスワードおよびアクセス レベルの設定を表示します。 |
ステップ 2 |
Switch# show privilege |
特権レベルの設定を表示します。 |
次に、パスワードおよびアクセス レベルの設定を表示する例を示します。
Switch# show running-config
Building configuration...
service timestamps debug datetime localtime
service timestamps log datetime localtime
no service password-encryption
boot system flash sup-bootflash
次に、特権レベルの設定を表示する例を示します。
Current privilege level is 15
スーパーバイザ エンジンのスタートアップ コンフィギュレーションの変更
ここでは、スーパーバイザ エンジンのスタートアップ コンフィギュレーションの機能と、BOOT 変数およびコンフィギュレーション レジスタを変更する手順について説明します。
• 「スーパーバイザ エンジンのブート コンフィギュレーションの概要」
• 「ソフトウェア コンフィギュレーション レジスタの設定」
• 「スタートアップ システム イメージの指定」
• 「環境変数の制御」
スーパーバイザ エンジンのブート コンフィギュレーションの概要
スーパーバイザ エンジンのブート プロセスには、2 つのソフトウェア イメージが関与します。ROM モニタとスーパーバイザ エンジン ソフトウェアです。スイッチを起動またはリセットすると、Random Access Memory Monitor(ROMmon; ランダム アクセス メモリ モニタ)コードが実行されます。NVRAM に保存されている設定に応じて、スーパーバイザ エンジンは ROMmon モードを継続するか、またはスーパーバイザ エンジン ソフトウェアをロードします。
ユーザ側で設定できる 2 つのパラメータによって、スイッチの起動方法が決まります。コンフィギュレーション レジスタと BOOT 環境変数です。コンフィギュレーション レジスタについては、「ブート フィールドの変更および boot コマンドの実行」を参照してください。BOOT 環境変数については、「スタートアップ システム イメージの指定」を参照してください。
ROM モニタの概要
ROM モニタ(ROMmon)はスイッチの起動時、リセット時、または致命的な例外が発生した場合に呼び出されます。スイッチで ROMmon モードが開始されるのは、スイッチが有効なソフトウェア イメージを見つけることができなかった場合、NVRAM 内の設定が壊れていた場合、またはコンフィギュレーション レジスタが ROMmon モードを開始するように設定されていた場合です。ROMmon モードでは、ブートフラッシュまたはフラッシュ ディスクからソフトウェア イメージを手動でロードできます。また、管理インターフェイスから起動することもできます。ROMmon モードはプライマリ イメージをロードします。このプライマリ イメージで、BOOTLDR 環境変数を使用してローカルに、またはネットワークを通じて、指定されたソースから起動するセカンダリ イメージを設定できます。この変数については、「Switch#」を参照してください。
また、スイッチを再起動して、起動後の最初の 5 秒間に Ctrl を押した状態で C を押しても、ROMmon モードを開始できます。
(注) コンフィギュレーションレジスタで Ctrl を押した状態で C を押す機能がディセーブルに設定されているかどうかにかかわらず、スイッチの再起動後 5 秒間は常に Ctrl を押した状態で C を押す機能がイネーブルになります。
ROM モニタの機能は、次のとおりです。
• 電源投入時の信頼性テスト
• ハードウェアの初期化
• 起動能力(手動による起動および自動起動が可能)
• ファイル システム(ROMmon の実行時は読み取り専用)
ソフトウェア コンフィギュレーション レジスタの設定
スイッチは 16 ビットのソフトウェア コンフィギュレーション レジスタを使用します。このコンフィギュレーション レジスタに特定のシステム パラメータを設定できます。ソフトウェア コンフィギュレーション レジスタの設定は、NVRAM にあらかじめ設定されています。
次の場合は、ソフトウェア コンフィギュレーション レジスタの設定値を変更する必要があります。
• 起動元およびデフォルトのブート ファイル名を選択する場合
• ブロードキャスト アドレスを制御する場合
• コンソール端末のボーレートを設定する場合
• フラッシュ メモリからオペレーティング ソフトウェアをロードする場合
• 忘れたパスワードを回復する場合
• ブートストラップ プログラム プロンプトで boot コマンドを使用し、手動でシステムを起動する場合
• システム ブートストラップ ソフトウェア(ブート イメージ)またはオンボード フラッシュ メモリ上のデフォルトのシステム イメージから自動的に起動し、NVRAM 上のコンフィギュレーション ファイル内の boot system コマンドを読み取るように強制的に設定する場合
注意 誤ってCatalyst 4500 シリーズ スイッチのスイッチが停止するような事態を避けるために、コンフィギュレーション レジスタ設定を有効にするには、
表 3-3 に記載されている個々の設定値を使用するのではなく、設定値を組み合わせる必要があります。たとえば、出荷時のデフォルトである 0x2101 という値は、3 つの設定値の組み合わせです。
表 3-3 に、各ソフトウェア コンフィギュレーション メモリ ビットの意味を示します。 表 3-4 に ブート フィールド の定義を示します。
表 3-3 ソフトウェア コンフィギュレーション レジスタ ビット
|
|
|
00 ~ 03 |
0x0000 ~ 0x000F |
ブート フィールド( 表 3-4 を参照) |
04 |
0x0010 |
未使用 |
05 |
0x0020 |
ビット 2 はコンソール回線速度 |
06 |
0x0040 |
システム ソフトウェアに NVRAM の内容を無視させます。 |
07 |
0x0080 |
OEM ビットをイネーブルにします。 |
08 |
0x0100 |
未使用 |
09 |
0x0200 |
未使用 |
10 |
0x0400 |
すべて 0 の IP ブロードキャスト |
11 ~ 12 |
0x0800 ~ 0x1000 |
コンソール回線速度のビット 1 と 0(デフォルトは 9600 ボー) |
13 |
0x2000 |
ネットブートの失敗後に ROM モニタをロードします。 |
14 |
0x4000 |
IP ブロードキャストでネットワーク番号を使用しません。 |
表 3-4 ブート フィールド(コンフィギュレーション レジスタ ビット 00 ~ 03)の説明
|
|
00 |
システム ブートストラップ プロンプトの状態(自動起動しません) |
01 |
オンボード フラッシュ メモリ上で最初に検出されたシステム イメージを起動します。 |
02 ~ 0F |
BOOT 環境変数で指定されたイメージを使用して自動起動します。複数のイメージが指定されている場合、スイッチは BOOT 変数で最初に指定されたイメージの起動を試みます。スイッチがこのイメージからの起動に成功すると、再起動時に同じイメージが使用されます。スイッチが BOOT 変数で最初に指定されたイメージからの起動に失敗すると、スイッチは BOOT 変数の次のイメージからの起動を試みます。BOOT 変数の最後のイメージからスイッチが起動できない場合、スイッチは BOOT 変数の最初に戻って起動を試みます。自動起動は、スイッチが BOOT 変数で指定されたいずれかのイメージからの起動に成功するまで続きます。 |
ブート フィールドの変更および boot コマンドの実行
コンフィギュレーション レジスタのブート フィールドにより、スイッチはオペレーティング システム イメージをロードするかどうかを決定し、ロードする場合はシステム イメージをどの位置から取得するかを決定します。ここでは、コンフィギュレーション レジスタのブート フィールドの使用方法および設定手順と、コンフィギュレーション レジスタのブート フィールドを変更する場合の手順について説明します。ROMmon では、コンフィギュレーション レジスタの変更とブート設定の変更に confreg コマンドを使用できます。
ソフトウェア コンフィギュレーション レジスタのビット 0 ~ 3 が、ブート フィールドを形成します。
(注) システムおよびスペア製品のコンフィギュレーション レジスタの出荷時のデフォルト値は、0x2101 です。ただし、推奨値は 0x0102 です。
ブート フィールドを 00 または 01(0-0-0-0 または 0-0-0-1)に設定すると、システムはシステム コンフィギュレーション ファイルの起動命令を無視して、次の動作を行います。
• ブート フィールドが 00 に設定されている場合は、システム ブートストラップまたは ROMmon プロンプトで boot コマンドを入力し、手動でオペレーティング システムを起動する必要があります。
• ブート フィールドが 01 に設定されている場合は、ブートフラッシュ Single In-line Memory Module(SIMM; シングル インライン メモリ モジュール)で最初に検出されたイメージを起動します。
• ブート フィールド全体が 0-0-1-0 ~ 1-1-1-1 の範囲の値である場合、スイッチはスタートアップ コンフィギュレーション ファイルの boot system コマンドで指定されるシステム イメージをロードします。
注意 ブートフィールドを 0-0-1-0 ~ 1-1-1-1 の範囲の値に設定する場合は、
boot system コマンドで値を指定する必要があります。値を指定しないと、スイッチは起動できず ROMmon のままになります。
boot コマンドは単独でも入力できますが、フラッシュ メモリに保存されたファイル名、ネットワーク サーバからの起動を指定するファイル名など、追加の起動命令を含めることもできます。ファイル名または他の起動命令を指定せずに boot コマンドを使用すると、システムはデフォルトのフラッシュ イメージ(オンボード フラッシュ メモリ上の最初のイメージ)から起動します。また、特定のフラッシュ イメージから起動するように指定することもできます( boot system flash filename コマンドを使用)。
また、 boot コマンドを使用して、スーパーバイザ エンジン上のスロット 0 にあるコンパクト フラッシュ カードに保存されたイメージを起動することもできます。
ブート フィールドの変更
ソフトウェア コンフィギュレーション レジスタのブート フィールドを変更します。
ソフトウェア コンフィギュレーション レジスタのブート フィールドを変更するには、次の作業を行います。
|
|
|
ステップ 1 |
|
現在のコンフィギュレーション レジスタ設定値を確認します。 |
ステップ 2 |
Switch# configure terminal
|
コンフィギュレーション モードを開始し、terminal オプションを指定します。 |
ステップ 3 |
Switch(config)#
config-register
value
|
スイッチへの希望するシステム イメージのロード方法に応じて、既存のコンフィギュレーション レジスタ設定値を変更します。 |
ステップ 4 |
Switch(config)# end |
コンフィギュレーション モードを終了します。 |
ステップ 5 |
|
スイッチを再起動して、変更を有効にします。 |
スイッチが Cisco IOS ソフトウェアを実行している場合にコンフィギュレーション レジスタを変更する手順は、次のとおりです。
ステップ 1 enable コマンドおよびパスワードを入力して、特権レベルを開始します。
ステップ 2 EXEC モード プロンプト(#)で、 configure terminal コマンドを次のように入力します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ステップ 3 コンフィギュレーション レジスタを 0x102 に設定します。
Switch(config)# config-register 0x102
value コマンド変数を指定して、コンフィギュレーション レジスタの内容を設定します。 value は、先頭が 0x の 16 進数です(表 3-3を参照)。
ステップ 4 コンフィギュレーション モードを終了するには、 end コマンドを入力します。新しい設定値がメモリに保存されます。ただし、システムを再起動するまで新しい設定値は有効になりません。
ステップ 5 show version EXEC コマンドを入力して、現在有効なコンフィギュレーション レジスタ値を表示します。これは次回のリロード時に使用されます。この値は次の出力例のように、画面の最後の行に表示されます。
Configuration register is 0x141 (will be 0x102 at next reload)
ステップ 6 設定値を保存します
「実行コンフィギュレーション設定値の起動ファイルへの保存」を参照してください。コンソールから reload コマンドを入力するなどの方法でシステムをリロードしない限り、コンフィギュレーション レジスタの変更は有効になりません)。
ステップ 7 システムを再起動します。システムを再起動した時点で、新しいコンフィギュレーション レジスタ値が有効になります。
コンフィギュレーション レジスタ設定値の確認
現在のコンフィギュレーション レジスタ設定値を確認するには、 show version EXEC コマンドを使用します。コンフィギュレーション レジスタの設定を確認するには、ROMmon モードで show version コマンドを使用します。
スイッチのコンフィギュレーション レジスタ設定値を確認するには、次の作業を行います。
|
|
|
コンフィギュレーション レジスタ設定値を表示します。 |
次に示す show version コマンドの出力例では、現在のコンフィギュレーション レジスタは、スイッチがオペレーティング システム イメージを自動的にロードしないように設定されています。レジスタは ROMmon モードを開始し、ユーザによる ROM モニタ コマンドの入力を待機します。
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-
UNIVERSALK9-M), Experimental Version 03.01.00.SG [Cisco 101]
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Cisco IOS-XE software, Copyright (c) 2005-2010 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0. The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY. You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0. For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
Image text-base: 0x1009EA14, data-base: 0x13DCD848
Jawa Revision 7, Snowtrooper Revision 0x0.0x14
Switch uptime is 2 minutes
System returned to ROM by power-on
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
cisco WS-C4503-E (MPC8572) processor (revision 3) with 786516K/16384K bytes of memory.
Processor board ID SPE1046002E
MPC8572 CPU at 1.5GHz, Supervisor 7
1 Virtual Ethernet interface
24 Gigabit Ethernet interfaces
4 Ten Gigabit Ethernet interfaces
Configuration register is 0x102
スタートアップ システム イメージの指定
スタートアップ コンフィギュレーション ファイルまたは BOOT 環境変数に複数のブート コマンドを入力して、システム イメージをロードするためのバックアップ手段を得ることができます。
BOOT 環境変数については、『Cisco IOS Configuration Fundamentals Configuration Guide 』の「Loading and Maintaining System Images and Microcode」の章の「Specify the Startup System Image in the Configuration File」でも説明しています。
以下の項目に従って、フラッシュ メモリから起動するようにスイッチを設定してください。フラッシュ メモリは Single In-Line Memory Module(SIMM; シングル インライン メモリ モジュール)またはフラッシュ ディスクのいずれかになります。フラッシュ メモリのタイプについては、適切なハードウェアのインストールおよびメンテナンス マニュアルを確認してください。
セキュリティ上の注意
フラッシュ メモリからロードする場合、次のセキュリティ上の注意を参照してください。
注意
フラッシュ メモリに保存されたシステム イメージを変更できるのは、コンソール端末の特権 EXEC レベルからに限られます。
フラッシュ メモリの設定
スイッチがフラッシュ メモリから起動するように設定する手順は、次のとおりです。ハードウェアのインストール方法については、適切なハードウェアのインストールおよびメンテナンス マニュアルを参照してください。
ステップ 1 TFTP またはその他のプロトコルでシステム イメージをフラッシュ メモリにコピーします。次の URL の『 Cisco IOS Configuration Fundamentals Configuration Guide 』Release 12.2 の「Cisco IOS File Management」および「Loading and Maintaining System Images」の章を参照してください。
http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/12_2sr/cf_12_2sr_book.html
ステップ 2 フラッシュ メモリ内の必要なファイルからシステムが自動的に起動するように設定します。
コンフィギュレーション レジスタ値を変更しなければならない場合もあります。コンフィギュレーション レジスタを変更する方法については、「ブート フィールドの変更および boot コマンドの実行」を参照してください。
ステップ 3 設定を保存します。
ステップ 4 システムの電源をオフにしてから再びオンにしてシステムを再起動し、すべて正常に動作しているかどうかを確認します。
環境変数の制御
環境変数の制御は ROM モニタが行いますが、特定のコマンドを使用して環境変数を作成、変更、または表示できます。BOOT 変数と BOOTLDR 変数を作成または変更するには、それぞれ boot system と boot bootldr グローバル コンフィギュレーション コマンドを使用します。BOOT 環境変数の詳しい設定手順については、『 Configuration Fundamentals Configuration Guide 』の「Loading and Maintaining System Images and Microcode」の章にある「Specify the Startup System Image in the Configuration File」を参照してください。
(注) boot system と boot bootldrグローバル コンフィギュレーション コマンドが有効なのは、実行コンフィギュレーションだけです。あとで使用できるようにコンフィギュレーションを保存する場合は、ROM モニタ制御下に情報を置くスタートアップ コンフィギュレーションに環境変数の設定を保存する必要があります。環境変数を実行コンフィギュレーションからスタートアップ コンフィギュレーションに保存するには、copy system:running-config nvram:startup-config コマンドを使用します。
BOOT 変数および BOOTLDR 変数の内容を表示するには、 show bootvar コマンドを使用します。このコマンドは、スタートアップ コンフィギュレーション内のこれらの変数の設定値を表示しますが、実行コンフィギュレーションの設定値がスタートアップ コンフィギュレーションの設定値と異なっている場合には、実行コンフィギュレーション内の設定値も表示します。次に、スイッチ上の BOOT 変数と BOOTLDR 変数を確認する例を示します。
BOOTLDR variable = bootflash:cat4000-is-mz,1;
Configuration register is 0x0
Crashinfo の設定
crashinfo ファイルには、クラッシュしたプロセスに関する有効なデバッギング情報が収集されています。システムは膨大なプロセスを実行しており、時には、ソフトウェアの欠陥が原因でそれらの一部がクラッシュすることがあります。crashinfo ファイルには、クラッシュ時のプロセス ステート情報のスナップショットだけでなく、システム ステート情報のスナップショット(システム リソースのステートなど)も格納されています。crashinfo ファイル内の情報は、考えられるクラッシュの根本原因の究明に役立ちます。
ここでは、次の内容について説明します。
• 「Crashinfo について」
• 「Crashinfo の設定」
プロセス Crashinfo ファイル
crashinfo ファイル名の命名規則は次のとおりです。
crashinfo_<process_name>_YYYYMMDD-HHMMSS-UTC
デフォルトで、このプロセス crashinfo ファイルは、必ず、プロセス クラッシュに対して生成されます。
ファイルの内容は読みやすいテキスト形式になっていますが、特定のシスコ デバッギング ツールでなければデコードできない部分が含まれています。ほとんどすべてのプロセス クラッシュの根本原因分析にこのファイルが必要になります。
このファイルには、次のような情報が含まれています。
• クラッシュを引き起こしたソフトウェア例外
• プロセス ID の要約
• クラッシュ時のレジスタ値
• プロセスのスレッドごとのスタック ダンプ
• クラッシュ時に開かれ、使用されていたファイル
• プロセスが起動されたコマンド ライン
• 環境変数とリソース制限
• 実行可能コードがロードされたメモリ アドレス
• スレッドごとのメモリ使用と CPU 使用のステータス
• アプリケーション固有のデバッギング情報
• システム ブート ログ メッセージ
• システム起動時間と CPU 使用
• システム内のカーネル ローダブル モジュールのリスト
• システム デバイスとそのステータス
• マウント済みファイルシステムのリスト
• システム メモリの合計、空き容量、および使用に関する情報
• メモリ ゾーンとスラブに関する情報とそれらのステータス
• 仮想メモリの使用
• カーネルで維持されていたリソース
• TRACEKEY という名前のプログラム識別子のリスト
プロセス コア ダンプ ファイル
コア ダンプ ファイル名の命名規則は次のとおりです。
fullcore_<process_name>_YYYYMMDD-HHMMSS-UTC
デフォルトで、このファイルはプロセス クラッシュ時に生成されません。このファイルは、exception CLI コマンドでイネーブルにできます。
このファイルは、圧縮バイナリ タイプで、特定のシスコ デバッギング ツールでなければデコードすることができません。このタイプの非圧縮ファイルは、基本的に、クラッシュしたプロセスで使用されるメモリ ページのコピーであるコア ダンプです。可能な場合は、コア ダンプ ファイルを根本原因分析用のデバッギング情報の一部として提供する必要があります。
デフォルトで、圧縮がイネーブルになっています。コア ダンプで非圧縮コア ダンプを取得することは推奨できません。これは、非圧縮コア ダンプをストレージ デバイスに保存するには膨大な記憶域と時間を必要とするためです。システムにより速くてより大きなストレージ容量がある場合に、非圧縮クラッシュ データの生成をイネーブルにすることを推奨します。
カーネル Crashinfo ファイル
カーネル crashinfo ファイルのファイル名は koops.dat です。
デフォルトで、カーネル crashinfo ダンプはイネーブルになっており、ディセーブルにすることはできません。Kernel OOPS(KOOPS)とも呼ばれるカーネル crashinfo は、カーネル ソフトウェア コード内の欠陥(検出された望ましくないハードウェア状態)を意味します。OOPS という単語は、ミスを犯したときに発せられる間投詞です。
ファイルの内容は読みやすいテキスト形式になっていますが、トレーニングを受けたエンジニアでなければデコードできない部分が含まれています。ほとんどすべてのカーネル クラッシュの根本原因分析にこのファイルが必要になります。
このファイルには、次のような情報が含まれています。
• 例外の概要
• CPU 情報
• カーネル ローダブル モジュールのリスト
• カーネル oops イベント発生時のレジスタ値
• oops イベント発生時に実行されていたタスク
• oops イベントまでに実行されたコード ブロックのリスト
• コード命令の数
• oops イベントにかかった時間
デフォルト設定
デフォルトで、クラッシュ ファイルは crashinfo: パーティションに保存されます。このパーティションは変更することができません。この他に、クラッシュ ファイルを保存するために 2 つのストレージ デバイスを設定することができます。
crashinfo コンフィギュレーション コマンドを使用すれば、ストレージ デバイスごとに保存するファイルの最大数を設定できます。これにより、ストレージ デバイス使用の最適化、クラッシュ ファイルの保存、およびそれらの管理容易性の向上が可能になります。デフォルトで、最大 10 個の crashinfo ファイルと最大 10 個のコア ダンプ ファイルを保存できます。プロセス コア ダンプ ファイルの生成はデフォルトでディセーブルになっていることを思い出してください。ファイルの最大数に到達した段階で、新しいクラッシュ ファイルが生成された場合は、プロセス crashinfo ファイルとコア ダンプ ファイルの中で最も古いファイルの 1 つまたは複数が削除され、新しいクラッシュ ファイル用のスペースが確保されます。
last_crashinfo という名前のファイルには、最新のクラッシュ ファイルの名前が格納されています。複数のストレージ デバイスに複数のクラッシュ ファイルが存在して、最新のクラッシュ ファイルを見つけるのが難しい場合は、このファイルを探してください。
コマンドの設定
次のコマンドは、crashinfo: などのストレージ パーティションに保存する crashinfo ファイルまたはコア ダンプ ファイルの数を定義します。ストレージ パーティションのサイズによっては、設定したファイル数を保存できない場合があります。また、新しいクラッシュ ファイルが生成され、そのファイルを保存するスペースが足りない場合は、新しいクラッシュ ファイルに必要な記憶域が確保されるまで、最も古いクラッシュ ファイルが削除されます。
|
|
Switch# exception crashinfo maximum-files ?
<1-20> A value between 1-20
|
保存するプロセス crashinfo ファイルの最大数を設定します。 初期デフォルト値は 10 です。 |
Switch# exception coredump maximum-files ?
<1-20> A value between 1-20
|
保存するプロセス コア ダンプ ファイルの最大数を設定します。 初期デフォルト値は 10 です。 |
次のコマンドは、新しく作成されたクラッシュ ファイルを保存するためにスペースが必要になったときに、システムで定義されたスペースを検索するストレージ デバイスのリストを設定するために使用されます。最初のデバイスは、必ず、crashinfo: パーティションであり、変更はできません。たとえば、別のデバイスが設定されており、新しいクラッシュ ファイルの保存に必要なスペースが足りない場合は、システムが crashinfo: パーティションからファイルを削除せずに、2 つ目のデバイス上に新しいクラッシュ ファイルを保存しようとします。
|
|
Switch# exception dump device ?
second Second search device to store crashinfo
third Third search device to store crashinfo
|
新しいクラッシュ ファイルを保存するために、使用可能な記憶域をチェックする 2 つ目と 3 つ目のストレージ デバイスを設定します。 crashinfo: はデフォルト デバイスであり、変更することができません。 |
次のコマンドは、コア ダンプ クラッシュ データの生成をイネーブルにします。コア ダンプ データはバイナリ データであり、デフォルトで圧縮されます。
|
|
Switch# exception coredump
|
圧縮プロセス コア ダンプ ファイルの生成をイネーブルにします。 デフォルトは、圧縮プロセス コア ダンプ ファイルを生成しません。 |
次のコマンドは、非圧縮コア ダンプ クラッシュ データの生成をシステムに指示します。通常は、非圧縮コア ダンプ データを生成しないでください。これは、ファイルが非常に大きくなり(1 ~ 2 ギガバイトのオーダーで)、クラッシュ ファイルの記憶域が不足する可能性があるためです。
|
|
Switch# exception coredump uncompress
|
非圧縮プロセス コア ダンプ ファイルの生成をイネーブルにします。 (注) 非圧縮コア ダンプ ファイルは非常に大きくなる可能性があります。 デフォルトは、圧縮プロセス コア ダンプ ファイルを生成します。 |
show コマンド
次のコマンドは、crashinfo: の現在の設定を表示するために使用します。
Switch# show exception information
Exception configuration information
Coredump file - disabled,compressed
Process crashinfo - 10 file(s)
Configured storage devices
Dump protocol - not configured
次のコマンドは、最新のクラッシュ ファイルのファイル名を決定するために使用します。
Switch# more crashinfo:last_crashinfo
crashinfo:crashinfo_iosd_20100803-073408-UTC
次のコマンドは、プロセス crashinfo ファイルの内容を表示するために使用します。
Switch# more crashinfo:crashinfo_iosd_20100803-073408-UTC
PID=11773 PPPID=1 PGRP=11773
Time: User=7794 System=724
======= current - pid 11773
nip = 0x0C3CC798 msr = 0x0002D000 r3* = 0x00002DFD ctr = 0x0CF05040
lnk = 0x0CF05050 xer = 0x20000000 ccr = 0x42002444
trp = 0x00000C00 dar = 0x143CDC68 isr = 0x00000000 res = 0x00000000
R0 0x000000FA R1 0x7B37D090 R2 0x4804D780 R3 0x00000000
R4 0x00002DFD R5 0x00000005 R6 0x143CDC68 R7 0x00000000
R8 0x00000000 R9 0x00002DFD R10 0x7B37CEA8 R11 0x0CF05040
R12 0x22002448 R13 0x14FF4008 R14 0x10B50F44 R15 0x00000000
R16 0x00000000 R17 0x14CB665C R18 0x13E70000 R19 0x14CB0000
R20 0x14FF0000 R21 0x00000001 R22 0x891753A1 R23 0x891752A0
R24 0x15AB30D8 R25 0x00000000 R26 0x00000000 R27 0x143CDC68
R28 0x000007CA R29 0x7B37D0E0 R30 0x143D10C4 R31 0x7820B3D4
次のコマンドは、カーネル クラッシュ情報の内容を表示するために使用します。
Switch# more crashinfo:koops.dat
<4>Oops: Machine check, sig: 7 [#1]
<4>SMP NR_CPUS=2 Cisco Systems K10 (Callista)
<4>Modules linked in: gsbu64atomic mtsmod(P) aipcmod(P) vsi uld_timer cpumem tun bridge pds crashinfo bpa_mem
<4>NIP: c0022cc0 LR: c00230e8 CTR: c00230b0
<4>REGS: c04c4f50 TRAP: 0202 Tainted: P (2.6.24.4.28.13.k10)
<4>MSR: 00021000 <ME> CR: 24084422 XER: 20000000
<4>TASK = ea088150[13355] 'iosd' THREAD: ea738000 CPU: 0
<6>GPR00: 00000001 ea739c60 ea088150 0000001a ea4c0460 00000000 00000000 00000000
<6>GPR08: c0fec000 c04d0000 fcfd3000 fcfd3060 24084482 1423ebb8 00000000 10121d28
<6>GPR16: 100d0000 ea739db8 c03f61a0 c03fb098 ea088318 c04c0000 ea739f50 ea088530
<6>GPR24: 418004fc ea739e88 00029000 00021000 c04c8eb0 0000005a 0000005a e9b80fa0
<4>NIP [c0022cc0] cisco_tatooine_mask_irq_internal+0x10/0x40
<4>LR [c00230e8] cisco_tatooine_mask_and_ack_irq+0x38/0x60
<4>[ea739c60] [c00f3004] proc_destroy_inode+0x24/0x40 (unreliable)
<4>[ea739c80] [c0073e0c] free_irq+0x14c/0x170
<4>[ea739ca0] [c0075ee0] irq_proc_release+0x50/0x170
<4>[ea739cc0] [c00f3570] proc_reg_release+0x70/0xd0
<4>[ea739ce0] [c00ab28c] __fput+0xbc/0x1b0
<4>[ea739d00] [c00a777c] filp_close+0x6c/0xd0
<4>[ea739d20] [c004506c] put_files_struct+0x10c/0x120
<4>[ea739d40] [c00468f8] do_exit+0x198/0x7a0
<4>[ea739d90] [c0046f38] do_group_exit+0x38/0x90
<4>[ea739db0] [c0053cc8] get_signal_to_deliver+0x3a8/0x610
<4>[ea739e80] [c0010d68] do_signal+0x48/0x2f0
<4>[ea739f40] [c0018a64] do_user_signal+0x74/0xc4
<4>38000001 7c00e830 7d400378 5400043e 7c0004ac b00b0100 4bffffac 00000000
<4>3d20c04d 81498eac 396a0060 7c0004ac <812a0060> 0c090000 4c00012c 3800fffe
次のコマンドは、システム上の現在のクラッシュ ファイルを一覧表示するために使用します。
Switch# show exception files
Exception crashinfo files
Most Recent Crashinfo file:
crashinfo:crashinfo_iosd_20100803-073408-UTC
crashinfo_iosd_20100803-064137-UTC
crashinfo_iosd_20100803-073408-UTC
プロセス コア ダンプ ファイルの生成のイネーブル化
記憶域が不足している場合は、プロセス コア ダンプ ファイルの数を減らす必要があります。これを実行するには、まず、次の作業を行って、プロセス コア ダンプ ファイルの生成をイネーブルにする必要があります。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)# exception coredump
|
プロセス コア ダンプ ファイルを生成します。 |
ステップ 3 |
Switch(config)#
exception coredump maximum-files x
|
プロセス コア ダンプ ファイルの数を x に制限します。 |
ステップ 4 |
|
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 5 |
Switch# show exception information |
(任意)設定を確認します。 |
次に、プロセス コア ダンプ ファイルを生成して、プロセス コア ダンプ ファイルの数を 2 に制限し、設定を確認する例を示します。
Switch (config)# exception coredump
Switch (config)# exception coredump maximum files 2
Switch# show exception information
Exception configuration information
Coredump file - enabled,compressed
Process crashinfo - 10 file(s)
Configured storage devices
Dump protocol - not configured
2 つ目のデバイスへのクラッシュ ファイルの保存
USB ストレージ デバイスがシステムにインストールされており、デフォルトの crashinfo: ストレージ パーティションから古いクラッシュ ファイルを削除する代わりに、クラッシュ ファイルを USB ストレージに保存するものとします。システムは、ファイルの最大数に達した場合または crashinfo: パーティション上のスペースが不足している場合に、インストールされ、設定されている USB にクラッシュ ファイルの保存を開始します。
クラッシュ ファイルを別のデバイスに保存するように設定するには、次の作業を行います。
|
|
|
ステップ 1 |
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)# exception dump second device x
|
必要な記憶域を検索するストレージ デバイスとして x を設定します。 |
ステップ 3 |
|
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 4 |
Switch# show exception information
|
(任意)設定を確認します。 (注) 出力の一部は、2 つ目のデバイスが設定されていることを示しているはずです。 設定されたストレージ デバイス 1:crashinfo: 2:usb0: 3:未割り当て |
次に、必要な記憶域を検索するように USB を設定し、その設定を確認する例を示します。
Switch(config)# exception dump second device usb0:
Switch# show exception information
Exception configuration information
Coredump file - disabled,compressed
Process crashinfo - 10 file(s)
Configured storage devices
Dump protocol - not configured
クラッシュしたプロセスの特定
重要なプロセスがクラッシュした後に、システムが再起動した可能性があります。その場合は、最新のクラッシュ ファイルのロケーション、クラッシュしたプロセス、考えられる根本原因を特定する必要があります。Cisco TAC では、根本原因分析に使用可能なクラッシュ ファイルが必要です。クラッシュが先にクラッシュした別のプロセスの副作用が原因の場合は、最新のクラッシュ ファイルに実際の根本原因情報が含まれていない可能性があります。Cisco TAC には、クラッシュ時刻の前後で生成されたすべてのクラッシュ ファイルを提供することを推奨します。
クラッシュしたプロセスを特定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch# show exception information
|
設定を表示して、クラッシュ ファイルの保存場所を特定します。 |
ステップ 2 |
Switch# more crashinfo:last_crashinfo
|
最新の crashinfo ファイルを探します。 |
ステップ 3 |
Switch# more crashinfo:crashinfo_yyyymmdd-hhmmss-UTC
|
プロセス crashinfo ファイルの内容を表示します。 |
ステップ 4 |
Switch(config)# more crashinfo:koops.dat |
カーネル crashinfo ファイルの内容を表示して、カーネルがクラッシュしたかどうかを判断します。 |
ステップ 5 |
Switch# copy crashinfo: tftp:
Address or name of remote host []? remote_host
crashinfo_yyyymmdd-hhmmss-UTC
|
クラッシュ ファイルを TFTP サーバにコピーします。Cisco TAC から根本原因分析用の特定のクラッシュ ファイルが要求された場合は、そのファイルをスイッチから TFTP サーバにコピーすることができます。 |
次に、これらのコマンドを使用する例を示します。
Switch# show exception information
Exception configuration information
Coredump file - disabled,compressed
Process crashinfo - 10 file(s)
Configured storage devices
Dump protocol - not configured
Switch# more crashinfo:last_crashinfo
crashinfo:crashinfo_iosd_20100803-073408-UTC
Switch# more crashinfo:crashinfo_iosd_20100803-073408-UTC
PID=11773 PPPID=1 PGRP=11773
Time: User=7794 System=724
======= current - pid 11773
nip = 0x0C3CC798 msr = 0x0002D000 r3* = 0x00002DFD ctr = 0x0CF05040
lnk = 0x0CF05050 xer = 0x20000000 ccr = 0x42002444
trp = 0x00000C00 dar = 0x143CDC68 isr = 0x00000000 res = 0x00000000
R0 0x000000FA R1 0x7B37D090 R2 0x4804D780 R3 0x00000000
R4 0x00002DFD R5 0x00000005 R6 0x143CDC68 R7 0x00000000
R8 0x00000000 R9 0x00002DFD R10 0x7B37CEA8 R11 0x0CF05040
R12 0x22002448 R13 0x14FF4008 R14 0x10B50F44 R15 0x00000000
R16 0x00000000 R17 0x14CB665C R18 0x13E70000 R19 0x14CB0000
R20 0x14FF0000 R21 0x00000001 R22 0x891753A1 R23 0x891752A0
R24 0x15AB30D8 R25 0x00000000 R26 0x00000000 R27 0x143CDC68
R28 0x000007CA R29 0x7B37D0E0 R30 0x143D10C4 R31 0x7820B3D4
Switch# more crashinfo:koops.dat
<4>Oops: Machine check, sig: 7 [#1]
<4>SMP NR_CPUS=2 Cisco Systems K10 (Callista)
<4>Modules linked in: gsbu64atomic mtsmod(P) aipcmod(P) vsi uld_timer cpumem tun bridge pds crashinfo bpa_mem
<4>NIP: c0022cc0 LR: c00230e8 CTR: c00230b0
<4>REGS: c04c4f50 TRAP: 0202 Tainted: P (2.6.24.4.28.13.k10)
<4>MSR: 00021000 <ME> CR: 24084422 XER: 20000000
<4>TASK = ea088150[13355] 'iosd' THREAD: ea738000 CPU: 0
<6>GPR00: 00000001 ea739c60 ea088150 0000001a ea4c0460 00000000 00000000 00000000
<6>GPR08: c0fec000 c04d0000 fcfd3000 fcfd3060 24084482 1423ebb8 00000000 10121d28
<6>GPR16: 100d0000 ea739db8 c03f61a0 c03fb098 ea088318 c04c0000 ea739f50 ea088530
<6>GPR24: 418004fc ea739e88 00029000 00021000 c04c8eb0 0000005a 0000005a e9b80fa0
<4>NIP [c0022cc0] cisco_tatooine_mask_irq_internal+0x10/0x40
<4>LR [c00230e8] cisco_tatooine_mask_and_ack_irq+0x38/0x60
<4>[ea739c60] [c00f3004] proc_destroy_inode+0x24/0x40 (unreliable)
<4>[ea739c80] [c0073e0c] free_irq+0x14c/0x170
<4>[ea739ca0] [c0075ee0] irq_proc_release+0x50/0x170
<4>[ea739cc0] [c00f3570] proc_reg_release+0x70/0xd0
<4>[ea739ce0] [c00ab28c] __fput+0xbc/0x1b0
<4>[ea739d00] [c00a777c] filp_close+0x6c/0xd0
<4>[ea739d20] [c004506c] put_files_struct+0x10c/0x120
<4>[ea739d40] [c00468f8] do_exit+0x198/0x7a0
<4>[ea739d90] [c0046f38] do_group_exit+0x38/0x90
<4>[ea739db0] [c0053cc8] get_signal_to_deliver+0x3a8/0x610
<4>[ea739e80] [c0010d68] do_signal+0x48/0x2f0
<4>[ea739f40] [c0018a64] do_user_signal+0x74/0xc4
<4>38000001 7c00e830 7d400378 5400043e 7c0004ac b00b0100 4bffffac 00000000
<4>3d20c04d 81498eac 396a0060 7c0004ac <812a0060> 0c090000 4c00012c 3800fffe
Switch# copy crashinfo: tftp:
Address or name of remote host []? 10.5.224.2
Destination filename []? /users/user/crashinfo_iosd_20100803-073408-UTC
790676 bytes copied in 37.420 secs (21130 bytes/sec)