2010年5月5日水曜日

コンフィグにコメントを残すannotateコマンド

JUNOSは、annotateコマンドでコンフィグにコメントを残すことができます。

annotateコマンドの書式は以下の通りです。
root@SRX# annotate 階層 "コメント"

annotateコマンドは少し癖があって、annotateコマンドでコメントを設定できるのは、ユーザがいる階層の1つ下の階層を示すコマンドの上に1行だけとなります。
ちょっとわかりにくいので具体的に例をあげます。

もし、自分がtopの階層にいる場合、コメントを設定できるコンフィグの場所はsystem, interface, securityなどの階層を示すコマンドの上だけにコメントを設定できます。

以下に、systemの上にコメントを設定する例を示します。
root@SRX# annotate system "This is hoge"                          

[edit]
root@SRX# show 
## Last changed: 2010-05-05 19:35:30 JST
version 10.0R2.10;
/* This is hoge */
system {
    host-name SRX;

もし、name-serverコマンドのすぐ上にコメントを残したい場合は、systemの階層に移動してからannotateコマンドを使用します。以下に例を示します。
root@SRX# edit system    /* systemの階層に移動 */

[edit system]
root@SRX# annotate name-server "That is hogeohge"  

[edit system]
root@SRX# show   
host-name SRX;
time-zone Asia/Tokyo;
root-authentication {
    encrypted-password "$1$Qr.doh8u$pICbeB.DAEA9Ue789OLZ61"; ## SECRET-DATA
}
/* That is hogeohge */
name-server {
    208.67.222.222;
    208.67.220.220;
}

最後に、設定したコメントを消去する方法を紹介します。

コメントを消去したいときにはカラのコメントを設定してください。
例として、上記の例で設定したコメントを削除する例を示します。
root@SRX# edit system    /* systemの階層に移動 */

[edit system]
root@SRX# annotate name-server "" 

[edit system]

2010年5月4日火曜日

ロールバックコンフィグの保存場所の変更


通常、JUNOSのロールバックコンフィグは3世代前までは/config、4世代前から49世代前までが/var/db/configの配下に保存されます。

*詳しくは以前のエントリー「ロールバックコンフィグの保存場所」をご覧ください。

今回は、何世代前までを/configに格納するか変更するコマンドを紹介します。

変更するコマンドはset system max-configurations-on-flashで、パラメータに何世代前まで/configにロールバックコンフィグを保存したいか世代数を入力します。ここで指定された世代数より前の世代から49世代前までは/var/db/configの配下に格納されます。

下記に、10世代前まで/configにロールバックコンフィグを保存するように設定する例を記載します。
root@SRX# set system max-configurations-on-flash 10

このとき、設定が反映されるのは上記のコマンドを入力した瞬間ではなく、上記のコマンドを入力した後にcommitをして、さらにそのあとにcommitをしたときに指定したようにロールバックコンフィグが保存されていく点を注意してください。
決して、上記のコマンドを入力してcommitとしても、既存のロールバックコンフィグの再配置が行われるわけではありません。

2010年5月3日月曜日

ロールバックコンフィグの数の変更


JUNOSのロールバックコンフィグは最大49世代前まで自動で保存されます。

*保存される場所に関しては「エントリー:ロールバックコンフィグの保存場所」を参照してください。

しかし、デフォルトで保存される数はデバイスによって数が異なり、ルータ系はデフォルトで49世代前ですが、SRXはデフォルトで5世代前までしか保存されません。

これを変更するには、set system max-configuration-rollbacksコマンドで変更し、パラメータに世代数を指定します。最大49世代まで指定可能です。

以下に49世代前まで保存するための設定を表示します。

root@SRX# set system max-configuration-rollbacks 49 

ロールバックコンフィグの保存場所


JUNOSでは、いつでも以前の設定に戻せるようにロールバック用のコンフィグがデフォルトで保存されています。

何世代前までのコンフィグが保存されるかはデバイスによって変わってきます。Juniperのドキュメントを見ると、デフォルトで49世代前まで保存するデバイスが多いみたいですが、SRXのデフォルトは5世代前まででした。

*何世代前まで保存されるかを制御するコマンドは別のエントリーで紹介します。

ロールバックコンフィグの保存場所
世代によって保存されている場所が異なり、active configuration(現在使用されている設定ファイルのことで、正確にはロールバックコンフィグとは呼びませんが)から3世代前までの設定ファイルは/configに保存されます。

4世代前から49世代前までのコンフィグは/var/db/configに保存されます。

*保存場所は設定によって変わり、SRXはデフォルトで5世代前までが/configに保存されます。保存場所を制御するコマンドはまた別のエントリーで紹介します。

ロールバックコンフィグの命名規則
ロールバック用のコンフィグにはシステムが自動的に名前を設定します。アクティブコンフィグとロールバック用のコンフィグで設定される名前が異なります。
  • active configuration
    • juniper.conf.gz
  • 1世代前から49世代前まで
    • juniper.conf.1.gzjuniper.conf.49.gz
ロールバックコンフィグの存在確認
JUNOS上からロールバックコンフィグの存在を確認するには、file listコマンドを使用します。(file listコマンドは、lsコマンドもしくはdirコマンドと同じです)

active configurationや3世代前までのコンフィグの存在を確認する例
root@SRX> file list /config

/config:
.snap/
juniper.conf.1.gz
juniper.conf.2.gz
juniper.conf.3.gz
juniper.conf.gz
juniper.conf.md5*
license-status.db
usage.db

4世代前まで以降のコンフィグの存在を確認する例
root@SRX> file list /var/db/config 

/var/db/config:
juniper.conf.4.gz
juniper.conf.5.gz
juniper.conf.6.gz
juniper.conf.7.gz

2010年5月2日日曜日

JUNOSのモード


JUNOSには、2つのモードがあります。
(細かいことを言うと、JUNOSの下でFreeBSDが動いていてユーザはFreeBSDのシェルにもアクセスできるので、FreeBSDのシェルも入れると3つですが、今回の話しはJUNOSのモードということでFreeBSDのシェルは省いています)
  • operational mode(オペレーショナルモード)
  • configuration mode(コンフィグレーションモード)
モードの移動
JUNOSにログインすると、まずoperational modeになります。次に、operational mode上でconfigureと入力するとconfiguration modeに移動します。configuration mode上でexitと入力するとoperational modeに戻ることができます。

以下にモードの移動している例を表示します。
root@SRX> configure 
Entering configuration mode

[edit]
root@SRX# exit 
Exiting configuration mode

root@SRX> 

operational modeの特徴
  • プロンプトは>
  • pingやtracerouteなどが使用可能
  • デバイスの状態を確認するためのshowコマンドが使用可能
  • 基本的にはconfigの設定は行えない
  • Ciscoデバイスで言うところの特権モード
configuration modeの特徴
  • プロンプトは#
  • デバイスに設定をするモード
  • このモードでshowコマンドを使用すると、コンフィグ(candidate configuration)が表示される。(operational mode上のshowコマンドとは異なるので注意)
  • Ciscoデバイスで言うところのコンフィグレーションモード
  • 基本的にはoperational modeのコマンドは使用不可能。
    • しかし、コマンドの前にrunとつければoperational modeのコマンドが使用可能。(Ciscoデバイスで言うところのdoコマンドと同じ)

JUNOS上でのロールバック用コンフィグの確認


ロールバック用に保存されているコンフィグをJUNOS上で確認するには、show system rollbackコマンドを使用します。

パラメータに表示させたいコンフィグの世代番号を入力します。パラメータに0と入力するとアクティブコンフィグ(使用中のコンフィグ)が表示され、1と入力すると1世代前のコンフィグが表示されます。

下の例は、アクティブコンフィグを表示しています。
root@SRX> show system rollback 0
## Last changed: 2010-05-02 00:30:04 JST
version 10.0R2.10;
system {
    host-name SRX240;
    time-zone Asia/Tokyo;
    root-authentication {
        encrypted-password "$1$Ha.XX8Sq$XINOPs3795WyoZc3VX8/p0"; ## SECRET-DATA
    }

下の例は、1世代前のコンフィグを表示しています。
root@SRX> show system rollback 1    
## Last changed: 2010-05-01 23:20:17 JST
version 10.0R2.10;
system {
    host-name SRX;
    time-zone Asia/Tokyo;
    root-authentication {
        encrypted-password "$1$Ha.XX8Sq$XINOPs3795WyoZc3VX8/p0"; ## SECRET-DATA
    }

2010年5月1日土曜日

JUNOSのタイムゾーンの設定


これからは、自分へのメモもかねて色々な設定を残していこうと思います。

初めてのコンフィグメモはタイムゾーンの設定と確認です。

システム時間の設定は当然だと思いますが、システム時間の設定だけだとタイムゾーンがUTCのままになってしまいます。特にJUNOSの場合、世代管理しているコンフィグにいつ変更したかタイムスタンプが載ってるんですが、その時間がUTCのままだとわかりにくくなります。そこで必ずタイムゾーンを変更しましょう。

まず、時間の設定から。
set dateコマンドで時間を設定します。書式はset date yyyymmddmm.ss(.ssは省略可能)。set dateコマンドで設定すると、下の例のようにset dateコマンドの下に設定した時間がわかりやすく表示されます。
root@SRX> set date 201005012332
Sat May  1 23:32:00 UTC 2010

時間の確認はshow system uptimeコマンドで確認。Current timeが現在のシステム時間です。現在の時間以外にも、いつ起動したかや最後の設定変更者や時間も確認できます。
root@SRX> show system uptime 
Current time: 2010-05-01 23:32:36 UTC
System booted: 2010-05-01 09:51:26 UTC (13:41:10 ago)
Protocols started: 2010-05-01 09:54:01 UTC (13:38:35 ago)
Last configured: 2010-05-01 23:20:16 UTC (00:12:20 ago) by root
11:32PM  up 13:41, 1 user, load averages: 3.08, 3.04, 3.01

いよいよタイムゾーンの設定です。
タイムゾーンの設定はset system time-zoneコマンドで設定します。注意として、このとき入力するタイムゾーンの名前は、helpで確認した通りに大文字と小文字を入力しなければいけません。設定を変更したらcommitを忘れないように。
root@SRX# set system time-zone Asia/Tokyo
root@SRX# commit 

最後に、タイムゾーンが変わってるか確認。Current timeの最後が設定したタイムゾーンになっていれば変更成功です。
root@SRX> show system uptime 
Current time: 2010-05-01 23:47:36 JST
System booted: 2010-05-01 09:51:26 JST (13:56:10 ago)
Protocols started: 2010-05-01 09:54:01 JST (13:53:35 ago)
Last configured: 2010-05-01 23:46:58 JST (00:00:38 ago) by root
11:47PM  up 13:56, 1 user, load averages: 3.07, 3.04, 3.01