« 2006年11月 | トップページ | 2007年1月 »

2006年12月の3件の記事

Set Flow Path-MTUは何のために利用するのですか

・コマンド

Set Flow Path-MTU

・要約

VPN越しにフラグメントが必要なパケットが送られてきた場合に、
送信元のホストに"Destination unreachable - fragmentation required"の
ICMPパケットを送る事で、MTUの問題を解決するよう構成できます。

・詳細

set flow path-mtu コマンドはVPNトンネルのフラグメント問題の処理に利用されます。
(このコマンドは暗号化無しの平文で送られるパケットには適用されません。)
このコマンドは2つのホスト間が通過する全てのリンク上で許可される最小のMTUを
決定します。

もし、トンネルの他方のデバイスからヘッダー内のDFビットをセットしたパケットが
送られてきて、そのパケットがフラグメントが必要なぐらい大きければNetScreenは
そのパケットを破棄するでしょう。(例えば、MicrosoftのNBTなど)

set flow path-mtuコマンドが有効である場合に、もう一方のNetScreen上のホストが
DFビットがセットされたパケットを送った場合には、NetScreenは送信元に
"Destination unreachable - fragmentation required"のメッセージをICMPパケットで
送信します。送信元がそのICMPパケットを受信すると、そのホストはパケットのフラグ
メントを防ぐためにMTUサイズを減少させるでしょう。

適用ScreenOS:

ScreenOS4.0.0以上

適用機種:

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

参考:

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

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

ログに現れる「received a packet with a bad SPI」のエラー

NetScreenでVPNを設定している場合、しばしば
「received a packet with a bad SPI.」という旨のログが発生する事がある。
これは、NetScreeが不正なSPI番号のIPSecパケットを検出したことを示す。

原因

  ・IPSecSAの再生成の際のタイミングの不一致
  ・NAT越えによるSPIの不一致
  ・クラッカーからのアタックの可能性(も否定できない)

対策

  送信元IPを確認してVPN対向先かどうかを確認する。
  VPNの対向先でない場合、攻撃の可能性がある。

  VPNの対向先である場合は、以下のいづれかの方法で
  エラーの発生を回避する事ができる。(私の推奨は3番の方法)

 1.次のコマンドで応急的な処置としてSAをクリアする。

  > clear ike all

  2.ソフトライフタイムを短くする

    > set ike soft-lifetime-buffer <number>
    ※<number> is time to init IKE before hard lifetime (seconds)

     但し、ScreenOS 4.0以上のバージョンでは、
  デフォルト値が10秒とあらかじめ低い値に設定されているため
  変更する必要はほとんど無い。
   
 3.commit bitをセットする

  一番良い方法はcommitビットをセットすることです。
  その結果、Netscreenは新しいSPIの生成が完了した事を確認してから
  パケットを送ります。

  ※commit bitの詳細はRFC2408
  http://www.ietf.org/rfc/rfc2408.txt?number=2408

     >set ike initiator-set-commit
     >set ike responder-set-commit

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

改行コードについて

OS別改行コード

表. OS別改行コード

改行コード Hex C言語 採用OS/アプリ
CR+LF 0d 0a \r\n Windows / DOS
LF 0a \n Unix / Macintosh OS X 以降
CR 0d \r Macintosh OS 9 以前

※CR Carriage Return
タイプライターのキャリッジを左端に戻す
   (現在の入力位置を行頭(左端)に戻す)

※LF Line Feed
行送り (入力位置を一行進める)

■UNIXでの改行コード変換方法

・コマンド
    $ dos2unix  (DOS形式からUNIX形式への変換)
    $ unix2dos  (UNIX形式からDOS形式への変換)

・Perlを用いた処理

UNIX → Windows

$ perl -pe 's/\n/\r\n/' unixfile > winfile

UNIX → Macintosh

$ perl -pe 's/\n/\r/' unixfile > macfile

Win → UNIX

$ perl -pe 's/\r\n/\n/' winfile > unixfile

Windows → Macintosh

$ perl -pe 's/\r\n/\r/' winfile > macfile

Macintosh → UNIX

$ perl -pe 's/\r/\n/g' macfile > unixfile

Macintosh → Windows

$ perl -pe 's/\r/\r\n/g' macfile > winfile

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

« 2006年11月 | トップページ | 2007年1月 »