コマンドライン インターフェイスの使用

この章では、Cisco Secure Firewall ASA での CLI の使用方法について説明します。次の項目を取り上げます。


(注)  


CLI は、Cisco IOS CLI と類似したシンタックスや他の規則を使用しますが、ASA オペレーティング システムは Cisco IOS ソフトウェアのバージョンではありません。Cisco IOS CLI コマンドが、ASA の機能で動作したり、ASA と同じ機能を有しているものだと思わないでください。

ファイアウォール モードとセキュリティ コンテキスト モード

ASA は、次のモードの組み合わせで動作します。

  • トランスペアレント ファイアウォール モードまたはルーテッド ファイアウォール モード

ファイアウォール モードは、ASA がレイヤ 2 ファイアウォールまたはレイヤ 3 ファイアウォールとして動作するかどうかを決定します。

  • マルチ コンテキスト モードまたはシングル コンテキスト モード

セキュリティ コンテキスト モードは、ASA が単一のデバイスとして動作するか、またはマルチ セキュリティ コンテキストとして動作する(仮想デバイスのように動作する)かを決定します。

特定のモードでしか使用できないコマンドもあります。

コマンドのモードとプロンプト

ASA の CLI にはコマンド モードが含まれています。特定のモードでしか入力できないコマンドもあります。たとえば、機密情報を表示するコマンドを入力するには、パスワードを入力して特権モードに入る必要があります。次に、コンフィギュレーション変更が誤って入力されないようにするために、コンフィギュレーション モードに入る必要があります。下位のコマンドはすべて、高位のモードで入力できます。たとえば、グローバル コンフィギュレーション モードで特権 EXEC コマンドを入力することができます。


(注)  


さまざまなタイプのプロンプトはすべてデフォルトで、別々のプロンプトとして設定できます。
  • システム コンフィギュレーション モードまたはシングル コンテキスト モードに入っている場合、プロンプトはホスト名で始まります。


ciscoasa
  • プロンプト文字列を表示するときに、プロンプト コンフィギュレーションが解析され、設定されたキーワード値が prompt コマンドで設定された順に表示されます。キーワード引数は、ホスト名、ドメイン、コンテキスト、プライオリティ、状態のいずれかで、任意の順になります。


asa(config)# prompt hostname context priority state
  • コンテキスト内では、プロンプトはホスト名の後にコンテキスト名が表示されます。


ciscoasa/context

プロンプトは、アクセス モードに応じて変化します。

  • ユーザー EXEC モード

ユーザー EXEC モードでは、最小限の ASA 設定が表示されます。ユーザー EXEC モードのプロンプトは、初めて ASA にアクセスしたときに次のように表示されます。


ciscoasa>
ciscoasa/context>
  • 特権 EXEC モード

