- PR -

メールサーバの処理を他のサーバへ委譲

投稿者投稿内容
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-07-04 00:01
こんばんわ.
引用:

Jumpin' Jack Flashさんの書き込み (2007-07-03 17:39) より:

外部からのpop3,imapへのパケットはメールサーバに流しています。
hosta.hoge.jpというドメインへのアクセスは、ホストAのDovecotへ、
hostb.hoge.jpというドメインへのアクセスは、ホストBのDovecotへ、
というように処理を委譲(Proxy)することはできないでしょうか?


MRA がどんな処理をしているか想像して書いていますか?
どんな仕様を期待してそのような処理を企図しているのでしょうか?
利用者が2つの domain に分かれていて,
でも MRA への接続は単一の server でやりたいとか?
delegate で port を個別に設定して,proxy させるとかではダメですか?

smtp に話を元に戻しますが,
外部からの smtp の流れと内部からのそれとは事情が異なると思います.
外部からは単純に「メールサーバ」が domain 毎に
hosta/hostb へ振り分ければよろしいのでは?
内部からは利用者の MUA の設定で利用する smtp server を
それぞれ hosta/hostb にするか,
いっそ全て「メールサーバ」に統一してしまうだけで良いと思います.

局所的に「これの設定だけで実現できないか?」という考え方は
しない方が良いと思いますよ.
ひとつずつやりたいことを列挙して,個別に手段を考えつつ,
環境を浮き彫りにしていくことをお奨めします.

以上,ご参考までに.
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-07-04 12:34
局所的な話だけではなく、全体的な仕様を書かなければ、気の
効いた回答も得られなければ、最適なシステムにもならない的
なご意見をいただきましたので、書かせていただきます。

だいたいこのような話だと思ってください。

当方のネットワーク内に、別組織管理のサーバを置きます。
ホストA(hosta.hoge.jp):A事業部管理
ホストB(hostb.hoge.jp):B事業部管理

ルータとメールサーバ(mail.hoge.jp)は当方の管理です。

ただし、グローバルIPアドレスは1つしかありません。
ポート番号を個別に設定するのは、今のところ考えたくあり
ません。別組織管理のサーバは最大16台程度になる可能性が
あるためです。
※smtp, smtps, submission, pop3, pop3s, imap, imaps
 7 × 16 = 112個のポートを空けなければなりません。

現在、MUAのメールサーバの設定は、mail.hoge.jpになります。
これで、メールサーバでの送受信はできています。

今回の要件は、
A事業部のユーザーについては、ホストA(hosta.hoge.jp)で、
B事業部のユーザーについては、ホストB(hostb.hoge.jp)で
送受信したいということです。

そこで、
MUAのメールサーバの設定を、hosta.hoge.jp、hostb.hoge.jp
にすることにより、それぞれ、ホストA(hosta.hoge.jp)、
ホストB(hostb.hoge.jp)に処理を委譲できたらいいなと思い
ました。
※ユーザーアカウントにより、振り分けたいわけではなく、
 MUAに設定したサーバ名により、振り分けたいです。

本件に取り組む前に、ウェブサーバでも同じ用件がありまして、
当方管理のウェブサーバで、ホスト名ベースの VirtualHostを
設定し、ホストA(hosta.hoge.jp)、ホストB(hostb.hoge.jp)
へProxyすることにより、実現できました。
同じようなことが、メールサーバ(Postfix、Dovecot)でも
できないかと思い、質問させていただきました。

よろしくお願いいたします。
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-07-04 14:20
引用:

未記入さんの書き込み (2007-07-03 15:54) より:
http://tomo.ac/goodstream/mailservice/postfix/gatewaymx.html
こんな感じでしょうか...



この設定で試してみましたが、
今のところ、こちらの意図する動きにはなっていません。
まだ、調査の余地はあるので、後ほど改めて報告させて
いただきます。

Dovecotのsession proxyingは、まだ完全に理解ができて
いませんが、
・ユーザーアカウントにより、振り分けるのではなく、
(mr.boo@hosta.hoge.jpとmr.boo@hostb.hoge.jpは別人)
 MUAに設定したサーバ名により、振り分けたいです。
