Страница 1 из 1

Exim Router на 2 mx с хранилищем в LDAP

Добавлено: 2016-10-11 14:58:28
gffgf.ff201
День добрый!
Запутался(
Пытаюсь разделить сервера exim+dovecot на парочку, и раскидать между ними пользователей.
Все настройки хранить в ldap (Active Direstory Windows 2012).
Чтобы раскидать пользователей между серверами, задействовал атрибут info.
Идея такая, если стоит 1, то попадает на первый сервер, если 2 то на второй сервер.
Запросы почему-то не проходят нормально =(

Подскажите как правильно =(

пример конфига попыток
ldap_default_servers = <; 10.19.160.22:389
LDAP_AD_BASE_DN = "OU=Objects,DC=es,DC=la"
LDAP_AD_BINDDN = "CN=ldap,OU=SystemUsers,OU=Objects,DC=ne,DC=la"
LDAP_AD_PASS = "ххх"

LDAP_AD_MAIL_SERVER_ONE = \
user=LDAP_AD_BINDDN pass=LDAP_AD_PASS \
ldap:///DC=ne,DC=la?mail?sub?(&(objectClass=user)(info=1)(mail=*))
#ldap:///DC=ne,DC=la?mail?sub?(&(objectClass=user)(info=1)(mail=${quote_ldap:${local_part}@${domain}}))


LDAP_AD_MAIL_SERVER_TWO = \
user=LDAP_AD_BINDDN pass=LDAP_AD_PASS \
ldap:///DC=ne,DC=la?mail?sub?(&(objectClass=user)(info=2)(mail=*))
#ldap:///DC=ne,DC=la?mail?sub?(&(objectClass=user)(info=2)(mail=${quote_ldap:${local_part}@${domain}}))

# Проверяем есть ли такой ящик у кого из пользователей AD и пересылаем на первый сервер
LDAP_check_mx1:
driver = redirect
domains = +local_domains
allow_fail
allow_defer
# Проверяем наличие запрошенного ящика в Active Directory
data = ${lookup ldapm {LDAP_AD_MAIL_SERVER_ONE}}
#condition = ${if eq{} {${lookup ldapm {LDAP_AD_MAIL_SERVER_ONE}{${local_part}@${domain}}}{yes}{no}}
forbid_file
forbid_pipe
verify_recipient
redirect_router = router_mx1

# Проверяем есть ли такой ящик у кого из пользователей AD и пересылаем на второй сервер
LDAP_check_mx2:
driver = redirect
domains = +relay_to_domains
allow_fail
allow_defer
# Проверяем наличие запрошенного ящика в Active Directory
data = ${lookup ldapm {LDAP_AD_MAIL_SERVER_TWO}{${local_part}@${domain}}}
condition = ${if eq{} {${lookup ldapm {LDAP_AD_MAIL_SERVER_TWO}{${local_part}@${domain}}}{yes}{no}}
forbid_file
forbid_pipe
verify_recipient
redirect_router = router_mx2

router_mx1:
driver = manualroute
domains = +relay_to_domains
route_list = * 10.1.16.161 byname
host_find_failed = pass
transport = remote_smtp

router_mx2:
driver = manualroute
domains = +relay_to_domains
route_list = * 10.1.16.162 byname
host_find_failed = pass
transport = remote_smtp

remote_smtp:
driver = smtp