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

この章では、ASA での CLI の使用方法について説明します。


(注)  


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


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

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

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

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

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

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

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

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

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


(注)  


さまざまなタイプのプロンプトはすべてデフォルトで、別々のプロンプトとして設定できます。


  • システム コンフィギュレーション モードまたはシングル コンテキスト モードに入っている場合、プロンプトはホスト名で始まります。

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

    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)#
    
    

構文の書式

コマンド構文の説明では、次の表に記載されている表記法を使用します。

表 1. 構文の表記法

表記法

説明

bold

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

イタリック体

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

[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 コマンドを使用します。前に入力したコマンドを確認したら、下矢印や ^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 を押す必要があります。


実行コンフィギュレーションの確認

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

  • show running-config [all] [command]

    all を指定すると、すべてのデフォルト設定も表示されます。Command を指定すると、関連するコマンドだけが出力に含まれます。


    (注)  


    多くのパスワードは ***** として表示されます。パスワードをプレーン テキストまたは暗号化された形式(マスター パスフレーズを有効にしている場合)で表示するには、more コマンドを使用します。


  • more system:running-config

show コマンドおよび more コマンドの出力のフィルタリング

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

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

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

または

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 コマンド出力のリダイレクトと追加

表示する出力が多い場合、コマンドの完了に時間がかかることがあります。たとえば、100 万のアクセス制御エントリや非常に大きい ASP テーブルを表示しようとすると、システムが停止したと思うかもしれません。

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

show command | {append | redirect} url

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

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

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

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

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

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

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

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

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

    • tftp://[[user[:password]@] server[ :port] /[path/]filename[;int=interface_name]] :TFTP サーバーを示します。パス名にスペースを含めることはできません。;int=interface オプションを指定すると、ルート ルックアップをバイパスし、常に指定したインターフェイスを使用して 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 画面を表示するには、Space バーを押します。

  • 次の行を表示するには、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 コマンドを使用して、コマンドラインから実行コンフィギュレーションを保存した場合のみです。

マルチセキュリティ コンテキスト ファイル

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

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

  • コンテキストのリストなど、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 文字(マルチバイト文字)までサポートしています。