[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp:03195] SMTPから の応答が帰ってきません( POSTFIX+ LDAP + Cyrus SASL)
- Subject: [postfix-jp:03195] SMTPから の応答が帰ってきません( POSTFIX+ LDAP + Cyrus SASL)
- From: s-takeuchi@xxxxxxxxxx
- Date: Mon, 25 Aug 2003 11:12:55 +0900
はじめまして。メーリングリストに入会した竹内と申します。
以後宜しく御願い致します。
さて、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ともエラーは吐かれておりません。何かを待っている模様で
す。
main.cf のLDAP関連の設定をコメントすると、下記のように応答が帰ってきます。
telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 www.example.jp ESMTP Postfix
私としての見解ですが、POSTFIXがLDAPを見つけられていないのではと思っておりま
す。
DNSにまだドメインを登録していませんので、LDAPがドメインを探せずにいるのかも
しれません。
このような現象をご経験された方がいらっしゃいましたら、ご指導頂ければ幸いで
す。
下記にセットアップの内容を記します。
**************** インストールの概要 *************************
(各ソフトウェア)
Berkeley DB 4.0.14-20 *Redhat 9 標準rpm使用
OpenLDAP 2.0.27-8 *Redhat 9 標準rpm使用
Cyrus SASL 2.1.10-4 *Redhat 9 標準rpm使用
POSTFIX 2.0.14
Courier-IMAP 2.1.0
(インストール)
・POSTFIX
%tar zxvf postfix-2.0.14.tar.gz
%cd postfix-2.0.14
%make tidy
%make makefiles CCARGS="-I/usr/include/sasl -I/usr/include -DHAS_LDAP
-DUSE_SASL_AUTH" AUXLIBS="-L/usr/local/lib -R/usr/local/lib -lldap -llber
-lsasl2 -lz"
#make
#make install
<main.cfの編集>
myhostname = www.example.jp
mydomain = example.jp
relay_domains = $mydomain, $myhostname
mynetworks = 172.17.21.0/24, 127.0.0.0/24, 127.0.0.1/8
inet_interfaces = all
myorigin = $mydomain
alias_maps = hash:/etc/aliases
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_auth_enable= yes
smtpd_sasl_security_options = noanonymous
virtual_mailbox_base = /
virtual_mailbox_maps = ldap:mbox
virtual_minimum_uid = 10012
virtual_uid_maps = static:10012
virtual_gid_maps = static:10012
transport_maps = ldap:transport
transport_server_host = localhost
transport_search_base = o=mailuser, dc=example, dc=jp
transport_query_filter = (domainName=%s)
transport_result_attribute = transport
virtual_mailbox_base = /
virtual_mailbox_maps = ldap:mbox
virtual_minimum_uid = 10012
virtual_uid_maps = static:10012
virtual_gid_maps = static:10012
virtual_mailbox_maps = ldap:mbox
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
virtual_maps = ldap:deliver
deliver_server_host = localhost
deliver_search_base = o=mailuser, dc=example, dc=jp
deliver_query_filter = (&(|(mail=%s)(mailAlias=%s))(mailActive=TRUE))
deliver_result_attribute = mail, mailForward
smtpd_recipient_restrictions =
permit_mynetworks,
permit_auth_destination,
permit_sasl_authenticated,
check_relay_domains,
reject
<postconf -nの結果>
./postconf -n
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydomain = example.jp
myhostname = www.example.jp
mynetworks = 172.17.21.0/24, 127.0.0.0/24, 127.0.0.1/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $mydomain, $myhostname
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
transport_maps = ldap:transport
unknown_local_recipient_reject_code = 450
virtual_gid_maps = static:10012
virtual_mailbox_base = /
virtual_mailbox_maps = ldap:mbox
virtual_minimum_uid = 10012
virtual_uid_maps = static:10012
<postconf-m の結果>
./postconf -m
static
nis
regexp
environ
proxy
ldap
btree
unix
hash
・LDAPの設定
</etc/openldap/slap.conf の編集>
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
#include /etc/openldap/schema/redhat/rfc822-MailMember.schema
include /etc/openldap/schema/redhat/autofs.schema
include /etc/openldap/schema/redhat/kerberosobject.schema
include /etc/openldap/schema/postfix.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
database ldbm
suffix "dc=example, dc=jp"
rootdn "cn=Manager, dc=example, dc=jp"
rootpw select
directory /var/lib/ldap
index objectClass eq
<postfix.schema の登録>
attributetype ( 1.3.6.1.4.1.12461.1.1.1
NAME 'mailForward'
DESC 'forword address'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
attributetype ( 1.3.6.1.4.1.12461.1.1.2
NAME 'mailAlias'
DESC 'alias address'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
attributetype ( 1.3.6.1.4.1.12461.1.1.3
NAME 'mailDir'
DESC 'path of maildir'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12461.1.1.4
NAME 'mailActive'
DESC 'active or not'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12461.1.1.5
NAME 'transport'
DESC 'transport'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
attributetype ( 1.3.6.1.4.1.12461.1.1.6
NAME 'domainName'
DESC 'domain name'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12461.1.1.7
NAME 'mailGroup'
DESC 'mail group'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12461.1.1.8
NAME 'domainDirectory'
DESC 'top directory of this domain'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
objectclass ( 1.3.6.1.4.1.12461.1.2.1
NAME 'mailAccount'
DESC 'user object'
SUP inetOrgPerson
MUST ( mailDir $ homeDirectory $ mailActive $ domainName $ mailGroup )
MAY ( mailForward $ mailAlias ))
objectclass ( 1.3.6.1.4.1.12461.1.2.2
NAME 'adminAccount'
DESC 'admin object'
SUP inetOrgPerson
MUST ( domainName $ domainDirectory $ transport $ mailGroup ))
objectclass ( 1.3.6.1.4.1.12461.1.2.3
NAME 'superAccount'
DESC 'sitemanager object'
SUP inetOrgPerson
MUST ( mailGroup ))
<ldifファイルの登録> *ほとんど中満さんの手順を踏襲しています
リスト first.ldif
#Top Tree of DataBase
dn: dc=example,dc=jp
o: root
objectClass: organization
#Top tree of virtual mail environment
dn: o=mailuser,dc=example,dc=jp
objectClass: organization
o: mailuser
#For virtual domain TLD1
dn: dc=jp,o=mailuser,dc=example,dc=jp
objectClass: organization
o: mailuser
リスト sitemanager.ldif
dn: cn=sitemanager, o=mailuser, dc=example, dc=jp
objectClass: inetOrgPerson
objectClass: superAccount
cn: sitemanager
sn: sitemanager
givenName: sitemanager
userPassword:sitemanager
mailGroup: sitemanager
リスト admin.ldif
dn: dc=kitchen-tomato, dc=jp, o=mailuser, dc=example, dc=jp
objectClass: organization
o: mailuser
dn: cn=admin, dc=kitchen-tomato, dc=jp, o=mailuser, dc=example, dc=jp
objectClass: adminAccount
objectClass: inetOrgPerson
cn: admin
sn: admin
givenName: admin
userPassword:admin
domainName: example.jp
domainDirectory: /home/mailuser/example.jp
transport: virtual
mailGroup: admin
リスト test.ldif
dn: cn=test, dc=example,dc=jp, o=mailuser, dc=example,dc=jp
objectClass: top
objectClass: mailAccount
objectClass: inetOrgPerson
cn: test
sn: TEST Account
givenName: TEST
userPassword:test
homeDirectory: /home/mailuser/example.jp/test
mail: test@example.jp
mailAlias: test@example.jp
mailDir: /home/mailuser/example.jp/test/Maildir/
mailActive: TRUE
domainName: example.jp
mailForward:test@example.co.jp
mailGroup: user
・Cyrus SASLをLDAPで利用する
#saslauthd -a ldap
このコマンドを実行すると、「LDAPは使えません」という旨のメッセージが表示し
ましたので、
cyrus-sasl-2.1.10-4.src.rpm をダウンロードにパッケージを修正して再構成しま
した。
#vi cyrus-sasl.spec
pushd cyrus-sasl-%{cs1_version}
%configure \
--enable-static --with-pic --enable-shared \
--with-plugindir=%{_plugindir} \
--disable-krb4 \
--enable-gssapi=/usr/kerberos \
--with-rc4 \
--with-ldap \ ← これ追加
--with-dblib=gdbm \
--enable-anon \
--enable-cram \
--enable-digest \
--enable-plain \
--enable-login
make sasldir=%{_plugindir}
popd
pushd cyrus-sasl-%{version}
LIBS=-lcrypt; export LIBS
%configure \
--enable-static --with-pic --enable-shared --disable-java \
--with-plugindir=%{_plugindir2} \
--disable-krb4 \
--enable-gssapi=/usr/kerberos \
--with-rc4 \
--with-ldap \ ← これ追加
--with-dblib=berkeley \
--with-saslauthd=/var/run/saslauthd --without-pwcheck \
--enable-anon \
--enable-cram \
--enable-digest \
--enable-plain \
--enable-login
# --enable-auth-sasldb -- EXPERIMENTAL
<jail環境で動いているPOSTFIXが、cyrus SASL を参照できるようにする>
#vi /etc/init.d/saslauthd
==============================================
# Source our configuration file for these variables.
#SOCKET=/var/run/saslauthd/mux
← コメント
SOCKET="/var/spool/postfix/var/state/saslauthd/mux" ← 追加
#MECH=shadow
← コメント
MECH=ldap
← 追加
FLAGS=
- Follow-Ups
-
- [postfix-jp:03196] Re: SMTPか らの応答が帰ってきません (POSTFIX+ LDAP + Cyrus SASL), Hideo NAKAMITSU
- [postfix-jp:03202] Re: SMTPか らの応答が帰ってきません (POSTFIX+ LDAP + Cyrus SASL), ARAKI Yasuhiro
[検索ページ]
[Postfix-JP ML Home]