IP Messenger Exchange Server 取扱説明書



FAQ / TIPS

TIPS - トラブルシューティング

TIPS

BindAddr で IP アドレスを指定しなければなりませんか? - 別のポートで複数の Exchange Server を起動する - マルチホームホストの場合 - 自動起動させるには? - Verbose モードの見方は? - 未対応のプロトコル - エージェントが動的にホストリストを更新するには? - どの程度のネットワーク帯域が必要ですか?

BindAddr で IP アドレスを指定しなければなりませんか?

BindAddr に '0.0.0.0:2425' と指定する事で 0.2 以前のバージョンと同じように IP アドレスを指定しないで動作させる事も可能です。しかし推奨しません。

0.0.0.0 ( INADDR_ANY ) を BindAddr に指定して起動すると、以下のデメリットがあります。

  1. 自分でブロードキャストしたメッセージを自分で受信してしまう

    0.0.0.0 で起動した場合自分で送信したメッセージを受信した場合、自分からのメッセージか他のエージェントからのメッセージかどうか区別がつかないため、Exchange Server が Exchange Server に対してホストリストを送信してしまいます。
    実害はありませんが、無駄な動きです。

  2. どのネットワークインターフェイス ( IP アドレス ) でメッセージを送信するか分からない

    192.168.0.128 と 192.168.1.128 両方のネットワークインターフェイスがある場合に 0.0.0.0 で起動すると、どちらのインターフェイス ( socket ) でメッセージが送信されるか分かりません。
    エージェント側では Exchange Server の IP アドレスが、192.168.0.128 の場合もあれば 192.168.1.128 の場合もある事になってしまいます。



別のポートで複数の Exchange Server を起動する

バージョン 0.2 以降の Exchange Server はマルチポートに対応しておりますので、BindAddr を複数個設定する事で一つのサーバプロセスで十分動作します。しかし別のポート番号で複数起動する場合は、

1. ipmsgex.conf を別のファイル名でコピーする
2. コピーしたファイルのポート番号を書き換える
3. コピーしたファイルで Exchange Server を起動する。( -c オプション参照 )

で複数のサーバを起動することができます。

マルチホームホストの場合

0.2 以降のバージョンでは複数のネットワークインターフェイスを BindAddr で指定する事で同時に使用する事ができます。
複数のネットワークインターフェイスがある場合は、使用したい IP アドレスのインターフェイスを BindAddr
全て指定して下さい。

BindAddr に '0.0.0.0:2425' と指定する事で 0.2 以前のバージョンと同じように IP アドレスを指定しないで動作させる事も可能です。しかし推奨しません。

参照
BindAddr で IP アドレスを指定しなければなりませんか?

自動起動させるには?

Linux などの Unix系 OS の場合 - WindowsNT / Windows2000 などの Windows系 OS の場合

Linux などの Unix系 OS の場合

Linux などの OS の場合は、起動スクリプト rc.local に

ipmsgex.pl &

とすれば OS 起動時にバックグラウンドで実行されると思います。

WindowsNT / Windows2000 などの Windows系 OS の場合

