« 2006年12月 | トップページ | 2007年2月 »

2007年1月の11件の記事

IKE HeartbeatとVPN Monitorの違い

NetScreenでは
VPNトラフィックが無い場合でもトンネルを維持するための機能として
IKE heartbeatとVPN Monitorの機能が利用できる。
しかし、似通った動作・用途のため利用するケースを混同、困惑しやすい
IKE heartbeatとVPN Monitorについて解説する。

----------------------------------------------------------------------
IKE heartbeatは一般的にポリシーベースVPNのトンネル接続検知と
フェイルオーバーに利用し、 VPN monitorは一般的にルートベースVPNで
VPNのダウンを検知/報告しVPNを再接続するために利用する。

IKE heartbeatはVPNトンネルの可用性を検出するためにLucentが定義した
IKE拡張仕様であり、VPN monitorにはICMPのエコー/レスポンスが用いられる。
このつの手法はいずれもトンネルの障害を検知するという同じ目的を持った
機能でありトラフィックがない場合でもトンネルを自動的に接続し続けようと
する。

IKE heartbeatは最初に実装され、主にポリシーベースVPNでトンネルの
フェイルオーバーを行うためのVPNグループで用いられる。
尚、IKE heartbeatの機能を利用するにはトンネルの両端のデバイス同士が
必ずIKE heartbeatをサポートしなければならない。

VPN Monitorは当初、VPNトンネルの障害をSNMPで報告し、ログイベントに
記録するために開発されたが、その後拡張されIKE heartbeatが持っていた
トンネル再接続の機能も提供できるようになった。
しかし、VPN MonitorはルートベースVPNを利用する際には更に機能的である。

VPN Monitorがトンネルのダウンを検知すれば、仮想のトンネルインターフェ
ースをダウンとする事ができ、それによって、そのインターフェースに関連
している全ての経路情報(ルーティング)もダウンさせることができる。
(あるいは、ダイナミックルーティングプロトコルにそのルートの削除を
知らせる。これは、物理インターフェースのケーブルを引き抜き、、
レイヤ2のリンク状態をダウンさせる事と等しい。)
VPN Monitorは他のベンダーとの相互運用性を高めるためにICMPが
モニタリング用のプローブとして用いられる。
----------------------------------------------------------------------

まとめ

■ IKE heartbeat

 ・一般的にポリシーベースVPNのトンネル接続検知とVPNグループ利用時の
  フェイルオーバーに利用
 ・VPNトンネルの可用性を検出するためにLucentが定義したIKE拡張仕様
 ・IKE heartbeatは対向の両方のデバイスでサポート(設定)されないと
  利用できない(MUST)

■ VPN Monitor

 ・一般的にルートベースVPNでVPNのダウンを検知/報告しVPNを再接続
  するために利用
 ・他ベンダの相互運用性のために、ICMPエコー/レスポンスを用いる。
 ・VPN Monitorは対向デバイスでサポートされていなくても利用できる。
 ・VPN Monitorがトンネルのダウンを検知し、トンネルインターフェースの
  ステータスを変化させる事によって、関連するルーティングも動的に
  変化させる事ができる。(Static、Dynamicのルーティング)

参考:

When should I use IKE Heartbeat and when should I use VPN Monitor
http://kb.juniper.net/KB6786

| | トラックバック (0)

Syslogにメッセージを記録するコマンド

シェルスクリプトから、Syslogにメッセージを記録するには
loggerコマンドが利用できる。

使い方:
logger [-is] [-f ファイル] [-p 優先度] [-t タグ] [-u ソケット] [ メッセージ ... ]

# man logger

名前
     logger - syslog(3) システムログモジュールの
     シェルコマンドインターフェース

書式
     logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]

