複数のReceiver/Senderコンポーネントの同時使用

複数のReceiverおよび/またはSenderコンポーネントを同時にdrweb-maildに接続することが可能です。

この機能は以下の目的で使用されます。

複数のMTAまたはSMTPプロキシとの同時インタラクションを可能にする為
ReceiverSenderコンポーネントに対して別々の設定を可能にする為(それにより、モニターされるインターフェースに対して異なる設定の使用が可能になります)
1つのMTAから別のMTAへのメッセージのリダイレクトを可能にする為(ルーティングの為)

このような同時使用を可能にする方法は以下のとおりです。

1.ReceiverグループおよびSenderグループの各コンポーネントにユニークなIDを割り当てます(ReceiverのいくつかのIDはSenderのいくつかのIDと同じ場合がありますが、同じIDを持つReceiverのペアは存在しません)。
2.設定情報をどのように受信するか、それぞれのコンポーネントに知らせます。
3.Receiverによって送信された各メッセージにコンポーネントのユニークなIDをタグとして割り当てます。
4.メッセージを処理した後、drweb-maildReceiverのIDと同じIDを持つ利用可能なSenderを検索します。そのようなSenderが見つからない場合、常に利用可能であるデフォルトのSender(ユニークなIDが指定されていない)にメッセージを送信することが出来ます。
5.利用可能なSenderのリストは起動時に作成され、SIGHUPシグナルを受信するとリフレッシュされます。
6.drweb-notifierによって作成されたメッセージのルーティングはDr.Web MailD設定ファイル[Notifier]セクションのMsgIdMapパラメータによって管理されます。このパラメータによって、Receiverからのメッセージに対するSenderレポートをどこに送信するかを定義することが出来ます。

ReceiverSenderのユニークなIDは--unique-idコマンドラインパラメータ経由で設定されます。コンポーネントがこのパラメータで起動されると、%var_dir/msgs/{in|out}ディレクトリ内にメッセージキューのためのサブディレクトリをいくつか作成し、ディレクトリ内にはSenderに対する特別なUNIXソケットが作成されます。

コンポーネントの2番目のコピー(例:drweb-receiver)が起動されると、追加的な調整を実行する必要があります。つまり、このコピーが設定情報をどのように受け取るかを指定する必要があります。

コンポーネントが設定情報を得るには2つの方法があります。

*.confファイルの新しいコピーを作成する
現存する*.confファイルのコピーを変更する(こちらの方が簡単ですが、柔軟性は劣ります)

現存する*.confファイルを変更する方法は以下のとおりです。

Dr.Web MailD *.amcファイルに、コンポーネントの新しいコピーに関する情報を加えます。

例:

drweb-receiver2 General, Logging, /MailDesk/Clients, /_Rules, /Maild/ProtectedNetworks, /Maild/ProtectedDomains, /Maild/IncludeSubdomains, SASL, Receiver2

drweb-receiver2Dr.Web Agentとのインタラクションに使用するコンポーネントの新しい名前で、Receiver2は設定ファイル内の対応するセクションの新しい名前です。

その他のパラメータはオリジナルコンポーネントの設定セクションからコピーする必要があります。*.amcファイルのシンタックスに関する詳細は、前出のDr.Web Agentの章をご覧ください。

コンポーネント設定のメインセクションを*.confファイルにコピーします。このセクションをリネームし(前のステージで設定した名前を指定してください)、2番目のコンポーネントの新しいセクション内にある他の設定全てを変更します。
新しい設定情報を受け取る為にDr.Web Agentを起動または再起動してください。
以下のコマンドラインパラメータを指定して新しいコンポーネントを起動します。
o--unique-id id - idはコンポーネントのユニークなIDです。
o--component name - nameDr.Web Agentと連携するために新しいコンポーネントが使用する名前です(上の例ではdrweb-receiver2)。
o--section - コンポーネントのメインセクションの新しい名前です(上の例ではReceiver2)。

例:

DEFAULT_BIN_PATH/drweb-receiver --unique-id id1 --component drweb-receiver2 --section Receiver2

DEFAULT_BIN_PATH/drweb-sender --unique-id id1 --component drweb-sender2 --section Sender2

*.confファイルの新しいコピーを作成するのはもっと難しくなりますが、設定ファイルのコンポーネントのメインセクションにあるパラメータだけでなく全てのパラメータを調整することが出来ます。

*.confファイルのコピーを作成する方法は以下のとおりです。

*.confファイルのコピーを作成し、適宜パラメータをセットアップします(セクションのリネームは必要ありません)。
新しい*.amcファイルを作成し、新しいコンポーネントに関する情報のみを入れてください。前のステージで作成した新しい*.conf設定ファイルへのパスも指定する必要があります。
新しい設定情報を受け取る為にDr.Web Agentを起動または再起動してください。
以下のコマンドラインパラメータを指定して新しいコンポーネントを起動します。
o--unique-id id - idはコンポーネントのユニークなIDです。
o--component name - nameDr.Web Agentと連携するために新しいコンポーネントが使用する名前です(上の例ではdrweb-receiver2)。

:

DEFAULT_BIN_PATH/drweb-receiver --unique-id id2 --component drweb-receiver2

DEFAULT_BIN_PATH/drweb-sender --unique-id id2 --component drweb-sender2

どちらの方法でも、新しいコンポーネントを使用するためにDr.Web Monitorをセットアップすることが出来ます。そのためにはDr.Web MailD*.mmcファイルに、対応するライン(新しいコンポーネントの起動に関する)を加えてください。*.mmcファイルのシンタックスに関する詳細は上記Dr.Web Monitorの章をご覧ください。