- ベストアンサー
PostfixとDovecotの使い分けとDMZ内のMTAサーバの設定方法について
- PostfixとDovecotは、バーチャルドメインの設定に使用されます。共有ドメインは複数のドメインでメールを共有し、バーチャルエイリアスはメールアドレスのエイリアスを作成し、バーチャルメールボックスは個別のメールボックスを作成します。
- DMZ内にMTAサーバを構築し、ローカルLAN上にあるMTA+POPサーバを構築する場合、外→内のメールはDMZ内のMTAサーバで受け取り、ローカルのMTAに転送します。内→外のメールはローカルのMTAから直接外へ送信します。コンフィグファイルのrelayhostとmydestinationに必要な設定を記述します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この回答ではバーチャルドメインとしてexample.comとexample.netを扱うものとする。 > 1点目 共有ドメインというのはよく分からないが、ymoshimoshi@example.com宛とymoshimoshi@example.net宛のメールが同じメールボックスに入るという意味じゃないかな。複数ドメインを扱うのでなければ考える必要はない。 バーチャルエイリアスはエイリアスのバーチャルな奴で、ymoshimoshi@example.comに来たメールをymoshimoshi@example.netやadmin@example.comに転送するものだ。 バーチャルメールボックスは、OSユーザとは独立したメールボックスの事で、代表OSユーザなどの権限でメールをディスクに保存する。あまりよろしくない例だがCentOS6でnobody(uid=99)を使う例を示すと、main.cfには virtual_minimum_uid = 99 virtual_uid_maps = static:99 virtual_gid_maps = static:99 virtual_mailbox_base = /var/vmailbox virtual_mailbox_domains = example.com example.net virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_alias_maps = hash:/etc/postfix/virtual などとすればよいだろう。/etc/postfix/vmailboxには ymoshimoshi@example.com example.com/ymoshimoshi/Maildir/ ymoshimoshi@example.net example.net/ymoshimoshi/Maildir/ などと記述してpostmapコマンドでハッシュにする。/etc/postfix/virtualも同じ。ここでvmailboxに ymoshimoshi@example.com example.com/ymoshimoshi/Maildir/ ymoshimoshi@example.net example.com/ymoshimoshi/Maildir/ などとするのが共有ドメインという意味なのではなかろうか。ちなみに、上のような設定でymoshimoshi@example.com宛のメールは/var/vmailbox/example.com/ymoshimoshi/Maildir/newにnobody:nobody権限で保存される。 > 2点目 my.cnfはMySQLサーバーの設定ファイルじゃないか。 DMZ側は外→内のメールの転送しかしないサーバになるため、relayhostに内側のサーバーを宛てておけばよいだろう。 ローカルLANのmain.cfのmydestinationにはexample.comやexample.comには記述しない。そうするとバーチャルメールボックスが使えなくなるからだ。変わりにvirtual_mailbox_domainsに記述する。なお、バーチャルエイリアスとバーチャルメールボックスに同じドメインを使いたい場合、virtual_mailbox_domainsにのみそのドメインを記述し、virtual_alias_domainsには記述してはいけない。 以下、余談 個人的には内→外のメールもDMZメールサーバーを経由すべきだと思うが、その場合はDMZメールサーバーはrelayhostではなくtransport(8)を用いてメールの転送を制御する事になる。 また、DMZメールサーバーはメール受信の拒否設定(存在しないメールボックス宛のメールを拒否するなど)をきっちり行っておくべきだ。またはキャッチオールメールボックスを作って存在しないメールボックス宛のメールは全てそこに溜めるか。 バーチャルメールボックスをメインとして運用する場合、ローカルメールの取り扱いについて検討しておく方が良いだろう。ローカルメールとは、LogWatchやtripwireなどのローカルからpickupされるメールで、これの受け取り手がないとローカルのroot宛にずっと溜まったままになるなどディスクを圧迫するなどが起こる。 DovecotはPostfixに比べたらuserdbとpassdbをちょこちょこ調整すれば良いだけなので楽チンだが、かと言って侮ってはいけないのでこちらも頑張りましょう。
お礼
ご丁寧に教えて頂きありがとうございます。