・DBを使うのは、ちょっと。
といった感想です。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-07-04 16:30
引用:

Jumpin' Jack Flashさんの書き込み (2007-07-04 14:20) より:
・ユーザーアカウントにより、振り分けるのではなく、
(mr.boo@hosta.hoge.jpとmr.boo@hostb.hoge.jpは別人)
 MUAに設定したサーバ名により、振り分けたいです。


smtpは宛先ドメイン(rcptto)で判断できますが、pop/imapの場合は「MUAに設定したサーバ名」では無理ではないですか?サーバ名→IPアドレスにしてから(POP3であれば)ポート#110に繋いでいるだけだと思います。httpと違ってUAの情報をサーバに渡す部分はありません。渡すとすればアカウントをmr.boo@hosta.hoge.jpとかmr.boo%hosta.hoge.jpにしてしまうしかないと思います(そこから先の振分けは私もやったことがないんのでわかりません・・)。

∴ 手っ取り早いのはPOP3/IMAPのポート番号を分けてしまうことでは?

(蛇足)
webサーバへのアクセスの場合は、httpリクエストの中に要求先ホスト名が記述されている・・というのはご存知ですよね?これでVirtualHost(name_based)が可能なわけですけど。

[ メッセージ編集済み 編集者: shimix 編集日時 2007-07-04 16:37 ]
かつ
ベテラン
会議室デビュー日: 2006/04/04
投稿数: 56
投稿日時: 2007-07-06 12:24
私だったら、
(1)Webメールを使う
(2)ホストA,ホストBのメールBOXをNFS共有にして、メールサーバでマウント。
  メールサーバへpop3/imap4アクセスすればマウントしたホストA,ホストBの
  メールBOXにアクセスするようにする。
のどちらかにするかな。
但しメールBOX形式はMaildir形式で。
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-07-09 22:20
引用:

kazさんの書き込み (2007-07-04 00:01) より:
smtp に話を元に戻しますが,
外部からの smtp の流れと内部からのそれとは事情が異なると思います.
外部からは単純に「メールサーバ」が domain 毎に
hosta/hostb へ振り分ければよろしいのでは?


この方法を教えていただけますでしょうか。

引用:

未記入さんの書き込みより:
http://tomo.ac/goodstream/mailservice/postfix/gatewaymx.html
こんな感じでしょうか...


この方法を試しましたが、うまく配送されません。

設定を公開したいのですが、長すぎますので、どのあたりの
設定を公開すればよいか、教えていただけますでしょうか。

よろしくお願いいたします。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2007-07-09 22:20 ]
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-07-09 22:50
こんばんわ.
引用:

Jumpin' Jack Flashさんの書き込み (2007-07-09 22:20) より:
引用:

kazさんの書き込み (2007-07-04 00:01) より:
smtp に話を元に戻しますが,
外部からの smtp の流れと内部からのそれとは事情が異なると思います.
外部からは単純に「メールサーバ」が domain 毎に
hosta/hostb へ振り分ければよろしいのでは?


この方法を教えていただけますでしょうか。


mailertable を用いたらいかがでしょう?
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-07-09 23:46
引用:

kazさんの書き込み (2007-07-09 22:50) より:
mailertable を用いたらいかがでしょう?


つまり、
引用:

未記入さんの書き込みより:
http://tomo.ac/goodstream/mailservice/postfix/gatewaymx.html
こんな感じでしょうか...


この方法ですね。

# vi /etc/postfix/transport
----
hosta.hoge.jp relay:[hosta.hoge.jp]
----
#relayではなく、smytpでもやってみました。

# postmap /etc/postfix/transport

# vi /etc/postfix/main.cf
----
relay_domains = hosta.hoge.jp
transport_maps = hash:/etc/postfix/transport
----

# /etc/init.d/postfix reload

と設定しました。

しかし、ホストAへ配送されることはなく、メールサーバで
処理されます。

どのあたりの設定不備が考えられますでしょうか?

よろしくお願いいたします。

スキルアップ/キャリアアップ(JOB@IT)