CLIコンフィギュレーションモードの概要
Junos OS CLI の設定モードでは、デバイスのプロパティを設定、管理、監視するコンフィギュレーション ステートメントを使用して、デバイスを設定できます。
CLI設定モードについて
インターフェイス、一般的なルーティング情報、ルーティングプロトコル、ユーザーアクセス、およびいくつかのシステムハードウェアプロパティを含む、すべての Junos OS プロパティを設定できます。
Junos OS CLI モード、コマンド、ステートメント階層について で説明されているように、デバイス設定はステートメントの階層として保存されます。設定モードでは、使用する設定ステートメントのセットを作成します。設定ステートメントの入力が終了し、それらが完全で正しいことを確認したら、それらをコミットし、デバイスの設定をアクティブにします。
対話形式でコンフィギュレーションを作成することも、コンフィギュレーションを含むASCIIテキスト・ファイルを作成し、デバイスにロードしてコミットすることも可能です。
設定モードコマンド
次の表は、各 CLI 設定モード コマンドをまとめたものです。コマンドはアルファベット順に整理されています。
コマンド |
説明 |
---|---|
|
ステートメントから |
|
コンフィギュレーションにコメントを追加します。コメントは、現在の階層レベルでのみ追加できます。 |
|
一連の変更をデータベースにコミットし、変更を操作可能にします。 |
|
コンフィギュレーション内の既存のステートメントのコピーを作成します。 |
|
ステートメントに |
|
ステートメントまたは識別子を削除します。指定されたステートメントパス内に含まれるすべての従属ステートメントと識別子は、このパスとともに削除されます。 |
|
指定されたステートメント階層内に移動します。ステートメントが存在しない場合は、作成されます。 |
|
ステートメント階層の現在のレベルを終了して最後の編集コマンドの前のレベルに戻るか、設定モードを終了します。 |
|
SDK アプリケーション パッケージが提供する構成を管理します。名前付き SDK アプリケーション パッケージが提供したユーザー定義の構成を表示または削除して、それらを管理します。ネイティブ Junos OS パッケージで定義された構成が、extension コマンドによって削除されることはありません。 |
|
使用可能な設定ステートメントに関するヘルプを表示します。 |
|
既存の階層に識別子を挿入します。 |
|
ASCII 設定ファイルまたは端末入力から設定を読み込みます。構成階層内の現在の場所は、ロード操作が行われるときに無視されます。 |
|
ステートメント階層の現在のレベルを終了して最後の編集コマンドの前のレベルに戻るか、設定モードを終了します。 |
|
既存の 設定ステートメント または識別子の名前を変更します。 |
|
構成内の識別子または値を置き換えます。 |
|
以前にコミットされた設定に戻ります。ソフトウェアは、ロールバック番号、日付、時刻、 |
|
設定モードを終了せずに CLI コマンドを実行します。 |
|
設定を ASCII ファイルに保存します。現在のレベルのステートメント階層までの設定ステートメントが、それを含むステートメント階層とともに保存されます。このアクションにより、ステートメント階層を完全に指定しながら、設定のセクションを保存することができます。 |
|
ステートメントの階層を作成し、識別子の値を設定します。このコマンドは |
|
現在の設定を表示します。 |
|
現在設定を編集しているユーザーを表示します。 |
|
|
|
ステートメント階層の 1 レベル上に移動します。 |
|
プライベート データベースを更新します。 |
|
ステートメントまたは識別子を削除します。指定されたステートメントパス内に含まれるすべての従属ステートメントと識別子は、このパスとともに削除されます。正規表現を使用してパターンを指定できます。このパターンに基づいて、オペレーティング システムはこれらのパターンを含む項目を検索し、削除します。 |
設定ステートメントと識別子
デバイスのプロパティは、対応するステートメントを設定に含めることで設定できます。通常、ステートメントは、固定テキストであるシステム定義のキーワードと、オプションの識別子で構成されます。識別子とは、インターフェイス名やユーザー名など、ユーザーが定義できる識別名で、これによってユーザーとCLIがステートメントの集合体を区別できるようになります。
表 2 は、最上位の設定ステートメントを示しています。各設定ステートメントの詳細については、 CLIエクスプローラ を参照してください。
ステートメント |
説明 |
---|---|
|
チャレンジ ハンドシェイク認証プロトコル (CHAP) を構成します。 |
|
インターフェイスとファイアウォールフィルターのアカウンティング統計データ収集を設定します。 |
|
アラームを有効にする条件や、SONET/SDHフレーミングおよび連結プロパティなど、ルーターシャーシのプロパティを設定します。 |
|
サービスクラスパラメータを設定します。 |
|
内容に基づいてパケットを選択するフィルターを設定します。 |
|
トラフィック サンプリング オプションを含む転送オプションを設定します。 |
|
設定グループを設定します。 |
|
カプセル化、インターフェイス、仮想チャネル識別子(VCI)、データリンク接続識別子(DLCI)などのインターフェイス情報を設定します。 |
|
受信ルートと送信ルートのプロパティをフィルター処理および設定できるルーティング ポリシーを構成します。 |
|
BGP、IS-IS、LDP、MPLS、OSPF、RIP、RSVP などのルーティング プロトコルを設定します。 |
|
1 つ以上のルーティング インスタンスを設定します。 |
|
静的ルート、自律システム番号、コンフェデレーションメンバー、ログにするグローバルトレーシング(デバッグ)操作など、プロトコルに依存しないルーティングオプションを設定します。 |
|
IP セキュリティ (IPsec) サービスを構成します。 |
|
SNMP コミュニティ文字列、インターフェイス、トラップ、通知を設定します。 |
|
ホスト名、ドメイン名、ドメイン ネーム システム(DNS)サーバー、ユーザーのログインとアクセス許可、ホスト名とアドレス間のマッピング、ソフトウェア プロセスなど、システム全体のプロパティを構成します。 |
設定ステートメント階層
Junos OS設定は、ステートメントの階層で構成されています。ステートメントには次の 2 種類があります。
-
コンテナステートメントは、他のステートメント(追加のコンテナステートメントやリーフステートメントを含む)を含むことができるブランチです。階層の最上位にあるコンテナステートメントは、階層ツリーのトランクと見なされます。
-
他のステートメントを含まないリーフステートメント(コンテナステートメントに含まれる)。
コンテナステートメントとリーフステートメントは、設定階層を形成します。設定階層の最上位にある各ステートメントは、階層ツリーのトランクに存在します。これらの最上位レベルのステートメントはコンテナステートメントであり、ツリーの枝を形成する他のステートメントが含まれています。リーフステートメントは、階層ツリーのリーフです。階層ツリーのトランクから始まるステートメントの個々の階層は、ステートメントパスと呼ばれます。
次の図は、OSPFエリアのインターフェイスで hello-interval
ステートメントを設定するプロトコル設定階層の部分のステートメントパスを示す階層ツリーを示しています。
protocols
ステートメントは、コンフィギュレーション ツリーのトランクにある最上位レベルのステートメントです。ospf
、area
、および interface
ステートメントは、すべて上位ステートメントの従属コンテナステートメントです(これらは階層ツリーのブランチです)。hello-interval
ステートメントはツリー上のリーフであり、この場合はデータ値、つまりhello-interval
の長さ(秒単位)が含まれています。
以下の設定例は、 図 1に示すようなステートメント階層を示しています。
[edit protocols ospf area area-number interface interface-name]
コマンドは、次のように設定を表示します。
protocols { ospf { area 0.0.0.0 { interface so-0/0/0 { hello-interval 5; } interface so-0/0/1 { hello-interval 5; } } } }
CLI は、階層内の各レベルをインデントして、階層内での各ステートメントの相対的な位置を示します。さらに、一般的には、各階層レベルの先頭に左中括弧を使用し、最後に右中括弧を使用して、各レベルを中括弧で設定します。階層レベルのステートメントが空の場合、中括弧は印刷されません。
各リーフステートメントはセミコロンで終わります。階層がリーフステートメントまで拡張されない場合、階層の最後のステートメントはセミコロンで終わります。
構成階層には、階層の最下位レベルに「oneliners」を含めることもできます。Onelinerは、構文内の1レベルの中括弧を削除し、コンテナステートメント、その識別子、子ステートメントまたはリーフステートメント、およびその属性をすべて1行に表示します。
例えば、show
ステートメントをコンフィギュレーション モードで実行すると、dynamic-profile
ステートメント、その識別子dynamic-profile-name
、リーフ ステートメントaggregate-clients
すべてが 1 行に表示されるため、dynamic-profile dynamic-profile-name aggregate-clients;
はワンライナーです。
[edit forwarding-options]
user@host# show
dhcp-relay {
dynamic-profile dynamic-profile-name aggregate-clients;
}
CLI コンフィギュレーション モードの開始および終了
Junos OSを設定するには、設定モードに入り、設定モード ステートメントの階層を作成します。
コンフィグレーションモードに入るには、
configure
コマンドを使用します。設定モードになると、次の設定モード コマンドを使用できます。
user@host>
configure
entering configuration mode [edit] user@host#?
possible completions: <[Enter]> Execute this command activate Remove the inactive tag from a statement annotate Annotate the statement with a comment commit Commit current set of changes copy Copy a statement deactivate Add the inactive tag to a statement delete Delete a data element edit Edit a sub-element exit Exit from this level help Provide help information insert Insert a new ordered data element load Load configuration from ASCII file quit Quit from this level rename Rename a statement replace Replace character string in configuration rollback Roll back to previous committed configuration run Run an operational-mode command save Save configuration to ASCII file set Set a parameter show Show a parameter status Show users currently editing configuration top Exit to top level of configuration up Exit one level of configuration wildcard Wildcard operations [edit] user@host>注:設定を変更する場合は、終了する前にコミットしてください。設定変更をコミットせずに設定モードを終了すると、意図した変更が失われます。
configure
コマンドを表示および使用するには、構成権限が必要です。設定モードでは、アクセス権限のあるステートメントのみを表示および変更できます。設定モードに入り、別のユーザも設定モードになっている場合、ユーザの名前と、そのユーザが表示または編集している設定の一部を示すメッセージが表示されます。
user@host>
configure
Entering configuration mode Users currently editing the configuration: root terminal d0 (pid 4137) on since 2008-04-09 23:03:07 PDT, idle 7w6d 08:22 [edit] The configuration has been changed but not committed [edit] user@host#最大 32 人のユーザーが同時に設定モードになり、全員が同時に設定を変更することができます。
設定モードを終了するには、任意のレベルから
exit configuration-mode
設定モード コマンドを使用するか、最上位レベルからexit
コマンドを使用します。たとえば、以下のように表示されます。[edit protocols ospf area 0.0.0.0 interface so-0/0/0] user@host#
exit configuration-mode
exiting configuration mode user@host>[edit] user@host#
exit
exiting configuration mode user@host>exit
コマンドを使用して設定モードを終了しようとしたときに、コミットしていない変更が設定に含まれている場合は、次のメッセージとプロンプトが表示されます。[edit] user@host#
exit
The configuration has been changed but not committed Exit with uncommitted changes? [yes,no]yes
Exiting configuration mode user@host>プロンプトに応答せずにコミットされていない変更で終了するには、
exit configuration-mode
コマンドを使用します。このコマンドは、スクリプトを使用してリモート構成を実行する場合に便利です。[edit] user@host#
exit configuration-mode
The configuration has been changed but not committed Exiting configuration mode user@host>
関連項目
相対設定モードコマンド
top
または up
コマンドの後に別の設定コマンド(edit
、insert
、delete
、deactivate
、annotate
、show
など)を続けることで、階層の最上位または設定するエリアより上のレベルにすばやく移動できます。
階層の最上位から設定モード コマンドを発行するには、 top
コマンドを使用して設定コマンドを指定します。たとえば、以下のように表示されます。
[edit interfaces fxp0 unit 0 family inet]
user@host# top edit system login
[edit system login]
user@host#
階層の上位の場所からコンフィグレーション モード コマンドを発行するには、 up
コンフィグレーション モード コマンドを使用します。階層内で上に移動したいレベルの数を指定し、コンフィギュレーション コマンドを指定します。たとえば、以下のように表示されます。
[edit protocols bgp]
user@host# up 2 activate system
関連項目
設定モードでのコマンド補完
このトピックでは、CLI コンフィギュレーション モードでコマンド ヘルプにアクセスし、基本的なコマンド補完を使用する方法について説明します。いずれの場合も、疑問符 (?
) 文字を単独で、またはコマンドや構成ステートメントの一部を使用して、ヘルプにアクセスします。
コンフィグレーション モード コマンドを一覧表示するには、 ?
コマンドのみを使用します。
[edit]
user@host# ?
<[Enter]> Execute this command
activate Remove the inactive tag from a statement
annotate Annotate the statement with a comment
commit Commit current set of changes
copy Copy a statement
deactivate Add the inactive tag to a statement
delete Delete a data element
edit Edit a sub-element
exit Exit from this level
extension Extension operations
help Provide help information
insert Insert a new ordered data element
load Load configuration from ASCII file
quit Quit from this level
rename Rename a statement
replace Replace character string in configuration
rollback Roll back to previous committed configuration
run Run an operational-mode command
save Save configuration to ASCII file
set Set a parameter
show Show a parameter
status Show users currently editing configuration
top Exit to top level of configuration
up Exit one level of configuration
wildcard Wildcard operations
[edit]user@host#
特定の階層レベルで使用可能なすべてのステートメントを一覧表示するには、表示する階層レベルの名前の後に ?
を使用します。この例では、 edit
階層と edit protocols
階層を参照してください。
[edit] user@host#edit ?
Possible completions: > accounting-options Accounting data configuration > chassis Chassis configuration > class-of-service Class-of-service configuration > firewall Define a firewall configuration > forwarding-options Configure options to control packet sampling > groups Configuration groups > interfaces Interface configuration > policy-options Routing policy option configuration > protocols Routing protocol configuration > routing-instances Routing instance configuration > routing-options Protocol-independent routing option configuration > snmp Simple Network Management Protocol > system System parameters user@host#edit protocols ?
Possible completions: <[Enter]> Execute this command > bgp BGP options > connections Circuit cross-connect configuration > dvmrp DVMRP options > igmp IGMP options > isis IS-IS options > ldp LDP options > mpls Multiprotocol Label Switching options > msdp MSDP options > ospf OSPF configuration > pim PIM options > rip RIP options > router-discovery ICMP router discovery options > rsvp RSVP options > sapSession Advertisement Protocol options > vrrp VRRP options | Pipe through a command
特定の文字列または文字で始まるすべてのコマンドを一覧表示するには、文字列、文字、またはその両方を入力し、 ?
文字を入力します。次の例は、文字 "a" で始まるすべての routing-options
コマンドを示しています。
user@host# edit routing-options a?
Possible completions:
> aggregate Coalesced routes
> autonomous-system Autonomous system number
この例では、すべての設定済み xe-
インターフェイスを示しています。これらのインターフェイスは、省略形(ex)の最初の 2 文字と ?
文字を使用して表示できます。
user@host# edit interfaces ex?
<interface_name> Interface name
ex-0/2/0 Interface name
ex-0/2/1 Interface name
[edit]
設定されているすべてのポリシーステートメントのリストを表示することもできます。
user@host# show policy-options policy-statement ?
user@host# show policy-options policy-statement
<policy_name> Name to identify a policy filter
lo0only-v4 Name to identify a policy filter
lo0only-v6 Name to identify a policy filter
lo2bgp Name to identify a policy filter
関連項目
設定階層で使用される表記規則
CLI設定モードで作業している場合、プロンプトの前の行のバナーは現在の階層レベルを示します。次の例では、レベルは [edit protocols ospf]
です。
[edit protocols ospf] user@host#
Junos OS ドキュメントでは、 user@host#
を標準設定モードのプロンプトとして使用しています。CLI セッションでは、プロンプトに、作業中のジュニパーネットワークス デバイスのユーザー ID と構成済み名前が表示されます。
set ?
コマンドを使用して、現在のレベルの設定に含めることができるステートメントを表示します。また、 help apropos
コマンドは状況依存型で、現在のコマンド階層レベル以下でのみ一致するステートメントを表示します。
ステートメントは、各階層およびサブ階層内でアルファベット順にリストされています。サブ階層が長すぎて、サブ階層がどこで終了して次のピア・ステートメントが開始されるかを判別するのが困難な場合、例外が発生します。非常に長いサブ階層の場合、サブ階層はアルファベット順ではなく、親階層の最後に表示されます。この例外シナリオでは、サブ階層が一覧表示されるアルファベット順にプレースホルダーが表示されます。
たとえば、 [edit interfaces interface-name unit logical-unit-number]
階層レベルでは、 family family-name
サブ階層には 20 を超える子ステートメントがあり、その中には独自の子ステートメントを持つ複数のサブ階層が含まれます。完全な family family-name
階層は親階層([edit interfaces interface-name unit logical-unit-number]
)の末尾に表示され、次のプレースホルダーがアルファベット順に表示されます。
family family-name { ... the family subhierarchy appears after the main [edit interfaces interface-name unit logical-unit-number] hierarchy ... }
アルファベット順のもう 1 つの例外は、 disable
ステートメントは、それを含むすべての階層で常に最初に表示されることです。