FireDaemon ( http://www.firedaemon.com/ ) を利用する事で Win32 版をサービスとして起動する事が出来ます。

Windows2000 上で Ver. 0.09 で確認を行ないました。
WindowsXP の場合は FireDaemon の Ver.1.5 BRC2 を使用すれば WindowsXP でサービスとして使用できるようです。
( むなかたさまありがとうございます。 )

まず Exchange Server を単体で起動させて、正常に動作している事を確認して下さい。次に FireDaemon をダウンロードしてインストールを行なって下さい。( 私は v0.09c + UI v1.0R3 をダウンロードしました。 )

設定方法は GUI の方を使用すると簡単です ( FireDaemonUI v1.0R3 )。FireDaemon Serviceを起動したら、それぞれ項目をセットしてください。

項目名 設定値
Service Name IP Messenger Exchange Server
Service Description IP Messenger Exchange Server
Startup Type Auto
Application Working Directory Exchange Server をインストールしたディレクトリ
Application Executable ipmsgex.exe のフルパス
Application Options 必要に応じて設定


あとは必要に応じて設定して下さい。OK ボタンを押すとサービス一覧に IP Messenger Exchange Server が追加されていると思います。

開始させて正常に開始すれば大丈夫です。

Verbose モードの見方は?

以下が Verbose モードで起動した時に表示されるメッセージの例です。



recv : Sun Sep 21 01:06:40 2003
       192.168.0.2:2426 => 192.168.0.2:2500 : 4 : 6356992 : 52 bytes
       1:1064106413:Mikio Fukushima:MIKIO:6356996:mikio2426
       REJECT : IPMSG_RECVMSG
recv : Sun Sep 21 01:06:45 2003
       192.168.0.2:2426 => 192.168.0.2:2500 : 1 : 6356992 : 52 bytes
       1:1064106415:Mikio Fukushima:MIKIO:6356993:mikio2426
send : Sun Sep 21 01:06:45 2003
       192.168.0.2:2500 => 192.168.0.2:2426 : 3 : 0 : 58 bytes
       1:1064074003:admin:Exchange Server:3:Exchange Server:IPMsg
recv : Sun Sep 21 01:15:59 2003
       192.168.0.2:2428 => 192.168.0.2:2500 : 33 : 0 : 17 bytes
       1:33:mikio:PC:33:
       REJECT : IPMSG_RECVMSG

未対応のプロトコル

以下のコマンドとオプションフラグには未対応です。詳しくは IP Messenger のソースにある Protocol.txt をご覧ください。

基本的にファイル添付と暗号化が未対応です。

オプション 説明
コマンド
IPMSG_DELMSG 封書破棄通知


IPMSG_GETFILEDATA 添付ファイル通知(TCP で使用)
IPMSG_RELEASEFILES 添付ファイル破棄
IPMSG_GETDIRFILES 添付階層ファイル要求


IPMSG_GETPUBKEY RSA 公開鍵取得
IPMSG_ANSPUBKEY RSA 公開鍵応答


オプションフラグ
IPMSG_SERVEROPT サーバー(予約)


IPMSG_PASSWORDOPT 錠前
IPMSG_BROADCASTOPT ブロードキャスト(同報)
IPMSG_MULTICASTOPT マルチキャスト(複数選択)
IPMSG_NEWMUTIOPT ニューバージョンマルチキャスト(予約)
IPMSG_NOLOGOPT ログに残さない(ことを推奨)


IPMSG_FILEATTACHOPT ファイル添付
IPMSG_ENCRYPTOPT 暗号


IPMSG_RETRYOPT 再送フラグ(HOSTLIST取得時に使用)


暗号拡張部用フラグ
IPMSG_RSA_512 拡張部に組み合わせを hex 表現で使用
IPMSG_RSA_1024 拡張部に組み合わせを hex 表現で使用
IPMSG_RSA_2048 拡張部に組み合わせを hex 表現で使用
IPMSG_RC2_40 拡張部に組み合わせを hex 表現で使用
IPMSG_RC2_128 拡張部に組み合わせを hex 表現で使用
IPMSG_RC2_256 拡張部に組み合わせを hex 表現で使用
IPMSG_BLOWFISH_128 拡張部に組み合わせを hex 表現で使用
IPMSG_BLOWFISH_256 拡張部に組み合わせを hex 表現で使用
IPMSG_SIGN_MD5 拡張部に組み合わせを hex 表現で使用


添付ファイル拡張用ファイル種類
IPMSG_FILE_REGULAR fileattr下位8bit
IPMSG_FILE_DIR fileattr下位8bit
IPMSG_FILE_RETPARENT fileattr下位8bit
IPMSG_FILE_SYMLINK fileattr下位8bit
IPMSG_FILE_CDEV fileattr下位8bit
IPMSG_FILE_BDEV fileattr下位8bit
IPMSG_FILE_FIFO fileattr下位8bit
IPMSG_FILE_RESFORK fileattr下位8bit


添付ファイル拡張用ファイル属性
IPMSG_FILE_RONLYOPT fileattr上位24bit
IPMSG_FILE_HIDDENOPT fileattr上位24bit
IPMSG_FILE_EXHIDDENOPT fileattr上位24bit
IPMSG_FILE_ARCHIVEOPT fileattr上位24bit
IPMSG_FILE_SYSTEMOPT fileattr上位24bit


添付ファイル拡張用ファイル属性
IPMSG_FILE_UID
IPMSG_FILE_USERNAME
IPMSG_FILE_GID
IPMSG_FILE_GROUPNAME
IPMSG_FILE_PERM
IPMSG_FILE_MAJORNO
IPMSG_FILE_MINORNO
IPMSG_FILE_CTIME
IPMSG_FILE_MTIME
IPMSG_FILE_ATIME
IPMSG_FILE_CREATETIME


IPMSG_FILE_CREATOR
IPMSG_FILE_FILETYPE
IPMSG_FILE_FINDERINFO


IPMSG_FILE_ACL
IPMSG_FILE_ALIASFNAME
IPMSG_FILE_UNICODEFNAME


エージェントが動的にホストリストを更新するには?

エージェントの設定でも書きましたが、エージェントの設定で DialUp 接続のチェックをいれるとホストリストが動的に更新されます。

どの程度のネットワーク帯域が必要ですか?

たとえばエージェント1台あたりの情報量として、名前やニックネーム・IP アドレス等の情報が 60Bytes とすると 300台で約 18KBytes の情報をサーバがエージェントに送信する事になります。
128Kbps ( 16KBytes/sec ) だとすると1秒で、1台のホストに対してしかホストリストの送信が出来ません。
どの位の帯域が必要なのかは、環境やセグメントごとの所属エージェント数で変わってきてしまうので明確な数字を出すことは出来ませんので上記の数字を参考をみて考えてみてください。

IP Messenger for Win32 の場合、入場してからホストリストを受け取るまでのタイムアウトがデフォルトでは 3秒に設定されています。もしこの 128Kbps のネットワーク環境ですと 3台のエージェントにしかホストリストを送ることが出来なくなってしまいます。
ホストリストが届きません。もしくは一部だけしか届きません」を参照してください。

トラブルシューティング

エージェントがリストに表示されるようになりましたが、メッセージが送信できませんでした。 - 起動しても何も表示されません - ホストリストが届きません。もしくは一部だけしか届きません

エージェントがリストに表示されるようになりましたが、メッセージが送信できませんでした。

エージェントと Exchange Server の間などに NAT ルータなどが入っていませんか?
NAT ルータが入っているとホストリストを受信することは出来ますが、エージェント同士のメッセージ送信が出来ない事があります。
つまり NAT ルータなどが間に入っていると、NAT ルータがメッセージを一度受け取ったあと適当なポートで相手に転送するので毎回ポート番号が変わってしまいます。

StaticPort 機能を使うと解消されるかもしれません。

起動しても何も表示されません

正常です。通常は何も表示されません。
IP Messenger を起動して Exchange Server の動作を確認してください。

起動オプションで -v を付けて起動するとメッセージの送受信状況を見る事が出来ます。

ホストリストが届きません。もしくは一部だけしか届きません

まったくホストリストが届かない場合は、ルータや PC のパーソナルファイアウォール等で UDP 2425 が塞がれていませんか。エージェントを使用している PC にインストールされているソフトを確認してみてください。
また起動オプションで -v を付けて起動させ、Exchange Server がホストリストを送信している事を確認して下さい。

一部だけしか届かない場合は、フラグメントが原因の場合があります。
送信するホストリストのサイズが大きいと、フラグメントを起こしルータや PC のパーソナルファイアウォール等で、ホストリストが切断、もしくは破棄されてしまう事があります。
ルータやファイアウォール・VPN 装置などで、フラグメントを起こしたパケットを破棄しないように設定してみてください。

またネットワーク帯域が細いのでエージェントがタイムアウトをしてしまう事があります。この場合は Exchange Server を複数台用意して運用するか、エージェントのタイムアウト時間を伸ばす必要があります。
※IP Messenger for Win32 の場合タイムアウトはレジストリ \HKEY_CURRENT_USER\Software\HSTools\IPMsg\ListGetMSec に設定されているます。( 単位 msec )


Last Updated : 2004-3-8

Copyright © 2004 福島 幹雄. All rights reserved.
http://www.cybercom.jp/~mikio/