web-dev-qa-db-ja.com

sendmailをマルチドメインリレーサーバーとして構成する

内部で異なるOSを実行しているいくつかの異なるサーバーがあり、それぞれが特定のドメインの電子メールを処理します。これらの公開IPは1つしかないため、CentOSベースのサーバーを構成して、外部からの特定のドメインの着信メッセージのみを受け入れ、その後、それらのメッセージを適切な内部に中継したいと思います。受信者ドメインに基づくサーバー。

これを達成するためにDNSをハックしたくありません。適切な内部アドレスを指すMXエントリを使用して、CentOSサーバー上にゾーンを簡単に作成できることはわかっていますが、それは少し厄介です。各ドメインのゾーンの公開されているバージョンを引き続き使用するには、そのマシンが必要なので、これはオプションではありません。ちなみに、すべての適切なMXエントリは、すでに私の公開IPアドレスを指しています。

スマートテーブルを少し読んだところ、送信者のドメインのみが検査されているようです。私はこれについて間違っているかもしれないので、それを除外していません。

そのような解決策はSendmailで可能ですか?もしそうなら、どのような構成オプションと機能でこれを行うことができますか?サンプルをいただければ幸いです。

2
Brian Cline

私たちはまさにこれを行います。

2つの構成ファイルにエントリを作成する必要があります。

まず、中継するドメインを/etc/mail/relay-domainsに1行に1つずつ入力します。バリエーションを含めます。

次に、/etc/mail/mailertableで、そのドメイン宛てのメールをどう処理するかをsendmailに指示する必要があります。

例:

/etc/mail/relay-domains

exampledomain.com
otherdomain.com

/etc/mail/mailertable

exampledomain.com    relay:mailboxes.exampledomain.com

mailertableへの変更が有効になるように、/etc/mailでmakeを実行することを忘れないでください。

ドメインのエントリをmailertableに入れないと、DNSに問い合わせて、「より良い」MXに送信しようとすることに注意してください。 DNSが何の役にも立たない場合、DNSはメールをローカルに配信しようとします(/etc/mail/local-Host-namesを医者にしない限り、失敗します)。

3