Всем приветы
Собсно - сабж
Есть sendmail на FreeBSD 8.1:
Код:
[root@test2 /etc/mail]# sendmail -bt -d0.1 root
Version 8.14.4
Compiled with: DNSMAP LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8
MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS
PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS USERDB
USE_LDAP_INIT XDEBUG
Есть OpenLDAP:
Код:
[root@test2 /etc/mail]# pkg_version -v | grep ldap
openldap-sasl-server-2.4.23 = up-to-date with port
Далее появилось желание создать виртуальных пользователей почты в LDAP каталоге. Сделал такой вот .mc-файл sendmail'a:
Код:
divert(-1)
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.37.2.2.4.1 2010/12/21 17:09:25 kensmith Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
define(`confLDAP_DEFAULT_SPEC', `-H test2.domain.ru -b dc=domain,dc=ru')dnl
LDAPROUTE_DOMAIN_FILE(`@LDAP')dnl
FEATURE(`ldap_routing', `ldap -1 -T<TMPF> -v mailHost -k (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=%0))', `ldap -1 -T<TMPF> -v mailRoutingAddres
define(`confCW_FILE', `-o /etc/mail/local-host-names')
TRUST_AUTH_MECH(`LOGIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN')dnl
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)dnl
MAILER(smtp)
Подключил следующие схемы в slapd.conf:
Код:
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/sendmail.schema
Создал следующее дерево LDAP:
Код:
# domain.ru
dn: dc=domain,dc=ru
objectClass: top
objectClass: dcObject
objectClass: organization
o: domain GmbH
dc: domain
description: domain GmbH
# accounts, domain.ru
dn: ou=accounts,dc=domain,dc=ru
objectClass: top
objectClass: organizationalUnit
ou: accounts
# LDAPRoute, domain.ru
dn: sendmailMTAClassName=LDAPRoute,dc=domain,dc=ru
objectClass: sendmailMTA
objectClass: sendmailMTAClass
sendmailMTAHost: test2.domain.ru
sendmailMTAClassName: LDAPRoute
sendmailMTAClassValue: domain.ru
# testuser, accounts, domain.ru
dn: uid=testuser,ou=accounts,dc=domain,dc=ru
objectClass: person
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: inetLocalMailRecipient
uid: testuser
cn: testuser
sn: testuser
uidNumber: 1003
gidNumber: 1001
mailLocalAddress: testuser@domain.ru
mailHost: test2.domain.ru
mailRoutingAddress: testuser@domain.ru
homeDirectory: /usr/home/virtualmail/testuser/
loginShell: /sbin/nologin
mail: testuser@domain.ru
Делал все это согласно рекомендациям:
http://www.samba.org.ua/articles/?section=1&articleid=2http://www.sendmail.org/m4/ldap_routing.htmlhttp://onlamp.com/onlamp/excerpt/sendma ... index.htmlПосле всей этой настройки:
Код:
[root@test2 /etc/mail]# sendmail -bv -d60.1 testuser@domain.ru
map_lookup(dequote, test) => NOT FOUND (0)
map_lookup(host, domain.ru) => domain.ru. (0)
map_lookup(dequote, testuser) => NOT FOUND (0)
map_lookup(ldapmra, testuser@domain.ru) => testuser@domain.ru(0)
map_lookup(ldapmh, testuser@domain.ru) => test2.domain.ru (0)
map_lookup(host, domain.ru) => domain.ru. (0)
map_lookup(dequote, testuser) => NOT FOUND (0)
map_lookup(virtuser, testuser@domain.ru) => NOT FOUND (0)
map_lookup(virtuser, @domain.ru) => NOT FOUND (0)
testuser@domain.ru... User unknown
Находит верно, доставлять не хочет =(
В мэйллоге получаю одну запись:
Код:
Jul 5 16:21:00 test2 sendmail[15523]: p65CL0xf015523: testuser@domain.ru... User unknown
А в openldap.log все время выводятся одни и те же сообщения об индексации:
Код:
Jul 5 16:18:16 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTAClassName) not indexed
Jul 5 16:18:16 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTACluster) not indexed
Jul 5 16:18:16 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTAHost) not indexed
Jul 5 16:18:51 test2 slapd[789]: <= bdb_equality_candidates: (mailLocalAddress) not indexed
Jul 5 16:21:00 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTAClassName) not indexed
Jul 5 16:21:00 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTACluster) not indexed
Jul 5 16:21:00 test2 slapd[789]: <= bdb_equality_candidates: (sendmailMTAHost) not indexed
Jul 5 16:21:00 test2 slapd[789]: <= bdb_equality_candidates: (mailLocalAddress) not indexed
Jul 5 16:21:00 test2 slapd[789]: <= bdb_equality_candidates: (mailLocalAddress) not indexed
Прошу прощения за столь длиннющий пост, но я решил выдать как можно больше инфы =)
У кого-нибудь есть идеи?
Маюсь второй месяц, никак решить не могу. На других форумах советов не дали, может тут кто-нибудь что-нибудь подскажет?
Заранее спасибо!