カテゴリー
dovecot FreeBSD postfix Software

Postfix + Dovecot でSNIを使って複数のサイト証明書を設定して使う方法

未来の自分のためのメモ

Postfix や Dovecot がSNI対応したので、自分の好きなメールサーバー名でメール設定ができるようにしてみた。

目的

現在 mail.example.net のホスト名をメール設定に使っている環境で、mail.example.com, smtp.example.com, pop.example.com, imap.example.com 等の異なるドメイン名のホスト名を複数追加してメール設定に使えるようにしたい。

カテゴリー
postfix Software

Mail server is backup MX

自分のためのメモ
大抵の人には役に立たない情報です。

とある事情で、あるドメイン名の全部のユーザーのメールの送信のためだけのsmtpサーバーが必要になって、すでに稼働しているposftfix adminのvirtual domain環境にそのドメイン名を追加登録して全ユーザーの登録をしてssl/smtp-auth なsmtpとして使った時のお話。

カテゴリー
postfix

Outbound Port 25 Blocking

こっちに来てからしばらくbigpondのダイアルアップを使っていたが昨日からADSL環境に変わりました。そうしたら突然自分のSMTPサー バー経由でメールが送れなくなったのでADSL回線ではOutbound Port 25 Blocking(OP25B)を行なっていることがわかりました。

そこでpostfixでサブミッションポートの設定をしました。

要するに25番ポートでSMTPを叩くのではなく別のポート(587)でSMTPを叩いて25番ポートのブロックを回避するというものです。当然その別のポートは素のSMTPではなくSMTP-AUTHとかでユーザー認証を行なうように設定されていないといけません。

自分のところのpostfixでは元々SMTP-AUTHで使っていたので単にサブミッションポートを使えるようにすればOKでした。

/usr/local/etc/postfix/master.cf に対し、

submission inet n       -       n       -       -       smtpd
  -o smtpd_etrn_restrictions=reject
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

の設定を行なって postfix reload でOK。

あとは、メールクライアントの SMTPポートを25から587に変更すればOK。

カテゴリー
FreeBSD postfix

FreeBSD (postfix: virtual_maps)

postfixでvirtual domainを使えるようにする。

/usr/local/etc/postfix/main.cf のmydestinationにvirtual domainで使いたいドメイン名を追記する。具体的には、

mydestination = $myhostname, localhost.$mydomain $mydomain
 ほげほげドメイン1
 ほげほげドメイン2
 ほげほげドメイン3
 ほげほげドメイン4

と行頭にスペースを入れたドメイン名リストを追記すればOK。さらに、main.cfに、

virtual_maps = hash:/usr/local/etc/postfix/virtual

を追記。

/usr/local/etc/postfix/virtualというファイルを下記のように作る。

hoge1@ほげほげドメイン1(tab)受け取るアカウント1
hoge2@ほげほげドメイン2(tab)受け取るアカウント2
hoge3@ほげほげドメイン3(tab)受け取るアカウント3
hoge4@ほげほげドメイン4(tab)受け取るアカウント4

そんでもって、

# postmap /usr/local/etc/postfix/virtual
# postfix reload

で使えるようになる。

カテゴリー
FreeBSD postfix

FreeBSD (postfix: smtpd_client_restrictions)

送信元のIPアドレスによる制限」を行う。

/usr/local/etc/postfix/main.cf に下記を追加

###############
# sender restriction
#
smtpd_client_restrictions = permit_mynetworks check_client_access  hash:/usr/local/etc/postfix/reject_client

/usr/local/etc/postfix/reject_client を下記のように作成。

IPアドレス1(tab)REJECT
IPアドレス2(tab)REJECT
IPアドレス3(tab)REJECT

DBファイル作成してpostfixを再起動

# postmap /usr/local/etc/postfix/reject_client
# postfix reload