説明
     logger はシステムログにエントリを作成する。
     logger は syslog(3) システムログモジュールのシェルコマンドインタ
     ーフェースを提供する。

     オプション:

     -i       各行に logger プロセスのプロセス ID を記録する。

     -s       システムログに記録したメッセージを標準エラー出力にも出力
              する。

     -f file  指定したファイルの内容を記録する。

     -p pri   メッセージを指定した優先度 (priority) で登録する。優先度
              は数値もしくは ‘‘機能分類.重要度’’ の組で指定する。
              例えば、‘‘-p local3.info’’ は、重要度 informational
              機能分類 local3 としてメッセージを記録する。
              デフォルトは ‘‘user.notice’’ である。

     -t tag   ログを出力する各行に、指定した tag を共に記録する。

     -u sock  組み込みの syslog ルーチンの代わりに sock で指定された
              ソケットに出力する。

     -d       このソケットへのストリーム接続ではなく、データグラムを
              使う。

     --       引数の終わり。 message をハイフン (-) で始められるように
              する。この機能はオリジナルの BSD logger コマンドにはない。
              GNU 拡張である。

     message  log ファイルに書き込むメッセージ。これが指定されず、
              かつ -f オプションも指定されなかった場合は、標準入力から
              の入力が記録される。

     logger ユーティリティは成功した場合 0 を返し、エラーの場合は
     0 より大きい値を返す。

     指定できる機能分類名は以下の通り:auth, authpriv (機密に関わる種類
     のセキュリティ情報), cron,daemon, ftp,kern, lpr, mail, news,
     security (auth の同義語。使わない方が良い), syslog, user, uucp
     と、 local0 ~ local7。

     指定できる重要度は以下の通り: alert, crit, debug, emerg, err,
     error (err の同義語。使わない方が良い), info, notice, panic
     (emerg の同義語。使わない方が良い), warning, warn (warning の
     同義語。使わない方が良い)。これらの重要度の優先順位と意図する
     目的については、 syslog(3) を参照すること。


           logger System rebooted

           logger -p local0.notice -t HOSTIDM -f /dev/idmc

関連項目
     syslog(3), syslogd(8)

準拠
     logger コマンドは IEEE Std 1003.2 (“POSIX.2”) 互換のはずである

| | トラックバック (1)

bashのhistoryを削除する方法

bashのhistoryを削除するには以下のコマンドを実行する

$ history -c

bashマニュアルより
  -c     Clear the history list by deleting all the entries.

| | コメント (0) | トラックバック (0)

NetScreenにおけるMSS調整コマンド

NetScreenでのMSS調整方法について記載する

■ "set flow tcp-mss" と "set flow all-tcp-mss"

  どちらもNetScreenを通過するトラフィックのMSS値を
 変更・修正するために使用される。
 また、all-tcp-mssのコマンドはtcp-mssのコマンドを上書きしない。
  tcp-mssコマンドはVPNトラフィック
  all-tcp-mssは平文の通過トラフィックのみに適用される。

■ set flow all-tcp-mss

  NetScreen自身のTCP/IPスタックに適用されNetScreenへの通信と
  NetScreenからの通信に使用される。
 NetScreenを通過する平文(clear-text)のTCPトラフィックに適用される
  (this command is for Clear TCP Traffic)
 透過モード(トランスペアレントモード)ではサポートされず
 ルートモードのみでサポートされる。

■ set flow tcp-mss

 NetScreenを通過するVPNトラフィック(TCP)のみに適用される
(this command is for VPN TCP traffic)

