コンフィグレーション
コマンドインタフェースによるコンフィグ作成方法を説明します。
このタスクについて
始める前に
- コマンドインタフェースの操作方法について習得済みであるものとします。
コンフィグのライフサイクルについて
本装置の動作内容を定義するコンフィグは、システム内で役割の異なる複数の場所に保持します。各コンフィグはそれぞれ併記するコマンドで参照できます。
- startup-config
- 内部ストレージに保存されるコンフィグです。起動時にrunning-configに反映されます。また、保存操作によりrunning-configから書き込まれます。
- running-config
- メインメモリに保持し各機能の動作を定めるコンフィグです。起動時にstartup-configから反映されます。また、動作中に編集されたcandidate-configから反映されます。
- candidate-config
- メインメモリに保持し、running-configへ反映する候補となるコンフィグです。起動時にstartup-configから反映されます。また、コンフィグ編集操作の対象となり、編集後のエラーチェックにパスするとrunning-configに反映します。
ヒント:
各コンフィグの書式は同一ですが、running-configは反映時に正規化されるためキーの並びやインデント量が他と異なる場合があります。
編集と反映
コンフィグ変更操作の基本的な手順を説明します。
このタスクについて
始める前に
手順
- 設定状況を確認する設定変更にあたり、現在のターミナル設定の状況を確認します。show config terminalコマンドを実行します。
# show config terminal terminal.login-timer: 300 #
- ログインタイマー(無操作時の自動ログアウトタイマー)のみ設定されていることがわかります。
- これは工場出荷時コンフィグに含まれる設定内容です。
- 目的の設定内容を確認するここではシェルのページング機能の無効化を設定します。ページングのコンフィグパラメータの構文は次の通りです。
terminal.pager : [ enable | disable ]
- 詳細:terminal
- ページング機能の設定は工場出荷時のコンフィグに含まれていませんが、無設定時のデフォルト値により有効化されています。
ページング機能を無効化するdisable
を設定するには、次のコンフィグを追加する必要があることがわかります。terminal.pager : disable
- コンフィグを追加するコンフィグを追加するにはsetコマンドを使用します。setに続けてコンフィグパラメータを入力しますが、キー内の"."および、キーとバリューを区切る":"は空白に置き換えて入力します。
# set terminal pager disable terminal.pager: disable #
- 入力を受け付けると追加されたコンフィグがキー&バリュー形式で表示されます。
- 設定が反映されたことを確認するshow config terminalコマンドを実行します。
# show config terminal terminal.login-timer: 300 terminal.pager: disable #
- 追加されたページングの無効化が確認できます。さらにshow logコマンドなどを実行し、ページングによる一時停止が働かないことを確認してください。
- 設定済みのコンフィグを変更するここでは、先に無効化したシェルのページング機能を改めて有効化します。加えて、ログインタイマーのタイムアウト時間を変更します。ログインタイマーのコンフィグパラメータの構文は次の通りです。
terminal.login-timer : <Time> (1-999999)
ページングの有効化と、ログインタイマーを1800秒に変更するには、次のようなコンフィグに変更する必要があることがわかります。terminal.pager : enable terminal.login-timer : 1800
設定追加時と同様にsetコマンドを使用しますが、同一機能内で構文の近しいコンフィグパラメータは次のようにワンライナー(1行)で入力できます。# set terminal pager enable login-timer 1800 terminal.pager: enable terminal.login-timer: 1800 #
- 入力を受け付けると変更されたコンフィグがキー&バリュー形式で表示されます。
ヒント:ワンライナーは、機能エントリ単位で構文に共通性がある部分を省略する形で連続入力可能にする機能です。複数行のコンフィグをワンライナーで入力する例を紹介します。- 目的のコンフィグ
-
dhcp.server.0.expire: 24 dhcp.server.0.interface: ge1 dhcp.server.0.pool.address: 192.168.0.2/24 dhcp.server.0.pool.count: 253 dhcp.server.service: enable
- 入力1
- 同一のインデックス番号(機能の設定単位)のコンフィグパラメータをワンライナーで入力できます。
構文の短い("."区切りが少ないか同じ)パラメータを先に入力する必要がある点に注意してください。構文の長いパラメータを先に入力すると、より短いパラメータは入力候補から除外されます。# set dhcp server 0 expire 24 interface ge1 pool address 192.168.0.2/24 count 253 dhcp.server.0.expire: 24 dhcp.server.0.interface: ge1 dhcp.server.0.pool.address: 192.168.0.2/24 dhcp.server.0.pool.count: 253
# set dhcp server 0 expire 24 <?> (Enter) gateway ntp wins-node dns ignore-unknown-request pool wins-server domain interface static wpad # set dhcp server 0 pool count 253 <?> (Enter) address
- 入力2
- インデックス番号が有るコンフィグと無いコンフィグとはワンライナーで入力できないため、個別に設定します。
# set dhcp server service enable dhcp.server.service: enable
- コンフィグを削除する不要なコンフィグを削除するにはdeleteコマンドを使用します。ここではターミナルの設定を削除します。deleteに続けて、削除したいコンフィグパラメータのキー部分(":"より左)を入力します。
# delete terminal login-timer - terminal.login-timer # delete terminal pager - terminal.pager #
- deleteはワンライナーで入力できません。
showコマンドで参照すると削除されたことが確認できます。# show config terminal #
- コンフィグを内蔵スクリーンエディタで直接編集するエディタを起動するにはeditコマンドを入力します。エディタの画面ではキー&バリュー形式のコンフィグを直接編集できます。注:エディタの操作には"vi"エディタの知識が必要です。
edit
- 実行するとエディタが起動します。
エディタの操作方法が不明にもかかわらず起動した場合や、変更を保存せずに終了するにはEsc:q!Enterの順にキーボード入力してください。... filter.ipv6.101.action: block filter.ipv6.101.destination.address: self filter.ipv6.101.destination.port: 22 :q! nothing changed. Enter "commit" to apply changes. #
変更を保存して終了するにはEsc:wqEnterの順にキーボード入力してください。... sshd.password-authentication: enable sshd.service: enable :qw /tmp/draft.cfg: 54 lines, 1736 characters. Enter "commit" to apply changes. #
- 直接編集したコンフィグを動作に反映するeditコマンドで編集した内容をrunning-configに反映するにはcommitコマンドを使用します。実行するとcandidate-configの内容をエラーチェックし、パスするとrunning-configに反映されます。setコマンドでの設定時は随時チェックと反映が行われますが、editコマンドによる編集後はcommitコマンドを実行する必要があります。commitコマンドを実行し、エラーがない場合はコマンドプロンプトのみ表示されます。
# commit #
エラーを検出した場合はエラー箇所が示されます。# commit Error(s) in config: terminal.pager: must be "enable" or "disable" # # show config candidate terminal terminal.pager: off #
- 編集したコンフィグはcandidate-configに保存されrunning-configに未反映であるため、確認するにはshow config caididateコマンドを使用します。
- この例では
"enable" or "disable"
でなければならないところ、off
と記述されているためエラーが示されています。
- 設定を保存するsave-to flashromコマンドを実行すると、メインメモリに保持しているrunning-configの内容が内蔵ストレージのstartup-configに上書きされます。注:未保存のままシステムを再起動すると、設定変更した内容は失われます。
# save-to flashrom Running configuration is saved to "flashrom". #