С ldapsearch я разобрался. Даже уже в exim -be протестировал:
netgenic# exim -be
> ${lookup ldap{[email protected] pass=ldapmail3
> ldap:///dc=domain,dc=local?mail?sub?(&(|(objectClass=user)(objectClass=group))([email protected]))}}
[email protected]
> ${lookup ldap{[email protected] pass=ldapmail3
> ldap:///dc=domain,dc=local?mail?sub?(&(|(objectClass=user)(objectClass=group))([email protected]))}}
>
Исходя из запроса, сформировал заново запрос в конфиге:
ldap_default_servers = 192.168.128.61::3268
MS_DOMAIN = domain.local
MS_USER = [email protected]
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 <[email protected]>:
> An An wrote:
> > Все равно не выходит. На запрос:
> >
> > 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:[email protected]))"
> > ldap_bind: Invalid credentials (49)
> > additional info: 80090308: LdapErr: DSID-0C0903A9, comment:
> > AcceptSecurityContext error, data 52e, v1db1
>
> а что возвращает
>
> ldapsearch -x -h 192.168.128.61 -p 3268 -LLL -D [email protected] -w
> ldapmail3 -b "dc=some-domain,dc=local"
> "(proxyAddresses=SMTP:[email protected])"
>
> ?
>
> причем значении артибута proxyAddresses нужно указывать почтовый домен,
> а в ldap логине и basedn должна быть указана доменная зона виндовой
> домена из AD. в изначальном условии задачи мелькало то
> some-domain.local, то dc=some-domain,dc=local, то DC=pac,DC=local
>
> в общем и целом нужно подставить корректные данные и выполнить запрос
>
> > enic# ldapsearch -D exim -w ldapmail3 -LLL -H ldap://192.168.128.61:3268
> > "(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))(proxyAddresses=SMTP:[email protected]))"
> > ldap_bind: Invalid credentials (49)
> > additional info: 80090308: LdapErr: DSID-0C0903A9, comment:
> > AcceptSecurityContext error, data 52e, v1db1
> >
> >
> >
> >
> > 14 сентября 2011, 10:40 от Golub Mikhail <[email protected]>:
> >> Привет.
> >>
> >> hide ldap_default_servers = ldap::3268 (именно двоеточие)
> >> LDAP_AUTH= NETTIME=5 user="CN=username,OU=....,DC=...,=UA" pass=password
> >> IP_EXCHANGE=1.1.1.1
> >>
> >> route_data= ${lookup ldap \
> >> {LDAP_AUTH \
> >> ldap:///DC=...=UA?proxyAddresses?sub?\
> >>
> >> (&(proxyAddresses=smtp:$local_part@$domain)(|(objectclass=group)(&(objectclass=user)(msExchUserAccountControl=0)))\
> >> )\
> >> }\
> >> {IP_EXCHANGE}fail}
> >>
> >> Переписать "по вкусу".
> >>
> >> А ошибка, похоже, как раз в строке подключения.
> >> И USER для подключения я задавал в полной форме в его месту в лдапе, т.е.
> >> - user="CN=username,OU=....,DC=...,=UA"
> >>
> >> ------------------------
> >> С уважением,
> >> Голуб Михаил
> >>
> >> From: [email protected]
> >> [mailto:[email protected]] On Behalf Of An An
> >> Sent: Wednesday, September 14, 2011 9:25 AM
> >> To: [email protected]
> >> Subject: [Exim-users] Invalid credential при lookup ldap
> >>
> >> Компания приобрела Exchange, поэтому возникла необходимость постепенного
> >> переноса пользователей в AD(Win 2008 R2).
> >> Задача: При обнаружении пользователя в AD, перенаправлять письма на другой
> >> IP.
> >> Проблем с роутерами быть не должно, поэтому проверяю работу ldap запроса в
> >> acl_check_rcpt. Итак, конфиг:
> >>
> >> ldap_default_servers = <; 192.168.128.61:3268
> >>
> >> MS_DOMAIN = some-domain.local
> >> MS_USER = exim
> >> MS_PASS = ldapmail3
> >> MS_BASE_DN = "dc=some-domain,dc=local"
> >>
> >> LDAP_AD_MAIL_RCPT = \
> >> user=MS_USER \
> >> pass=MS_PASS \
> >> ldap:///MS_BASE_DN?mail?sub?\
> >> (&(|(objectClass=user)(objectClass=group))\
> >> (proxyAddresses=SMTP:${quote_ldap:${local_part}@MS_DOMAIN}))
> >>
> >> В acl_check_rcpt первым стоит:
> >>
> >> warn condition = ${lookup ldap {LDAP_AD_MAIL_RCPT}}
> >> message = Win
> >> logwrite = Win
> >>
> >> warn !condition = ${lookup ldap {LDAP_AD_MAIL_RCPT}}
> >> message = Lose
> >> logwrite = Lose
> >>
> >> И вот тут совсем начинается непонятное.
> >>
> >> 2011-09-14 10:17:03 H=(some-domain.ru) [127.0.0.1] Warning: ACL "warn"
> >> statement skipped: condition test deferred: failed to bind the LDAP
> >> connection to server 192.168.128.61:3268 - LDAP error 49: Invalid
> >> credentials
> >>
> >> Насколько я нагуглил, данная ошибка говорит о неверном запросе. Поэтому я
> >> попробовал так:
> >>
> >> MS_USER="CN=exim,CN=Users,DC=some-domain,DC=local"
> >>
> >> и так:
> >>
> >> LDAP_AD_MAIL_RCPT = \
> >> user=MS_USER \
> >> pass=MS_PASS \
> >> ldap:///DC=pac,DC=local?mail?sub?(&(objectClass=top)\
> >> (objectClass=user)(objectClass=organizationalPerson)\
> >> (objectClass=person)(mail=${quote_ldap:${local_part}@MS_DOMAIN}))
> >>
> >> и даже из какого-то гайда:
> >>
> >> LDAP_AD_MAIL_RCPT = \
> >> user=MS_USER \
> >> pass=MS_PASS \
> >> ldap:///LDAP_AD_BASE_DN?mail?sub?\
> >> (&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))\
> >> (|(proxyAddresses=${quote_ldap:${local_part}@MS_DOMAIN})\
> >> (proxyAddresses=smtp:${quote_ldap:${local_part}@MS_DOMAIN}))\
> >> (!(userAccountControl:1.2.840.113556.1.4.803:=2))
> >>
> >> Все равно
> >> 2011-09-14 10:17:03 H=(some-domain.ru) [127.0.0.1] Warning: ACL "warn"
> >> statement skipped: condition test deferred: failed to bind the LDAP
> >> connection to server 192.168.128.61:3268 - LDAP error 49: Invalid
> >> credentials
> >> _______________________________________________
> >> Exim-users mailing list
> >> [email protected]
> >> http://mailground.net/mailman/listinfo/exim-users
> >>
> >>
> > _______________________________________________
> > Exim-users mailing list
> > [email protected]
> > http://mailground.net/mailman/listinfo/exim-users
> >
>
> --
> Best wishes Victor Ustugov mailto:[email protected]
> public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
> ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC
>
> _______________________________________________
> Exim-users mailing list
> [email protected]
> http://mailground.net/mailman/listinfo/exim-users
>
>
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users