2009/09/12

postfix をインストール

やっと、メールサーバの設定が出来るようになったので、postfix を入れてみました。

うちのネットワーク構成

<The Internet> <-> Broadband Router <-> <DMZ Network> <-> Gateway <-> <LAN> <-> Server

つまり、postfix は、Gateway と Server に入れて、
Gateway では、The Internet からのメールを受信し Server へ転送と、内部からの送信メールの配送。
Server では、Gateway からのメールの受信/ローカル配送と、内部から送信されたメールを Gateway へ配送を依頼。
と言うことをさせるわけだ。

ついでに、Gateway では、
SMTP-AUTH で認証されたクライアントからは、外部宛のリレーの許可。
バーチャルドメイン2つのホスティング。
もやる。
もっとも、バーチャルドメイン宛のメールも、Server でローカル配送するわけで、Server にもバーチャルドメインの設定は必要。

色々設定例を探したけれど、一番役に立ったのは、postfix の
BASIC CONFIGURATION README
SASL README
STANDARD CONFIGURATION README
VIRTUAL README
でした。
付属ドキュメントは読みましょう > σ(__;

設定 Tips は、これが全てでした。
なお、例に従って、Gateway では、ローカル配送を禁止しました。
なので、root 宛に来る security report などは、Server に転送されてきます。

あ、Cyrus-SASL support を有効にしましたが、これの設定は、情報が錯綜していますが、
平文認証で、PAM などで認証するなら
/usr/local/lib/sasl2/smtpd.conf:
pwcheck_method: saslauthd
mech_list: plain login
などとし、Challenge/Response 認証をするなら
/usr/local/lib/sasl2/smtpd.conf:
  pwcheck_method: auxprop
  auxprop_plugin: sasldb
  mech_list: cram-md5 digest-md5
などとやるべし。


これで一通りの設定終わり。
レジストラが提供している DNS をちょちょいといじって MX レコードを設定して、
外部からのメールがきちんとローカル配送できて、
内部からは、問題なくメールが配送できたので、
今度は、外部からのリレーチェック。

・・・smtp サーバが反応しませんでした。
おんやぁ?
色々試して、パケットフィルタログ見て、おかしくない。。。
パケットキャプチャしたら、接続が来ていませんでした。

・・・OP25B か!
submission ポートに切り替えて、再試行。
"STARTTLS を実行して下さい!"
TLS 設定してないけどな。。。
TLS 接続で再試行。
"STARTTLS は、サポートされません"
デスヨネー。

色々探したら、ありました。
 master.cf:
  submission inet n       -       n       -       -       smtpd
  > #  -o smtpd_tls_security_level=encrypt
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
   -o milter_macro_daemon_name=ORIGINATING

submission port での待ち受けには、問答無用で TLS 使うように設定されていたのでした。
コメントアウトして。

問題なく動くようになりました。

0 件のコメント:

コメントを投稿