サーバAからサーバBを経由してメールを送信するのを「リレー」といいますが、sendmailでリレーを可能にするための方法をご紹介します。 サーバAからの転送設定はすでに済ませているとしますので、サーバBでの設定作業となります。
現在の設定を確認する
ローカル( 127.0.0.1 )からのみSMTPを受け付ける設定になっていることを確認してみます。
# netstat -an | grep 25 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
ローカル以外からもSMTPを受けつける
ローカル以外からもSMTPを受けつけるように設定を変更します。
# cp -p /etc/mail/sendmail.mc /etc/mail/sendmail.mc.20141001 # vi /etc/mail/sendmail.mc dDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ↓ dnl を先頭に付けてコメント化 dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
これで 127.0.0.1 からのみ受けつける制限が外れますので、sendmailを再起動して全てのホストからSMTPを受けつけるようになっていることを確認してみます。
# /etc/rc.d/init.d/sendmail restart # netstat -an | grep 25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
リレーを許可するIPを指定する
最後にリレーを許可するIPを指定します。これを入れないとリレーされないので要注意です。
# cp -p /etc/mail/access /etc/mail/access.20141001 # vi /etc/mail/access 下記を追記 xxx.xxx.xxx.xxx RELAY # makemap hash /etc/mail/access.db < /etc/mail/access # /etc/rc.d/init.d/sendmail restart
これでリレー設定は完了です。