特権 EXEC モードでは、ユーザーの特権レベルまでの現在の設定がすべて表示されます。すべてのユーザー EXEC モード コマンドは、特権 EXEC モードで動作します。特権 EXEC モードを開始するには、ユーザー EXEC モードで enable コマンドを入力します。これにはパスワードが必要です。プロンプトにはシャープ記号(#)が含まれています。


ciscoasa#
ciscoasa/context#
  • グローバル コンフィギュレーション モード

グローバル コンフィギュレーション モードでは、ASA コンフィギュレーションを変更できます。このモードでは、ユーザー EXEC、特権 EXEC、およびグローバルの各コンフィギュレーション コマンドをすべて使用できます。グローバル コンフィギュレーション モードを開始するには、特権 EXEC モードで configure terminal コマンドを入力します。プロンプトが次のように変化します。


ciscoasa(config)#
ciscoasa/context(config)#
  • コマンド固有のコンフィギュレーション モード

いくつかのコマンドは、グローバル コンフィギュレーション モードから、コマンド固有のコンフィギュレーション モードに移行します。このモードでは、ユーザー EXEC、特権 EXEC、グローバルの各コンフィギュレーション コマンド、およびコマンド固有のコンフィギュレーション コマンドをすべて使用できます。たとえば、interface コマンドを使用すると、インターフェイス コンフィギュレーション モードに入ります。プロンプトが次のように変化します。


ciscoasa(config-if)#
ciscoasa/context(config-if)#

構文の書式

コマンド構文の説明では、テーブル 7-1 に記載されている表記法を使用します。

表 1. 構文の表記法

表記法

説明

ボールド

記載されているとおりに入力するコマンドおよびキーワードは、太字で示しています。

イタリック体

イタリック体の文字は、ユーザーが値を指定する引数です。

[x]

角カッコの中の要素は、省略可能です(キーワードや引数)。

|

省略可能または必須のキーワードや引数の中から選択する場合は、縦棒で区切って示しています。

[x | y]

いずれか 1 つを選択できる省略可能なキーワードや引数は、角カッコで囲み、縦棒で区切って示しています。

{x | y}

必ずいずれか 1 つを選択しなければならない必須キーワードや引数は、波かっこで囲み、縦棒で区切って示しています。

[x {y | z}]

省略可能または必須の要素内に、さらに省略可能または必須の選択肢を含める場合は、角カッコや波カッコを入れ子にして示しています。角カッコ内の波カッコと縦棒は、省略可能な要素内で選択すべき必須の要素を示しています。

コマンドの短縮形

ほとんどのコマンドは、コマンドに固有の最小文字数まで短縮できます。たとえば、コンフィギュレーションを表示するには、完全なコマンド write terminal を入力する代わりに、wr t と入力できます。または、特権モードを開始するには en、コンフィギュレーション モードを開始するには conf t と入力できます。さらに、0 を入力して、0.0.0.0 を表すことができます。

コマンドラインの編集

ASA では、Cisco IOS ソフトウェアと同じコマンドライン編集ルールが使用されます。show history コマンドを使用して以前入力した全コマンドを表示することも、↑キーまたは ^p コマンドで 1 つずつ前のコマンドを表示することもできます。前に入力したコマンドを確認したら、↓キーまたは ^n コマンドでリスト内で前に進むことができます。再利用するコマンドに到達したら、そのコマンドを編集することも、Enter キーを押して実行することもできます。^w でカーソルの左側にある単語を削除することも、^u でカーソルのある行を消去することもできます。

ASA では、1 つのコマンドに 512 文字まで入力できます。512 文字を超えて入力した文字は無視されます。

コマンドの補完

部分的な文字列を入力してからコマンドまたはキーワードを完成させるには、Tab キーを押します。ASA は、部分的な文字列がコマンドまたはキーワード 1 つだけと一致する場合に限り、コマンドまたはキーワードを完成させます。たとえば、s と入力して Tab キーを押した場合は、一致するコマンドが複数あるため、ASA はコマンドを完成させません。一方、dis と入力して Tab キーを押すと、コマンド disable が完成します。

コマンドのヘルプ

次のコマンドを入力すると、コマンドラインからヘルプ情報を利用できます。

  • help command_name

特定のコマンドのヘルプを表示します。

  • command_name ?

使用可能な引数のリストを表示します。

  • string? (スペースなし)

その文字列で始まるコマンドをリストします。

  • ? および +?

使用できるすべてのコマンドをリストします。? と入力すると、ASA は現在のモードで使用できるコマンドだけを表示します。下位モードのコマンドも含め、使用できるすべてのコマンドを表示するには、+? と入力します。


(注)  


コマンド文字列に疑問符(?)を組み込む場合は、誤って CLI ヘルプを起動しないよう、疑問符を入力する前に Ctrl+V を押す必要があります。

実行コンフィギュレーションの表示

実行コンフィギュレーションを表示するには、次のいずれかのコマンドを使用します。

コマンド出力をフィルタリングするには、7-5 ページの「show コマンドと more コマンドの出力のフィルタリング」を参照してください。

コマンド

目的

show running-config[all][command]

実行コンフィギュレーションを表示します。all を指定すると、すべてのデフォルト設定も表示されます。command を指定すると、関連するコマンドだけが出力に含まれます。

(注)  

 
多くのパスワードは ***** として表示されます。パスワードをプレーン テキストで表示するか、またはマスター パスフレーズがイネーブルの場合に暗号化された形式で表示するには、次の more コマンドを使用します。
more system:running-config

実行コンフィギュレーションを表示します。パスワードはプレーン テキストで表示されるか、またはマスター パスフレーズがイネーブルの場合は暗号化された形式で表示されます。

show コマンドと more コマンドの出力のフィルタリング

縦棒(|)はどの show コマンドでも使用できます。これには、フィルタ オプションとフィルタリング式を組み込むことができます。フィルタリングは、Cisco IOS ソフトウェアと同様に、各出力行を正規表現と照合することによって行われます。選択するフィルタ オプションによって、正規表現に一致するすべての出力を含めたり除外したりできます。また、正規表現に一致する行で始まるすべての出力を表示することもできます。

show コマンドでフィルタリング オプションを使用する場合の構文は、次のとおりです。


ciscoasa# show command
 | {include | exclude | begin | grep [-v]} regexp

または


ciscoasa# more system:running-config
 | {include | exclude | begin | grep [-v]} regexp

(注)  


more コマンドは、実行コンフィギュレーションだけではなく、任意のファイルのコンテンツを表示できます。詳細については、コマンドリファレンスを参照してください。

このコマンド文字列の最初の縦棒(|)は演算子であり、コマンド内に含める必要があります。この演算子は、show コマンドの出力をフィルタに誘導します。構文内に含まれるその他の縦棒(|)は代替オプションを示すものであり、コマンドの一部ではありません。

include オプションを指定すると、正規表現に一致するすべての出力行が表示されます。-v を付けずに grep オプションを使用する場合も、同じ結果となります。exclude オプションを指定すると、正規表現に一致するすべての出力行が除外されます。-v を付けて grep オプションを使用する場合も、同じ結果となります。begin オプションを指定すると、正規表現に一致する行で始まるすべての出力行が表示されます。

regexp には、Cisco IOS の正規表現を指定します。正規表現は一重引用符または二重引用符で囲まれていません。したがって、末尾の空白スペースが正規表現の一部と解釈されるため、末尾の空白スペースに注意してください。

正規表現を作成する場合は、照合する任意の文字または数字を使用できます。また、メタ文字と呼ばれる特定のキーボード文字は、正規表現で使用されると、特別な意味を持ちます。

疑問符(?)やタブなど、CLI の特殊文字をすべてエスケープするには、Ctrl+V を使用します。たとえば、コンフィギュレーションで d?g と入力するには、d[Ctrl+V]?g とキー入力します。

show コマンド出力のリダイレクトと追加

show コマンドの出力を画面に表示するのではなく、デバイス上またはリモート ロケーション内のファイルにリダイレクトすることができます。デバイス上のファイルへのリダイレクトの場合は、ファイルにコマンド出力を追加することもできます。

show command | {append | redirect} url

  • append url により、出力が既存のファイルに追加されます。次のいずれかを使ってファイルを指定します。

    • disk0:/[[path/]filename] or flash:/[[path/]filename]—Both flashdisk0 は、どちらも内部フラッシュメモリを意味しています。どちらのオプションを使用してもかまいません。

    • disk1:/[[path/]filename]:外部メモリを示します。

  • redirect url により、指定されたファイルが作成されます。または、ファイルがすでに存在している場合は、上書きされます。

    • disk0:/[[path/]filename] or flash:/[[path/]filename]—Both flashdisk0 は、どちらも内部フラッシュメモリを意味しています。どちらのオプションを使用してもかまいません。

    • disk1:/[[path/]filename]:外部メモリを示します。

    • smb:/[[path/]filename]:サーバー メッセージ ブロック、UNIX サーバーのローカル ファイル システムを示します。

    • ftp://[[user[:password]@]server[:port]/[path/]filename[;type=xx]]:FTP サーバーを示します。type には次のいずれかのキーワードを使用できます。ap(ASCII パッシブ モード)、an(ASCII ノーマル モード)、ip(デフォルト:バイナリ パッシブ モード)、in(バイナリ ノーマル モード)。

    • scp://[[user[:password]@]server[/path]/filename[;int=interface_name]]:SCP サーバーを示します。;int=interface オプションを指定すると、ルート ルックアップがバイパスされ、常に指定のインターフェイスを使用してセキュア コピー(SCP)サーバーに接続するようになります。

    • tftp://[[user[:password]@]server[:port]/[path/]filename[;int=interface_name]]:TFTP サーバーを示します。

show コマンド出力の行数の取得

実際の show コマンド出力を表示するのではなく、出力の行数のみを確認したり、正規表現に一致する行数のみを確認したりすることもできます。それにより、行数を以前のコマンド入力時の数と簡単に比較することができます。この方法は、設定に変更を加えたときの簡易チェックとして使用できます。count キーワードを使用するか、grep キーワードに -c を追加します。

show command | count [regular_expression]

show command | grep -c [regular_expression]

regular_expression の箇所は、任意の Cisco IOS 正規表現と置き換えます。正規表現は一重引用符または二重引用符で囲まれていません。したがって、末尾の空白スペースが正規表現の一部と解釈されるため、末尾の空白スペースに注意してください。正規表現はオプションです。正規表現を含めない場合に返されるカウントは、フィルタリングされていない出力の合計行数となります。

正規表現を作成する場合は、照合する任意の文字または数字を使用できます。また、メタ文字と呼ばれる特定のキーボード文字は、正規表現で使用されると、特別な意味を持ちます。疑問符(?)やタブなど、CLI の特殊文字をすべてエスケープするには、Ctrl+V を使用します。たとえば、コンフィギュレーションで d?g と入力するには、d[Ctrl+V]?g とキー入力します。

たとえば、show running-config の出力のすべての行の合計数を表示するには、以下のように行います。


ciscoasa# show running-config | count
 
Number of lines which match regexp = 271 

下記の例は、稼働中のインターフェイスの数をすばやく確認できる方法を示しています。最初の例は、正規表現で grep キーワードを使用することにより、稼動状態を示す行のみに絞り込む方法です。次の例は、-c オプションを追加することにより、実際の出力行ではなくその数だけを表示する方法です。


ciscoasa# show interface | grep is up
 
Interface GigabitEthernet0/0 "outside", is up, line protocol is up
Interface GigabitEthernet0/1 "inside", is up, line protocol is up
 
ciscoasa# show interface | grep -c is up
 
Number of lines which match regexp = 2 

コマンド出力のページング

help または ?、show、show xlate など、長いリストが出力されるコマンドでは、1 画面分ずつ表示して停止させるか、リストの最後まで表示させるかを決めることができます。pager コマンドを使用すると、画面上に表示する行数を選択して、その行数を表示した後に More プロンプトを表示するようにできます。

ページングがイネーブルになっているときには、次のプロンプトが表示されます。


<--- More --->

More プロンプトの構文は、UNIX の more コマンドと似ています。

  • 次の 1 画面分の情報を表示するには、スペース バーを押します。

  • 次の行を表示するには、Enter キーを押します。

  • コマンドラインに戻るには、q キーを押します。

コメントの追加

行の先頭にコロン(:)を置いて、コメントを作成できます。しかし、コメントが表示されるのはコマンド履歴バッファだけで、コンフィギュレーションには表示されません。したがって、コメントは、show history コマンドを使用するか、矢印キーを押して前のコマンドを取得することによって表示できますが、コンフィギュレーションには含まれないので、write terminal コマンドでは表示できません。

テキスト コンフィギュレーション ファイル

この項では、ASA にダウンロードできるテキスト コンフィギュレーション ファイルをフォーマットする方法について説明します。次の項目を取り上げます。

テキスト ファイルでコマンドと行が対応する仕組み

テキスト コンフィギュレーション ファイルには、このガイドで説明するコマンドに対応する行が含まれています。

例では、コマンドの前に CLI プロンプトがあります。次の例でのプロンプトは「ciscoasa(config)#」です。


ciscoasa(config)# context a

テキスト コンフィギュレーション ファイルでは、コマンドの入力を求めるプロンプトが表示されないので、プロンプトは省略されています。


context a

コマンド固有のコンフィギュレーション モード コマンド

コマンド固有のコンフィギュレーション モード コマンドは、コマンドラインで入力されたときに、メイン コマンドの下に字下げして表示されます。テキスト ファイルの行は、コマンドがメイン コマンドのすぐ後に表示される限り、字下げする必要はありません。たとえば、次のテキストは字下げされていませんが、字下げしたテキストと同じように読み取られます。


interface gigabitethernet0/0
nameif inside
interface gigabitethernet0/1
    nameif outside

自動テキスト入力

コンフィギュレーションを ASA にダウンロードすると、それにより一部の行が自動的に挿入されます。たとえば、ASA は、デフォルト設定のため、またはコンフィギュレーションが変更されたときのための行を挿入します。テキスト ファイルを作成するときは、これらの自動入力を行う必要はありません。

行の順序

ほとんどの場合、コマンドはファイル内で任意の順序に置くことができます。ただし、ACE などいくつかの行は表示された順に処理されるので、順序がアクセスリストの機能に影響する場合があります。その他のコマンドでも、順序の要件がある場合があります。たとえば、あるインターフェイスの名前を多数の後続コマンドが使用する場合は、そのインターフェイスの nameif コマンドをまず入力する必要があります。また、コマンド固有のコンフィギュレーション モードのコマンドは、メイン コマンドの直後に置く必要があります。

テキスト コンフィギュレーションに含まれないコマンド

いくつかのコマンドは、コンフィギュレーションに行を挿入しません。たとえば、show running-config などのランタイムコマンドは、テキストファイル内に対応する行があります。

パスワード

ログイン パスワード、イネーブル パスワード、およびユーザー パスワードは、コンフィギュレーションに保存される前に自動的に暗号化されます。たとえば、パスワード「cisco」の暗号化された形式は jMorNbK0514fadBh のようになります。コンフィギュレーション パスワードは暗号化された形式で別の ASA にコピーできますが、そのパスワードの暗号を解読することはできません。

暗号化されていないパスワードをテキスト ファイルに入力した場合、コンフィギュレーションを ASA にコピーしても、ASA は自動的にパスワードを暗号化しません。ASA がパスワードを暗号化するのは、copy running-config startup-config コマンドまたは write memory コマンドを使用して、コマンドラインから実行コンフィギュレーションを保存した場合のみです。

multiple-security-context-files

マルチ セキュリティ コンテキストの場合、コンフィギュレーション全体は次に示す複数の部分で構成されます。

  • セキュリティ コンテキスト コンフィギュレーション

  • コンテキストのリストなど、ASA の基本設定を示すシステム コンフィギュレーション

  • システム コンフィギュレーション用のネットワーク インターフェイスを提供する管理コンテキスト

システム コンフィギュレーションには、それ自体のインターフェイスまたはネットワーク設定は含まれていません。代わりに、システムは、ネットワーク リソースにアクセスする必要があるときに(サーバーからコンテキストをダウンロードするときなど)、管理コンテキストとして指定されたコンテキストを使用します。

各コンテキストは、シングル コンテキスト モード コンフィギュレーションに似ています。システム コンフィギュレーションにはシステム限定のコマンド(全コンテキストのリストなど)が含まれており、その他の一般的なコマンド(多数のインターフェイス パラメータなど)は存在しない点で、システム コンフィギュレーションは、コンテキスト コンフィギュレーションとは異なっています。

サポートされている文字セット

ASA CLI は、現在 UTF-8 の符号化方式だけをサポートしています。UTF-8 は Unicode 文字の特定の符号化スキームであり、ASCII 文字のサブセットと互換性を持つように設計されています。ASCII 文字は UTF-8 で 1 バイト文字として表現されます。その他のすべての文字は、UTF-8 でマルチバイト文字として表現されます。

ASCII の印刷可能文字(0x20 ~ 0x7e)はすべてサポートされています。印刷可能な ASCII 文字は、ISO 8859-1 の文字と同じです。UTF-8 は ISO 8859-1 のスーパーセットであるため、最初の 256 文字(0 ~ 255)は ISO 8859-1 の文字と同じになります。ASA CLI は、ISO 8859-1 の文字を 255 文字(マルチバイト文字)までサポートしています。