2010年5月29日土曜日

JUNOSの基本的なログ設定


今回は、JUNOSのログに関して紹介します。
このエントリーで扱う内容は以下の通りです。
  • JUNOSのログが保存されるファイル
  • JUNOSの基本的なログ設定
  • JUNOSの基本的なログファイル情報の確認方法
JUNOSのログが保存されるファイル
JUNOSのログは、基本的にUNIXと同じ考え方になっているので、ログ情報は/var/log/のディレクトリに格納され、格納されるファイル名はデフォルトでmessagesになっています。
なので、ログ情報を確認したい場合/var/log/messagesを見ることになります。

JUNOSの基本的なログ設定
JUNOSの基本的なログ設定では、以下の2つを設定しなければいけません。
  1. どのファイルにログを保存するのか?
  2. そのファイルには、どのファシリティやどのレベル以上のログを保存するのか?
コマンドだと以下のようになります。
root@SRX# set system syslog file ファイル名 ファシリティ名 レベル名 

パラメータには、まず最初にファイル名を指定します。
次に、どのファシリティのタイプのログを保存するかを指定します。このファシリティのタイプを指定することで、特定のサービスからだけのログ情報を保存することができます。
例えば、ftpサービスのログだけ取得したければ「ftp」とファシリティ名を指定します。また、全てのファシリティ(サービス)のログ情報を指定したければ、「any」と指定します。
最後に、指定したファシリティの中でもどのレベル以上のログ情報を取得するかを指定します。全てのレベルのログ情報であれば、「any」と指定します。
サンプルとして、認証情報のログを全て取得する例を記載します。
root@SRX# set system syslog file auth authorization any 

念のため、show configの表示例も記載しておきます。
root@SRX# show system syslog    
archive size 100k files 3;
user * {
    any emergency;
}
file messages {
    any critical;
    authorization info;
}
file interactive-commands {
    interactive-commands error;
}
file auth {
    authorization any;
}

JUNOSの基本的なログファイル情報の確認方法
最後は、ログファイルの確認です。
確認方法としては2つあり、1つはログ確認コマンドshow logを使用する方法と、もう1つはfile showコマンドを使用する方法です。
show logコマンドはログファイルを確認するコマンドで、パラメータに/var/logのディレクトリに格納されているファイル名を指定します。このshow logコマンドが参照するディレクトリはデフォルトで/var/logディレクトリなっているので、ディレクトリの指定は必要ありません。
以下に使用例を記載します。
root@SRX> show log messages                                                   
May 28 11:00:01 SRX newsyslog[1065]: logfile turned over due to size>100K
May 28 11:25:32  SRX login: LOGIN_PAM_AUTHENTICATION_ERROR: PAM authentication error for user hoge
May 28 11:25:32  SRX login: LOGIN_FAILED: Login failed for user hoge from host


細かいことですが、show logコマンドは単なるファイルを確認するコマンドでもありますので、show logコマンドのファイル指定をするとき、ログファイル以外のファイルであっても、ディレクトリから指定すればログファイル以外でも確認することができます。
なので、show logコマンドで下記のようなこともできます。
root@SRX> show log /var/db/config/juniper.conf.10.gz 
## Last changed: 2010-05-04 08:43:07 JST
version 10.0R2.10;
system {
    host-name SRX;
    time-zone Asia/Tokyo;

最後に、show logコマンド以外のログファイル確認方法を紹介します。
基本的にログファイルは単なるテキストファイルなので、file showコマンドでファイル名を指定しても確認できます。例えば、デフォルトでログが格納されているファイル「messages」の内容を確認したければ下記のようになります。
root@SRX> file show /var/log/messages    
May 28 11:00:01 SRX newsyslog[1065]: logfile turned over due to size>100K
May 28 11:25:32  SRX login: LOGIN_PAM_AUTHENTICATION_ERROR: PAM authentication error for user hoge
May 28 11:25:32  SRX login: LOGIN_FAILED: Login failed for user hoge from host
May 28 11:25:36  SRX login: LOGIN_PAM_AUTHENTICATION_ERROR: PAM authentication error for user root

2010年5月28日金曜日

ついにJ-Netコミュニティ日本語版にJuniperエンジニアが登場!!!

J-Netコミュニティーのフォーラムには、今まではJuniperの会社とかに関わる書き込みが多かったのですが、先日、日本語フォーラムにもついにJuniperのエンジニアが登場し、SRXでのPPPoEの設定サンプルを投稿しています。
(その人のプロフィールを見る限りは、単に「Juniper社員」となっていますが、記事から想像するに勝手にエンジニアの人かなぁと妄想しております)
掲載されている情報は、トポロジー図とそのときのコンフィグ、確認コマンドとその表示例が掲載されています。コマンドの細かい解説はないのですが、コンフィグの中にコメントが記載されているので一般のエンジニアであれば、コンフィグとそのコメントを見れば十分理解できるかと思います。
実際にSRX100を使うのであれば、投稿されているような環境で使用することが多いと思うので、参考にする方も多いかと思います。
エンジニアの方がこのような情報をフォーラムに掲載するとなると、投稿の記事を作成するためにかかったエンジニアの工数は誰が払うのか?そもそも誰がそんな手間なことをするのか?などを考えると社内調整がとても大変だと思います。
そんな中、情報を投稿してくださったJunperのエンジニア、並びにJ-Netコミュニティ日本語版の運営の方々にはとても感謝です。
Juniperのいちファンとして、今後、このような日本語での設定に関する情報がどんどんアップされることを期待しています。

2010年5月26日水曜日

Juniperの日本語資格「JNCIA-Junos」登場!!!

ついにJuniperの日本語資格が登場しました!!!
今回、日本語資格として登場したのは、Juniperの入門資格として位置づけされている「JNCIA-Junos」の日本語版です。(試験時間や問題数などの試験に関する情報は、このエントリーの最後に記載しています)

「JNCIA-Junos」は、Cisco Systemsの資格で言うところのCCNAに相当する資格になりますが、なんと言ってもCCNAに比べてJNCIA-Junosは安い!!!
CCNAは31,500円なのですが、JNCIA-Junosは10,500円。3分の1でございます。

さらに今なら、万が一試験に落ちても、リベンジプログラムを利用すれば無料で再受験できるバウチャーが無料でもらえるので、不合格になった場合でも追加出費を払うことなく再受験が可能です。
このリベンジプログラムで再受験用の無料バウチャーをもらうには、不合格のスコアレポートをPDFなどにデータ化したものをJuniperの事務局へメールで添付して送信します。
そうすると、Juniper事務局からバウチャーが送られてきます。あとは、そのバウチャー番号をプロメトリックの試験申込みのときに入力すれば、試験を無料で受験できます。
詳しくはJunos Certification リベンジプログラムを参照してください。

ただし、このリベンジプログラムは2010年6月24日までとなっていますので、リベンジプログラムを利用する可能性がある方は早めの受験を考えたほうがいいかと思います。あと、このリベンジプログラムの利用は1試験につき1回限りなので、再々受験では使えませんので注意してください。

さらにさらに今なら「JNCIA-Junos」に合格してスコアレポートを先ほどのJuniperの事務局へメールで送ると、先着200名までですがAmazonギフト券5,000円分がもらえます。っこのキャンペーンは2010年4月1日から始まっていますので、急いだ方が良いかもしれません。期間の最終日は2010年6月30日までとなっております。
日本語化に伴い、魅力的なキャンペーンが色々と行われていますので、これを機に是非ともJuniperの認定資格を検討してみてはいかがでしょうか?

ちなみに、私も6月中に「JNCIA-Junos」を受験しますので、試験を受けた感想などこのブログにアップしたいと思います。

以下にJNCIA-Junosの簡単な情報を記載します。
  • 試験名:JNCIA-Junos(日本語試験名:ジュニパーネットワークス認定インターネットアソシエート)
  • 受験コード:JN0-100-JPN
  • 取り扱い試験センター:プロメトリック社
  • 試験費用:10,500円(税込み)
  • 出題数:85問
  • 試験時間:90分
  • 合格基準:85%以上
  • 前提資格:なし
  • 参考資料:Juniper社のJNCIA-Junos紹介ページ

2010年5月8日土曜日

JUNOSのコンフィグ

今回は、JUNOSのコンフィグに関して紹介します。
JUNOSは3種類のコンフィグを保持しています。
  • candidate config
  • active config
  • historic config
candidate config(候補設定)

編集中のコンフィグです。
ユーザが設定コマンドを入力すると、このcandidate configに格納されます。candidate configの設定をデバイスに反映させようと思ったら、commitコマンドを入力して設定を確定させデバイスに反映させます。
candidate configはメモリー上だけに存在するので、デバイスの電源を落としたりすると消えます。Ciscoデバイスでは該当するものはありません。
candidate configを確認するには、コンフィグレーションモードでshowと入力します。

active config

使用中のコンフィグです。
JUNOSデバイスは、このactive configの状態で動作しています。Ciscoデバイスで言うところのrunning-configに該当します。
(正確には、再起動してもactive configの状態なので、保存されているrunning-configって感じでしょうか)
active configは、/config/juniper.conf.gzと言うファイルで保存されています。
先ほど紹介したcandidate configを、active configの状態に戻すには下記のコマンドを使用します。

# rollback 0

active configを確認するには、下記の2つの方法があります。
  • > show configuration
  • > file show /config/juniper.conf.gz
2つの確認では、表示される時間が違うので気をつけてください。
show configurationで確認した場合、最後にcommitされた時間が表示されます。
以下に例を表示します。
root@SRX> show configuration
## Last commit: 2010-05-05 19:10:49 JST by root
version 10.0R2.10;
system {
host-name SRX;

file showで確認した場合、最後にコンフィグを変更した時間が表示されます。
以下に例を表示します。
root@SRX> file show /config/juniper.conf.gz
## Last changed: 2010-05-07 18:05:39 JST
version 10.0R2.10;
system {
host-name SRX;

historic config

JUNOSが自動で保存するロールバック用のコンフィグで、最大49世代前まで保存されます。
*最大数の変更などは過去のエントリー「ロールバックコンフィグの数の変更」をご覧ください。
histric configの確認方法は以下の2つがあります。
  • show system rollback
  • show file
show system rollbackコマンドでは、show system rollbackコマンドの最後に何世代前のhistoric configを見たいかを世代数を指定します。
*show system rollbackコマンドの詳しくは過去のエントリー「JUNOS上でのロールバック用コンフィグの確認」をご覧ください。
show fileコマンドは、単にファイルを見るコマンドなので、show fileコマンドの最後に見たいhistoric configをファイル名で指定します。
以下にhistoric configの格納場所や命名規則を記載します。
  • 1世代前~3世代前まで
    • 格納場所
      • /config/
    • ファイル名
      • juniper.conf.世代数.gz
  • 4世代前〜49世代前まで
    • 格納場所
      • /var/db/config
    • ファイル名
      • juniper.conf.世代数.gz

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