■ set flow all-tcp-mssについて

 set flow all-tcp-mssのコマンドは
 パケットのフラグメント化が原因でパフォーマンスに影響を及ぼすような
 ケースで利用される。このコマンドによりパケットのフラグメント化が
 発生しないよう、最大伝送単位(MTU)以下に最大のセグメント・サイズ(MSS)
 を十分に低く修正する事ができる。

 全てのオーバーヘッドを足したパケットのペイロードサイズはMTUを超過してはいけな い。そうでなければフラグメントが発生するだろう。
 オーバーヘッドはmacヘッダー、ethernetヘッダー、CRC、暗号化およびPPPoEを含む。
 尚、set flow all-tcp-mssは平文(clear-text)のトラフィックに適用され、
 set flow tcp-mssはVPNトラフィックのみに適用される。

 PPPoEは大量のオーバーヘッドを追加し、set flow all-tcp-mssが有効になっていない
 場合にはフラグメントが発生するため、set flow all-tcp-mssはPPPoE接続環境で
 必要になる。
 又、経路上のルーターがフラグメントパケットを適切に扱っていないようないくつかの
 実例もある。これらの例では、set flow all-tcp-mssは問題解決の助けになるかもしれ ない。例えば、あるウェブサイトへアクセスするが全ての画像イメージが表示されない
 ような場合、これはフラグメントの問題が発生している可能性がある。
 set flow all-tcp-mssの適用はこの問題を解決するために利用できる。

■ TCP-MSSのデフォルト設定

ScreenOS ≫ 5.1.x ≫ 5.1.0
ScreenOS ≫ 5.0.x ≫ 5.0.0

・全てのNetScreen-5XP, NetScreen-5XT, NetScreen-5GT
  tcp-mss 1400がデフォルトで設定されている

・それ以外の全てのNetScreenでは
  tcp-mssはデフォルトで設定されていない

・PPPoEの設定を行った場合

  set flow tcp-mss 1392
  set flow all-tcp-mss 1304
  
  PPPoEインスタンスをインターフェースにバインドした場合、
  事前にset flow all-tcp-mssコマンドが設定されていなければ自動的に
  set flow all-tcp-mss 1304の設定が追加される。
  また、少なくともNetScreen-5GTでPPPoEを有効にした場合
  set flow tcp-mss 1392の設定がコンフィグに現れる事を確認している。
  これはデフォルトのtcp-mss 1400からPPPoEオーバーヘッドの
  8バイトを差し引いた値と考えられる。

■ set flow all-tcp-mssは透過モードでもサポートされますか?

ScreenOS ≫ 4.0.x ≫ 4.0.0
ScreenOS ≫ 5.0.x ≫ 5.0.0
ScreenOS ≫ 4.0.x ≫ 4.0.3
ScreenOS ≫ 4.0.x ≫ 4.0.2

set flow all-tcp-mssのコマンドはトランスペアレント(透過)モードでは
サポートされません。このコマンドはルートモードでのみ適用されます。

■ NetScreenは設定されたMMS値より小さいMSSが定義された
   パケットのMSS値を書き換えますか?(LAN間VPN)

ScreenOS ≫ 3.0.x
ScreenOS ≫ 3.1.x
ScreenOS ≫ 4.0.x
ScreenOS ≫ 5.0.x
ScreenOS ≫ 5.1.x

環境:
 LAN間VPN
 ローカル側のMTUより遠隔地側のほうが小さなMTUを持っている場合

いいえ。設定された値より提案されたサイズが大きい場合のみ、NetScreenは
MSSを修正します。MSSが設定された値より小さい場合、MSSの修正はされません。

参考:

What does set flow all-tcp-mss do?
http://kb.juniper.net/KB6346

Does set flow all-tcp-mss override set flow tcp-mss ?
http://kb.juniper.net/KB7952

Default Settings for TCP-MSS
http://kb.juniper.net/KB7361

TCP-MSS Default Settings
http://kb.juniper.net/KB4586

Is "set flow all-tcp-mss" supported in Transparent Mode?
http://kb.juniper.net/KB6961

Does NetScreen re-write the Maximum Segment Size (MSS)?
http://kb.juniper.net/KB3910

| | トラックバック (0)

NetScreen-SAの設定ファイルバックアップ方法

NetScreen-SecureAccess(IVE)の設定をバックアップするには
system configuration (system.cfg) のエクスポートだけでは
完全なバックアップにはならない。

IVEの完全なバックアップを取得するには
Configuration (system.cfg) と User Accounts (user.cfg)を
両方ともエクスポートして保存しておき、リストア(復元)をする際には
両方のコンフィグファイルをインポートする必要がある。

尚、バイナリのバックアップファイル(system.cfg user.cfg)には
ログは当然含まれないので注意する事。

■システム設定ファイルのエクスポート

以下の項目をエクスポートしたい場合は、システム設定ファイルを
エクスポートします。

   ・ネットワーク設定
   ・クラスタ設定
   ・ライセンス
   ・SNMP 設定

システム設定ファイルをエクスポートするには、次の操作を行います。

1. Web コンソールで、Maintenance > Import/Export > Configuration
  を選択します。
2. 設定ファイルをパスワードで保護する場合は、Export でパスワードを
   入力します。
3. Save Config As をクリックしてファイルを保存します。

■ローカル ユーザー アカウントまたはリソース ポリシーのエクスポート

以下の項目をエクスポートしたい場合は、ユーザー アカウントを
エクスポートします。

   ・サインイン設定(サインイン ポリシー、サイン インページ、すべての
                     認証サーバーを含む)
   ・認証領域
   ・ロール
   ・リソース プロファイル/ リソース ポリシー
   ・ユーザー アカウント
   ・ミーティング設定

ローカル ユーザー アカウントまたはリソース ポリシーをエクスポート
するには、次の操作を行います。

1. Webコンソールで、Maintenance > Import/Export > User Accountsを選択
2. 設定ファイルをパスワードで保護する場合は、Exportでパスワードを入力
3. Save Config As をクリックしてファイルを保存

参考:
Juniper Article ID: KB7736
http://kb.juniper.net/KB7736

| | トラックバック (0)

NetScreenでインターフェースのSpeed及びDuplex設定を行うコマンド

インターフェースのSpeed、Duplex設定を行うには
CLIで以下のコマンドを利用します。
(WebUIからは設定不可能です)

 -> set interface <interface> phy <duplex> <speed>

NetScreen-5GTのtrustポートは以下コマンドで各ポート単位で設定可能

 -> set int trust port <port id> phy<duplex> <speed>

※duplex = half or full or auto
※speed  = 10mb or 100mb

インターフェースの設定を確認するには以下のコマンドを利用します。

 -> get interface <interface>

NetScreen-5GTのTrustポートを確認する場合

 -> get interface trust port <port id 0-4> phy

関連するバグ:
NetScreen-5GTのScreenOS5.0.0ではインターフェースに関するバグがあり
10MBps full duplexの設定をしても10MBps half duplexとなる場合がある。
解決方法は5.0.0r10以上のバージョンにアップグレードする事。

in coll err collisions on line From 5.0.0r10 release notes (actually fixed in r9):
03269 - The Juniper NetScreen-5GT incorrectly auto negotiated to
        10MBps half duplex after it had initially set itself to
        10MBps full duplex.

その他、
NetScreen-5GTとCatalyst3550との接続時にインターフェース設定の
ミスマッチがある場合リンクが確立しないバグがあった模様

検索キーワード:
インターフェース インタフェース interface 10M/FULL 100M/FULL,
auto-negotiate auto-negotiation auto-nego オートネゴシエーション
半2重 全2重 自動設定 CLI コマンド 設定 インターフェースの設定

参考:

Juniper Article ID: KB5453
http://kb.juniper.net/KB5453

Juniper Article ID: KB6454
http://kb.juniper.net/KB6454

Juniper Article ID: KB5102
http://kb.juniper.net/KB5102

Juniper Article ID: KB4634
http://kb.juniper.net/KB4634

Juniper Article ID: KB4470
http://kb.juniper.net/KB4470

Juniper Article ID: KB7295
http://kb.juniper.net/KB7295

| | トラックバック (0)

NetScreen-RemoteでサポートされるOS

Windows 95, Windows 98, と Windows MEは
NetScreen-Remote 8.5までのバージョンでのみサポートされます。
これらのOSはNetScreen-Remote 8.6以降のバージョンではサポートされません。

NetScreen-Remote 8.6以降のバージョンを使うには
以下のオペレーティングシステムのいづれかにアップグレードしてください。

Windows NT
Windows 2000 Professional
Windows XP Professional

検索用キーワード:
NetScreen-Remote VPN Client,NS-Remote,リモート,Windows95,Windows98
OS,OS,オペレーティングシステム,OSタイプ

参考:

Juniper Article ID: KB8343
http://kb.juniper.net/KB8343

| | トラックバック (1)

ダイヤルアップグループVPNのSAホールド時間調整方法

ダイヤルアップグループ用のVPNを設定した場合、
ユーザがVPNを切断した後でもinactiveの状態でデフォルト60分間SAが維持される。
inactiveのVPNトンネルもトンネル数としてカウントされるため、
VPNトンネル数の上限となり次のユーザが接続できない現象が発生する事がある。
(特に接続ユーザ数に対して最大VPNトンネル数が少ない機種を利用している場合)

この場合、set ike member-sa-hold-timeでSA保持時間を短く調整する事で
ある程度、VPNトンネル数を有効に利用する事が可能である。

以下は、NetScreen-5GT(ScreenOS5.0.0r11)でVPNトンネル数の上限に達した際に
表示されたエラーの例である。Phase2の確立が完了せずfailedとなっている。
※このとき、原因は不明だがNetScreen-Remote8.1側のログではエラー無く
 Phase2のSAが確立されたように表示されていた。
 
YYYY-MM-DD HH:MM:SS system info  00536 IKE<an.ip.add.ress> Phase 2 msg ID
                                       <>: Negotiations have failed.
YYYY-MM-DD HH:MM:SS system info  00536 IKE<an.ip.add.ress> Phase 2 msg ID
                                       <>: Negotiations have failed
                                       for user <>.

コマンド

    set ike member-sa-hold-time <minutes 3~ >
    (time to hold a sa for a dialup group member)

set ike member_sa_hold_timeのコマンドはダイヤルアップVPNユーザが
NetScreen-Remoteでの接続状態を切断した後、しばらくの期間
NetScreen側でSA割当てを保持しておく時間(分)の長さを調整するために使用されます。
最小の設定値は3分で、デフォルトは60分です。

ScreenOS4.0.0からは「set ike member-sa-hold-time」に変わりました。

現在のSA保持時間を表示するには以下のコマンドを入力します。
get ike member-sa-hold-time

関連コマンド:
    get sa
    clear sa <SA ID>
    clear ike-cookie <IP ADDRESS>

適用ScreenOS:

ScreenOS 3.0.3以上

適用機種:

NetScreen-5GT
NetScreen-5XP
NetScreen-5XT
NetScreen-25
NetScreen-50
NetScreen-204
NetScreen-208
NetScreen-5200
NetScreen-5400

参考:

Juniper Article ID: KB6762
http://kb.juniper.net/KB6762

| | トラックバック (0)

ScreenOS 5.XでのIPSec VPNトンネルの数え方

ScreenOS 5.XでのIPSec VPNトンネルの数え方の解説です

1.ライセンスで許可されるトンネル数の表示

コマンド
    > get license-key

get license-keyをCLIでタイプして「VPN tunnels」の行を見ます。
以下の4つの出力方式が存在します。

①1つだけ表示される場合:
    全ての種類のIPSecVPNの制限数です。

②2つ表示される場合:
    1つはサイト間のVPN制限数、もう一つは追加の
    ダイヤルアップグループのVPN制限数

③何も表示されない場合:
    VPNは許可されません。(F/W用途のみの製品です)

④unlimited表示の場合:
    VPNはプラットフォームの制限数に従います。

2.site-to-site, dynamic-peer, manual-key and dialup-user vpnの許可数は
 以下のように決定されます

site-to-site, dynamic-peer, manual-key and dialup-user vpnの許可数は
前述のサイト間VPNの割り当て数が適用されます。

