enic# ldapsearch -LLL -H ldap://192.168.128.61:3268 -s base
есть ответ. Но на запрос:
enic# ldapsearch -D exim -w ldapmail3 -LLL "(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))(proxyAddresses=SMTP:p...@some-doman.local))" ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
enic# ldapsearch -D exim -w ldapmail3 -LLL -H ldap://192.168.128.61:3268 "(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))(proxyAddresses=SMTP:p...@some-domain.local))"
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
14 сентября 2011, 10:40 от Golub Mikhail <exim...@gmn.org.ua>:
а что возвращает
ldapsearch -x -h 192.168.128.61 -p 3268 -LLL -D ex...@some-doman.local -w
ldapmail3 -b "dc=some-domain,dc=local"
"(proxyAddresses=SMTP:p...@some-doman.local)"
?
причем значении артибута proxyAddresses нужно указывать почтовый домен,
а в ldap логине и basedn должна быть указана доменная зона виндовой
домена из AD. в изначальном условии задачи мелькало то
some-domain.local, то dc=some-domain,dc=local, то DC=pac,DC=local
в общем и целом нужно подставить корректные данные и выполнить запрос
--
Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC
netgenic# exim -be
> ${lookup ldap{user=ex...@domain.local pass=ldapmail3 ldap:///dc=domain,dc=local?mail?sub?(&(|(objectClass=user)(objectClass=group))(mail=p...@domain.local))}}
p...@domain.local
> ${lookup ldap{user=ex...@domain.local pass=ldapmail3 ldap:///dc=domain,dc=local?mail?sub?(&(|(objectClass=user)(objectClass=group))(mail=de...@domain.local))}}
>
Исходя из запроса, сформировал заново запрос в конфиге:
ldap_default_servers = 192.168.128.61::3268
MS_DOMAIN = domain.local
MS_USER = ex...@domain.local
MS_PASS = ldapmail3
MS_B_DN = "dc=domain,dc=local"
MS_AD_MAIL_RCPT = \
user=MS_USER \
pass=MS_PASS \
ldap:///MS_B_DN?mail?sub?\
(&\
(|\
(objectClass=user)(objectClass=publicFolder)(objectClass=group)\
)\
(mail=${local_part}@MS_DOMAIN})\
)
Осталось с драными acl разобраться:
warn condition = ${lookup ldap {MS_AD_MAIL_RCPT}{$value}fail}
message = Win
warn !condition = ${lookup ldap {MS_AD_MAIL_RCPT}{$value}fail}
message = Lose
Которые я ввел для проверки, и которые все время ругаются:
Warning: ACL "warn" statement skipped: condition test deferred: ldap_search failed: -7, Bad search filter
14 сентября 2011, 12:49 от Victor Ustugov <vic...@corvax.kiev.ua>:
во-первых, нужно таки определиться, накладывать фильтрь по атрибуту mail
или по атрибуту proxyAddresses.
во-вторых, при наложении фильтра на proxyAddresses нужно указывать
$domain, а не MS_DOMAIN. то, что они в данном конкретном случае могли
совпасть (это непонятно из-за замены в примерах реального домена на
domain.local), это сильно частный случай и конструкции MS_DOMAIN в
значении фильтра точно делать нЕчего.
в-третьих, можно в выводе exim -d -bh посмотреть, какой именно LDAP
запрос получился после подстановки всех этих макросов. и тогда уже
думать, что не так. кстати, для проверки существования адреса хватает
фильтра просто по proxyAddresses.
ad_redirect_router:
<------>driver = redirect
<------>domains = +relay_to_domains
<------>data = ${lookup ldap {MS_RCPT}}
ad_relay_router:
<------>driver = "manualroute"
<------>domains = MS_DOMAIN
<------>transport = remote_smtp
<------>route_list = * 192.168.128.61
<------>no_more
Проверяю exim -bt p...@domain.ru и вижу, что ad_redirect_router не отрабатывает. Хотя результатом запроса должен быть p...@domain.local.
Я решил накладывать фильтр по mail.
14 сентября 2011, 14:36 от Victor Ustugov <vic...@corvax.kiev.ua>:
ad_redirect_router:
driver = redirect
domains = +relay_to_domains
data = ${lookup ldap {MS_RCPT}}
Не хочет перенаправлять почту на результат запроса.
ACL показывает, что все нормально:
warn set acl_c1 = ${lookup ldap {MS_RCPT}}
logwrite = Follow to $acl_c1
2011-09-14 16:07:56 Follow to p...@domain.local
14 сентября 2011, 15:05 от Kosenko Sergey E. <S.Ko...@nec.ru>: