[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:03197] Re: SMTPか らの応答が帰ってきません (POSTFIX+ LDAP + Cyrus SASL)





お世話になります。新会員の竹内です。

中満さんからのレスがあるとは、大変光栄です。
私をPOSTFIXに導いてくださった方ですので感謝感激で御座います。
今後とも宜しく御願い致します。

さて、中満さんからのご指摘を元に検証致しました。

>LDAPサーバは応答しますか?
>% ldapsearch -x -b "dc=example,dc=jp" "objectclass=*"

正常に応答しました。登録したldifが表示されました。
Netscapeのメーラから、LDAP Directoryを検索できましたので
LDAP自体は問題ないかと思われます。

>次にsmtpdのログを採取するため,/etc/postfix/master.cfの中で
>smtp      inet  n       -       n       -       -       smtpd -vv
>のようにvオプションを追加してpostfix reloadしてみてください.
>これでログが出力されると思います.

見たことの無い情報が maillog に出力されるようになりました。
下記に添付しておきます。telnet localhost smtp で接続後のログファイルです。
こんかいも下記のように、応答がなくなりました。

# telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'. ← 止まったままです


main.cfは中満様のご指導とおり、最小の設定に変更して行いました。
lookup関係でエラーになっているように見受けられます。
しかし、どこから潰していけばいいのか頭を抱えております。

取り急ぎ、ご報告まで。ログファイルをさらに解読していこうと思います。
ご指導、ご鞭撻の程宜しく御願い致します。

<maillogの結果>

Aug 25 16:01:04 www postfix/smtpd[16088]: dict_lookup: syslog_facility =
(notfound)
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] mail
Aug 25 16:01:04 www postfix/smtpd[16088]: mac_parse: mail
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval_action: type literal
buf mail context mail_dict "" recursive
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] result mail
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_update: syslog_facility =
mail
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_lookup: myhostname =
www.example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] www.example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: mac_parse: www.example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval_action: type literal
buf www.example.jp context mail_dict "mail" recursive
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] result
www.example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_lookup: mydomain =
example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: mac_parse: example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval_action: type literal
buf example.jp context mail_dict "www.example.jp" recursive
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] result example.jp
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_lookup: mail_name =
(notfound)
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] Postfix
Aug 25 16:01:04 www postfix/smtpd[16088]: mac_parse: Postfix
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval_action: type literal
buf Postfix context mail_dict "example.jp" recursive
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_eval[1] result Postfix
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_update: mail_name = Postfix
Aug 25 16:01:04 www postfix/smtpd[16088]: dict_lookup: syslog_name =
(notfound)
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval[1] postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: mac_parse: postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval_action: type literal
buf postfix context mail_dict "Postfix" recursive
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval[1] result postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_update: syslog_name =
postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_lookup: mail_owner = postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval[1] postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: mac_parse: postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval_action: type literal
buf postfix context mail_dict "postfix" recursive
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval[1] result postfix
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_lookup: setgid_group =
postdrop
Aug 25 16:01:05 www postfix/smtpd[16088]: dict_eval[1] postdrop
Aug 25 16:01:06 www postfix/smtpd[16088]: mac_parse: postdrop
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type literal
buf postdrop context mail_dict "postfix" recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval[1] result postdrop
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_lookup: mydestination =
$myhostname $localhost.$mydomain
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval[1] $myhostname
$localhost.$mydomain
Aug 25 16:01:06 www postfix/smtpd[16088]: mac_parse: $myhostname
$localhost.$mydomain
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type variable
buf myhostname context mail_dict "postdrop" recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_lookup: myhostname =
www.example.jp
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval[2] www.example.jp
Aug 25 16:01:06 www postfix/smtpd[16088]: mac_parse: www.example.jp
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type literal
buf www.example.jp context mail_dict "postdrop" recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval[2] result
www.example.jp
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type literal
buf   context mail_dict "www.example.jp" recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type variable
buf localhost context mail_dict "www.example.jp " recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_lookup: localhost =
(notfound)
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type literal
buf . context mail_dict "www.example.jp " recursive
Aug 25 16:01:06 www postfix/smtpd[16088]: dict_eval_action: type variable
buf mydomain context mail_dict "www.example.jp ." recursive
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_lookup: mydomain =
example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[2] example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: mac_parse: example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval_action: type literal
buf example.jp context mail_dict "www.example.jp ." recursive
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[2] result
www.example.jp .example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[1] result
www.example.jp .example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_lookup: myorigin = $mydomain
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[1] $mydomain
Aug 25 16:01:07 www postfix/smtpd[16088]: mac_parse: $mydomain
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval_action: type variable
buf mydomain context mail_dict "www.example.jp .example.jp" recursive
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_lookup: mydomain =
example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[2] example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: mac_parse: example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval_action: type literal
buf example.jp context mail_dict "www.example.jp .example.jp" recursive
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[2] result example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[1] result example.jp
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_lookup: relayhost =
(notfound)
Aug 25 16:01:07 www postfix/smtpd[16088]: dict_eval[1]
Aug 25 16:01:08 www postfix/smtpd[16088]: mac_parse:
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] result example.jp
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_update: relayhost =
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_lookup: program_directory =
(notfound)
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] /usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: mac_parse: /usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval_action: type literal
buf /usr/libexec/postfix context mail_dict "" recursive
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] result
/usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_update: program_directory =
/usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_lookup: daemon_directory =
/usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] /usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: mac_parse: /usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval_action: type literal
buf /usr/libexec/postfix context mail_dict "/usr/libexec/postfix" recursive
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] result
/usr/libexec/postfix
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_lookup: command_directory =
/usr/sbin
Aug 25 16:01:08 www postfix/smtpd[16088]: dict_eval[1] /usr/sbin
Aug 25 16:01:09 www postfix/smtpd[16088]: mac_parse: /usr/sbin
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval_action: type literal
buf /usr/sbin context mail_dict "/usr/libexec/postfix" recursive
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval[1] result /usr/sbin
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_lookup: queue_directory =
/var/spool/postfix
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval[1] /var/spool/postfix
Aug 25 16:01:09 www postfix/smtpd[16088]: mac_parse: /var/spool/postfix
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval_action: type literal
buf /var/spool/postfix context mail_dict "/usr/sbin" recursive
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval[1] result
/var/spool/postfix
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_lookup: process_id_directory
 = (notfound)