"set vpn gateway .. "のコマンドで作成されたvpn tunnelの設定数だけが
カウントされます。(ポリシーあるいはトンネルインターフェースの数では無く)
またそれは、ポリシーで使用されていないか、トンネルインターフェースに
割り当てられていなくても、トンネル数としてカウントされます。

注:VPN用の「ポリシーサブジェクト」の数はプラットフォームの制限に依存。

3.dialup-group vpn の許可数は以下のように決定されます

まず、ダイヤルアップグループVPNには「ダイヤルアップグループのVPN制限数」
が割当てられます。
もし、これ以上「ダイヤルアップグループのVPN制限数」が利用できない場合、
「サイト間VPNの制限数」が割当てられます。

注:
    VPNトンネルの設定数はカウントされません
    ユーザコネクション数がカウントされます
    各ユーザのSAは1つのVPNトンネルとしてカウントされます

適用ScreenOS:

ScreenOS 5.0

適用機種:

NetScreen-5GT
NetScreen-5XP
NetScreen-25
NetScreen-50
NetScreen-204
NetScreen-208

参考:

Juniper Article ID: KB7114
http://kb.juniper.net/KB7114

| | トラックバック (0)

NetScreenのVPNトンネル数はどのように数えますか

ScreenOS 4.0以上でのVPNトンネルの数え方の解説です
(ScreenOS5.Xでは数え方が若干異なります。)

IKEのVPNトンネルでは、トンネル毎に複数のポリシーを作成できます。
トンネルに含まれた各ネットワークは1つのSAを構成するでしょう。
したがって、VPNトンネルについて複数のSAを持つことができます。
通常のLAN間VPNトンネルでは、作成されたゲートウェイの数とトンネルの数は等しく
なります。

ダイヤルアップVPNユーザのトンネルの数え方は若干異なります。
ダイヤルアップVPNユーザが作成された時、各ユーザは1つのVPNゲートウェイ
としてカウントされます。
(ダイヤルアップVPNユーザ用のゲートウェイが作成された場合と考えた方が
良いかもしれないが、英語ではWhen creating dial-up VPN usersとなっているため
このまま素直に訳した)
もし、ダイヤルアップVPNグループが利用された場合には、ダイヤルアップグループの
IKEエントリーは1つのVPNゲートウェイとしてカウントされ、そして追加の
ダイヤルアップユーザは別のVPNトンネルを使います。

例えば、NetScreen-5XPで以下のVPNを持つ場合、
・3つのLAN間IKEトンネル、
・2つのマニュアルキーVPNトンネル、
・1つのダイヤルアップVPNグループIKEエントリ(20人のVPNグループ)

ダイヤルアップVPNユーザが接続されていない場合にはトンネルの有効な数は6となります。
NetScreen5XPの制限は、10トンネルなので、ダイヤルアップVPNユーザに残されたのは
4つのVPNとなります。

適用ScreenOS:

ScreenOS 4.0以上

適用機種:

NetScreen-5GT
NetScreen-5XP
NetScreen-5XT
NetScreen-25
NetScreen-50
NetScreen-204
NetScreen-208
NetScreen-5200
NetScreen-5400

参考:

Juniper Article ID: KB4204
http://kb.juniper.net/KB4204

| | トラックバック (0)

SolarisのTCP/IPスタックパラメータ設定コマンド

コマンド

/usr/sbin/ndd

使い方:
     ndd [ -set ]  driver  parameter  [ value ]

例:
% ndd /dev/tcp \?
% ndd -set /dev/ip ip6_forwarding 0

下記は、arpキャッシュ時間をSolaris8で表示
結果は300秒=5分
(arp_cleanup_intervalはミリセカンド単位で表示)

# ndd /dev/arp arp_cleanup_interval
300000

検索用:Solaris,arp,キャッシュ,tcp/ip,パラメータ

|

« 2006年12月 | トップページ | 2007年2月 »