ファイアウォールの内側での sendmail の構成
-
09-06-2019 - |
質問
ファイアウォールの内側のネットワーク上にサーバーをセットアップしています。このコンピュータ上のプログラムが sendmail を使用して任意の電子メール アドレスに電子メールを送信できるようにしたいと考えています。このネットワーク上では SMTP サーバー (mailrelay.example.com と呼びます) が実行されており、これがファイアウォールを介して送信電子メールを受信することになっています。
では、すべてのメールが mailrelay.example.com 経由で送信されるように sendmail を設定するにはどうすればよいでしょうか?グーグルで検索してもまだ答えは得られず、sendmail の設定が非常に複雑で煩わしいということだけが分かりました。
解決
@エリ:sendmail.cf はマクロ コンパイラによって生成されるため、通常は直接変更することはお勧めできません。
/etc/mail/sendmail.mc を編集して次の行を含めます。
define(`SMART_HOST',`mailrelay.example.com')dnl
sendmail.mcマクロ構成ファイルを変更した後、sendmail構成ファイルを生成するために再コンパイルする必要があります。
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
そして、sendmail サービス (Linux) を再起動します。
# /etc/init.d/sendmail restart
スマートホストを設定するだけでなく、名前解決構成を無効にして、sendmail を非標準ポートに移行したり、デーモン モードを無効にしたりすることもできます。
名前解決を無効にする
火災壁のネットワーク内またはネットワークアドレス変換(NAT)を使用しているサーバーには、DNSまたはNISサービスが利用できない場合があります。これにより、sendmailに問題が発生します。デフォルトでDNSを使用するため、利用できない場合はMailqでこのようなメッセージが表示されます。
host map: lookup (mydomain.com): deferred)
SendMailが使用できる適切なDNSまたはNISサービスをセットアップする準備ができていない限り、この状況では、 /etc /hostsファイルを使用して実行する名前の解像度を構成します。これは、「service.switch」ファイルを有効にし、次のようにファイルごとに解像度を指定することによって行われます。
1:sendmail edit /etc/mail/sendmail.mcのservice.switchを有効にして、行を含めます。
define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl
2:ファイルのservice.switchを構成または変更または変更する/mail/service.switchを作成して、名前解決のために/etc/hostのみを参照してください。
# cat /etc/mail/service.switch
hosts files
3:この設定を有効にするには、sendmail.mc を再コンパイルし、sendmail を再起動します。
sendmail を非標準ポートに変更するか、デーモン モードを無効にします。
デフォルトでは、sendmail はポート 25 で待機します。このポートを変更したり、さまざまな理由でSendmailデーモンモードを無効にしたりすることもできます。- 有名なポートの使用を禁止するセキュリティポリシーがある場合 - 標準ポートの同じホストで別のSMTP製品/プロセスが実行される場合 - SMTP経由でメールを受け入れたくない場合は、 sendmailを使用して送信します
1:sendmail を非標準ポートを使用するように変更します。/etc/mail/sendmail.mc を編集し、次の行の「ポート」設定を変更します。
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
たとえば、sendmail にポート 125 を使用させるには:
DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')
これには、sendmail.mc を再コンパイルし、sendmail を再起動する必要があります。
2:または、Sendmailデーモンモードを完全に無効にする(Linux)編集/sysconfig/sendmailを編集し、「デーモン」設定を次のものに変更します。
DAEMON=no
この変更を行うには、sendmail を再起動する必要があります。
他のヒント
http://www.elandsys.com/resources/sendmail/smarthost.html
Sendmail スマートホスト
Smarthostは、発信メールが中継されるホストです。一部のISPSは、発信SMTPトラフィック(ポート25)をブロックし、ユーザーにISPのメールサーバーを介してすべてのメールを送信する必要があります。SendMailは、ISPのメールサーバーをスマートホストとして使用するように構成できます。
これを設定する方法については、リンク先の記事を参照してください。
@エスポ:どこから始めればよいかについて素晴らしいアドバイスをいただきありがとうございます。既存の設定を使用してこの小さな変更を加えるのではなく、最初に使用するために sendmail を設定していれば、あなたのリンクはより良くなったでしょう。しかし、「SmartHost」で検索することを知ってから、もっと簡単な方法を見つけました。
/etc/mail/sendmail.cf ファイルを編集して変更するだけで済みました。
DS
に
DSmailrelay.example.com
それからsendmailを再起動するとうまくいきました。