Aug 25 16:01:09 www postfix/smtpd[16088]: dict_eval[1] pid
Aug 25 16:01:09 www postfix/smtpd[16088]: mac_parse: pid






Hideo NAKAMITSU <nomo@xxxxxxxxxxxxx> on 2003/08/25 14:53:31

postfix-jp@xxxxxxxxxxに返信してください

宛先: postfix-jp@xxxxxxxxxx
cc:    (bcc: SATOKI TAKEUCHI/TSUKEN)
件名: [postfix-jp:03196] Re: SMTPからの応答が帰ってきません(POSTFIX + LDAP
      + Cyrus  SASL)




中満です.

On Mon, 25 Aug 2003 11:12:55 +0900
s-takeuchi@xxxxxxxxxx wrote:

> さて、SoftwareDesignに掲載していた中満さんの記事からPostfixに惚れ込みまし
た
> 。

それは何よりです(^^

> 今回、新規でメールサーバを構築する依頼があり、REDHAT 9で構築することとな
っ
> たのですが
> 暗礁に乗り上げてしました。インストールの経緯を下記に記します。
> (ドメイン、ユーザ、パスワードは架空のドメインですのでご了承下さい。)
>
> <環境>
> OS:Redhat Linux 9
> POSTFIX + LDAP + Cyrus SASL + Courier-IMAP で構築中です。
>
> (症状)
> TelnetよりSMTPに接続試験を行いますと、応答が帰ってこなくなります。
>
> [root@www sbin]# telnet localhost smtp
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.          ← ここで止まってしまいます。”220”が
帰
> ってきません。
>
> mail.log、messege.logともエラーは吐かれておりません。何かを待っている模様
で
> す。

-- ばっさり省略 --

LDAPサーバは応答しますか?
% ldapsearch -x -b "dc=example,dc=jp" "objectclass=*"

次にsmtpdのログを採取するため,/etc/postfix/master.cfの中で
smtp      inet  n       -       n       -       -       smtpd -vv
のようにvオプションを追加してpostfix reloadしてみてください.
これでログが出力されると思います.

もしくは別ウインドウで
# pgrep master
1234
# strace -f -p 1234
のように,masterのプロセスを監視しながらsmtp接続してみるとか.

あと,なるべく最小限の環境から設定して成功したら次の段階を
踏むことをお勧めします.例えば最初に

virtual_transport = virtual
virtual_mailbox_base = /
virtual_mailbox_maps = ldap:mbox
virtual_mailbox_domains = $virtual_mailbox_maps
virtual_minimum_uid = 10012
virtual_uid_maps = static:10012
virtual_gid_maps = static:10012
local_transport = local
mydestination = $myhostname $localhost.$mydomain
local_recipient_maps = unix:passwd.byname $alias_maps

mbox_server_host = localhost
mbox_search_base = o=mailuser, dc=example, dc=jp
mbox_query_filter = (&(|(mail=%s)(mailAlias=%s))(mailActive=TRUE))
mbox_result_attribute = mailDir

くらいで実験してみて,うまくいったら転送メールや別名(Alias)を
試してみて下さい.

ちなみに,バーチャルドメイン + LDAPの設定方法ですが,
main.cfの設定は原稿時のもの以外にいろいろ考えられます.
しかし,VIRTUAL_READMEのhash:という部分をldap:に読み替えれば
難しい部分はないはずです.

がんばってください.

/* -----------------------------------
Hideo NAKAMITSU <nomo@xxxxxxxxxxxxx>
http://solaris.bluecoara.net/
----------------------------------- */

Follow-Ups
[postfix-jp:03199] Re: SMTPか らの応答が帰ってきません (POSTFIX+ LDAP + Cyrus SASL), Hideo NAKAMITSU

[検索ページ] [Postfix-JP ML Home]