Sendmail -> MS Exchange
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 27
- Зарегистрирован: 2007-09-29 9:38:03
Sendmail -> MS Exchange
Здравствуйте.
Планируется поставить Sendmail на шлюзе для проверки на вирусы и спам входящей почты(сделать его шлюзовым почтовым сервером), далее это передавать на MS Exchange 2003, возникает вопрос, чем лучше и как связать эти 2 сервера?
Планируется поставить Sendmail на шлюзе для проверки на вирусы и спам входящей почты(сделать его шлюзовым почтовым сервером), далее это передавать на MS Exchange 2003, возникает вопрос, чем лучше и как связать эти 2 сервера?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Sendmail -> MS Exchange
тему переношу в MTA.
===========
sendmail можно, но я бы рекмендвал exim.
===========
sendmail можно, но я бы рекмендвал exim.
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 27
- Зарегистрирован: 2007-09-29 9:38:03
Re: Sendmail -> MS Exchange
Почитал темы про exim, как я понял, перенаправление можно сделать smart_route, насколько это будет хорошо? Может кто предложит более удобный вариант, в данный момент в планах создать менее приоритетную MX запись, в шлюз поставить 3 сетевую карту с адресом данной MX, после чего отключить форвард на Exchange.
-
- рядовой
- Сообщения: 27
- Зарегистрирован: 2007-09-29 9:38:03
Re: Sendmail -> MS Exchange
Решил попробовать сделать по данной статье exim + exchange http://www.lissyara.su/?id=1453
Пытаюсь разложит все по полочкам так сказать, имеется почтовый сервер Exchange (mail.domain.ru), установил Exim (fmail.domain.ru)
Пытаюсь разложит все по полочкам так сказать, имеется почтовый сервер Exchange (mail.domain.ru), установил Exim (fmail.domain.ru)
Код: Выделить всё
#primary_hostname = mail.short-dom.ru
primary_hostname = fmail.domain.ru
# Эксчейнджевый домен
#MS_EXCHANGE_DOMAIN = long-domain.local
MS_EXCHANGE_DOMAIN = mail.domain.ru
# внутренний IP машины
INTERNAL_IP = 192.168.0.83
# внимание - изменённ дефолтовый разделитель списка!
ldap_default_servers = <; 192.168.0.4:3268
# макросы для работы с LDAP
LDAP_AD_BINDDN = exim
LDAP_AD_PASS = pass_user_exim_in_domain
LDAP_AD_BASE_DN = DC=domain,DC=ru
# макрос для проверки пользователей в домене
LDAP_AD_MAIL_RCPT = \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE_DN?mail?sub?\
(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))\
(|(proxyAddresses=${quote_ldap:${local_part}@MS_EXCHANGE_DOMAIN})\
(proxyAddresses=smtp:${quote_ldap:${local_part}@MS_EXCHANGE_DOMAIN}))\
(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
# Делаем список локальных доменов. Далее этот
# список будет фигурировать в виде +local_domains
# В данном случае домены выбираются из БД MySQL. Также
# можно их просто перечислить через двоеточие. Есть интересная
# возможность, можно указать юзер@[хост] - lissyara@[222.222.4.5]
domainlist local_domains = mail.short-dom.ru : relay.long-domain.ru ------- тут я чет запутался (relay.long-domain.ru - это кто или что?)
# делаем список доменов с которых разрешены релеи.
# Далее этот список будет в виде +relay_to_domains
# Можно использовать символы подстановки, типа:
# .... = *.my.domen.su : !spam.my.domen.su : first.su
# тогда пропускается всё, что похоже на *.my.domen.su, но
# от spam.my.domen.su релеится почта не будет.
domainlist relay_to_domains = long-domain.ru : short-dom.ru ( тут тоже туплю, в моем случаее получается domainlist relay_to_domains = domain.ru?)
# Составляем список хостов с которых разрешён неавторизованый
# релей. Обычно в нём находятся локальные сети, и локалхост...
# ЛокалХост в двух видах был внесён сознательно - пару раз
# сталкивался с кривым файлом /etc/hosts - результатом было
# непонимание `localhost` но пониманием 127.0.0.1/8
hostlist relay_from_hosts = localhost : 127.0.0.0/8 : 192.168.0.0/16
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- рядовой
- Сообщения: 27
- Зарегистрирован: 2007-09-29 9:38:03
Re: Sendmail -> MS Exchange
Вроде все настроил, работает, напишу небольшой faq, для тех кто первый раз столкнется с этим)
Конфиги все собирались по кускам с различных ресурсов.
Ставилось все на FreeBSD(6.2), Sendmail(8.14.1) ставился из портов (ldap для проверки адреса получателя в AD).
После установки, надо подменить встроенный Sendmail в FreeBSD на установленный, для этого идем выполняем,
в, для автоматического запуска создаем в
Теперь настройка: рабочим каталогом является , после перехода в каталог выполняем команду , будет создан файл , собственно редактируем его
С конфигом все.
дальше его нужно собрать, выполняем
далее создаем файлы
Редактируем: access вносим такое содержимое:
В файл mailertable вноси:
В остальных файлах
После редактирования файлов выполняем
Теперь необходимо внести изменения в Exchange:
Ну вроде все
Конфиги все собирались по кускам с различных ресурсов.
Ставилось все на FreeBSD(6.2), Sendmail(8.14.1) ставился из портов
Код: Выделить всё
/usr/ports/mail/sendmail-ldap
После установки, надо подменить встроенный Sendmail в FreeBSD на установленный, для этого идем выполняем
Код: Выделить всё
cd /usr/ports/mail/sendmail && make mailer.conf
в
Код: Выделить всё
/etc/rc.conf добавляем Sendmail_enable="NONE"
Код: Выделить всё
/usr/local/etc/rc.d/sendmail.sh - пример скрипта можно найти во многих статьях данного сайта, немного подредактировав.
Код: Выделить всё
cd /etc/mail
Код: Выделить всё
make
Код: Выделить всё
имя_сервера.mc
Код: Выделить всё
ee имя_сервера.mc
Код: Выделить всё
divert(-1)
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.2 2006/08/23 03:31:00 gshapiro 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')
dnl Это для проверки наличия e-mail получателя почты, если такого нет, смысла принимать письмо нет.
dnl чтобы все работало, создаем в АД подразделение(OU) Sendmail и пользователя Sendmail (CN), после в /etc/mail/ создаем два файла ldap_pass - вписываем в него пароль
dnl от пользователя Sendmail и файл ldap_route_domains - вписываем в него домен domain.ru
define(`confMAPDEF', `-DLDAPMAP')
define(`confLIBS', `-lldap -llber')
define(`confLDAP_DEFAULT_SPEC', `-h "192.168.0.4" -b "DC=DOMAIN,DC=RU" -d "CN=Sendmail,OU=Sendmail,DC=domain,DC=ru" -MLDAP_AUTH_SIMPLE -P/etc/mail/ldap_pass')dnl
LDAPROUTE_DOMAIN_FILE(`/etc/mail/ldap_route_domains')dnl
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce')dnl
dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl your permission.
dnl FEATURE(relay_based_on_MX)
dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `your.isp.mail.server')
dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')
dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')
dnl define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
dnl antispam Черные списки.
FEATURE(dnsbl, `bl.spamcop.net', `"550 Mail from " $&{client_addr} " rejected - see bl.spamcop.net"')
FEATURE(dnsbl, `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected - see cbl.abuseat.org"')
FEATURE(dnsbl, `dnsbl.njabl.org', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.njabl.org"')
FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.sorbs.net"')
FEATURE(dnsbl, `list.dsbl.org', `"550 Mail from " $&{client_addr} " rejected - see list.dsbl.org"')
FEATURE(dnsbl, `zen.spamhaus.org', `"550 Mail from " $&{client_addr} " rejected - see zen.spamhaus.org"')
FEATURE(`delay_checks')dnl
FEATURE(`greet_pause', `5000')dnl
dnl Максимальное количество sendmail-процессов,
dnl которые могут быть запущенны одновременно
define(`confMAX_DAEMON_CHILDREN', `10')
dnl Максимальное количество входящих соединений за секунду
define(`confCONNECTION_RATE_THROTTLE', `10')
dnl Максимальный размер почтового сообщения в байтах
define(`confMAX_MESSAGE_SIZE', `5242880')
dnl Максимальное количество получателей в одном сообщении
define(`confMAX_RCPTS_PER_MESSAGE', `50')
dnl различные таймауты, по названию можно догадаться для чего нужны
dnl define(`confTO_CONNECT', `30s')dnl
define(`confTO_IDENT', `0')dnl
dnl define(`confTO_COMMAND', `30s')dnl
dnl define(`confTO_DATABLOCK', `2m')dnl
dnl define(`confTO_STARTTLS', `2m')dnl
MAILER(local)
MAILER(smtp)
dnl Это для milter-greylist , по каким то причинам, у меня он работать отказывается(((
dnl define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO``, {verify}'')
dnl define(`confMILTER_MACROS_ENVRCPT', confMILTER_MACROS_ENVRCPT``, {greylist}'')
dnl INPUT_MAIL_FILTER(`greylist', `S=local:/var/milter-greylist/milter-greylist.sock, F=T, T=R:30s')
дальше его нужно собрать, выполняем
Код: Выделить всё
make
make install
Код: Выделить всё
#touch access mailertable
Код: Выделить всё
domain.ru RELAY
192.168.0. RELAY
192.168.0.5 RELAY (сервер Exchange), без этого не работало, хотя строка выше должна работать для все подсети
Код: Выделить всё
domain.ru smtp:[192.168.0.5] // собственно письма для домена domain.ru перенаправлять на Exchange
Код: Выделить всё
/etc/mail/aliases; local-host-names; virtusertable; информации о domain.ru не должно быть, иначе вся почта будет оставаться на данном сервере.
Код: Выделить всё
make
make install
make restart - если сендмаил был запущен. Иначе запускаем его #sendmail -bd -q10m
Код: Выделить всё
Заходим в System Manager. Открываем закладку Servers. Выбираем наш сервер, Protocols - SMTP - Default SMTP Virtual Server - Properties - Access - Relay Далее добавляем ip адрес с которого можно проводить relay. Вводим 192.168.0.83 IP сервера Sendmail.
В закладке Delivery - Advanced - Smart Host - вписываем [192.168.0.83], т.е перенаправлять почту на Sendmail
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- рядовой
- Сообщения: 27
- Зарегистрирован: 2007-09-29 9:38:03
Re: Sendmail -> MS Exchange
Можно попробовать написать))) только для начала покопаю возможности))
-
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
- Контактная информация:
Re: Sendmail -> MS Exchange
К нам тоже пришел такой праздник... =/
Если я правильно понял, во вне у вас смотрит сендмайл, который перекидывает письма внутреннему эксченджу. Схема в принципе неплохая, но возник один вопрос, почему бы из этой схемы не выкинуть сендмайл вообще? Из существующих причин, вижу пока только, что антиспам для эксчейнджа платный...
Если я правильно понял, во вне у вас смотрит сендмайл, который перекидывает письма внутреннему эксченджу. Схема в принципе неплохая, но возник один вопрос, почему бы из этой схемы не выкинуть сендмайл вообще? Из существующих причин, вижу пока только, что антиспам для эксчейнджа платный...
truth is out there...
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Sendmail -> MS Exchange
тупой он...
да и стёрмно винду наружу вытыкать...
неизвестно какие там технологические отверсия оставлены по требованиям правительства США
да и стёрмно винду наружу вытыкать...
неизвестно какие там технологические отверсия оставлены по требованиям правительства США
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
- Контактная информация:
Re: Sendmail -> MS Exchange
И эт тоже Ну вроде "начальство" дало добро, хоть немножко легче стало
truth is out there...
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-07-30 18:52:57
Re: Sendmail -> MS Exchange
У меня попытка проделать такое же закончилась на ошибке
554 5.0.0 /etc/mail/sendmail.cf: line 201: unknown configuration line "(&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))"
Конфиг sendmail
define(`confLDAP_DEFAULT_SPEC', `-h "192.168.1.250" -b "DC=csri,DC=local" -d "CN=ldapsearch,CN=users,DC=csri,DC=local" -MLDAP_AUTH_SIMPLE -P/etc/mail/ldap
LDAPROUTE_DOMAIN_FILE(`/etc/mail/ldap_route_domains')dnl
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k
(&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce')dnl
хелп
554 5.0.0 /etc/mail/sendmail.cf: line 201: unknown configuration line "(&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))"
Конфиг sendmail
define(`confLDAP_DEFAULT_SPEC', `-h "192.168.1.250" -b "DC=csri,DC=local" -d "CN=ldapsearch,CN=users,DC=csri,DC=local" -MLDAP_AUTH_SIMPLE -P/etc/mail/ldap
LDAPROUTE_DOMAIN_FILE(`/etc/mail/ldap_route_domains')dnl
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k
(&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce')dnl
хелп
-
- проходил мимо
Re: Sendmail -> MS Exchange
Хмм, sendmail должен быть собран с поддержкой ldap.
Попробуй:
APPENDDEF(`conf_sendmail_ENVDEF',-DLDAPMAP')
APPENDDEF(`conf_libsm_ENVDEF',-DLDAPMAP')
APPENDDEF(`confINCDIRS',-I/usr/local/include')
APPENDDEF(`confLIBDIRS',-L/usr/local/lib')
APPENDDEF(`conf_sendmail_LIBS',-lldap -llber')
Попробуй:
APPENDDEF(`conf_sendmail_ENVDEF',-DLDAPMAP')
APPENDDEF(`conf_libsm_ENVDEF',-DLDAPMAP')
APPENDDEF(`confINCDIRS',-I/usr/local/include')
APPENDDEF(`confLIBDIRS',-L/usr/local/lib')
APPENDDEF(`conf_sendmail_LIBS',-lldap -llber')
- rootaxe
- рядовой
- Сообщения: 17
- Зарегистрирован: 2008-01-30 6:45:42
- Откуда: Иркутск
Re: Sendmail -> MS Exchange
smertnik, спасибо. Очень кстати я набрел на этот фак. Скоро тоже предстоит такую связку делать.smertnik писал(а):Ну вроде все
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-07-30 18:52:57
Re: Sendmail -> MS Exchange
могу скинуть конфиги если чЁ
- rootaxe
- рядовой
- Сообщения: 17
- Зарегистрирован: 2008-01-30 6:45:42
- Откуда: Иркутск
Re: Sendmail -> MS Exchange
Спасибо. Было бы хорошо.megaalc писал(а):могу скинуть конфиги если чЁ
Кстати. Будет ли такая схема работать если почту по pop3 fetchmail забирает (вроде ж разницы никакой для шлюза)? Хочу попробовать антиспам от google или yandex.
-
- проходил мимо
Re: Sendmail -> MS Exchange
Сделал все по пунктам, неработает
проверка
----------------------------
sendmail -bt
>$={LDAPRoute}
blabla.ru
>/map ldapmra user@blabla.ru
map_lookup: ldapmra (user@blabla.ru) returns user@blabla.ru
>/map ldapmra wrong_user@blabla.ru
map_lookup: ldapmra (wrong_user@blabla.ru) no match (68)
___________
проходит правильно
Если телнетом rcpt to:<wrong_user@blabla.ru> --- Rec... OK! как и существующий адрес и ползет дальше по mailertable
bounce в FEATURE(`ldap_routing',`null',`ldap -1 -T -v mail -k (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce') должно отбрасывать. нехочет
проверка
----------------------------
sendmail -bt
>$={LDAPRoute}
blabla.ru
>/map ldapmra user@blabla.ru
map_lookup: ldapmra (user@blabla.ru) returns user@blabla.ru
>/map ldapmra wrong_user@blabla.ru
map_lookup: ldapmra (wrong_user@blabla.ru) no match (68)
___________
проходит правильно
Если телнетом rcpt to:<wrong_user@blabla.ru> --- Rec... OK! как и существующий адрес и ползет дальше по mailertable
bounce в FEATURE(`ldap_routing',`null',`ldap -1 -T -v mail -k (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce') должно отбрасывать. нехочет
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2011-01-25 17:32:55
Re: Sendmail -> MS Exchange
Подскажите тоже плз... Все сделал как в факе, но sendmail выдаёт это:
Что с этим делать? В инете вменяемой инфы не нарыл
Код: Выделить всё
#sendmail -bd -q10m
554 5.0.0 No local mailer defined
554 5.0.0 QueueDirectory (Q) option must be set
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2011-01-25 17:32:55
Re: Sendmail -> MS Exchange
Да, выдает ещё сообщение про незакрытую скобку:
#make
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 freebsd.domain.ua.mc > freebsd.domain.ua.mc.cf
m4: unexpected end of input, unclosed parenthesis:
/usr/share/sendmail/cf/feature/access_db.m4 at line 49
*** Error code 1
В файле freebsd.domain.ua.mc проверил все скобки, всё соответствует.
#make
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 freebsd.domain.ua.mc > freebsd.domain.ua.mc.cf
m4: unexpected end of input, unclosed parenthesis:
/usr/share/sendmail/cf/feature/access_db.m4 at line 49
*** Error code 1
В файле freebsd.domain.ua.mc проверил все скобки, всё соответствует.
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Sendmail -> MS Exchange
Как минимум, проверьте наличие строкиRE_SET писал(а):Подскажите тоже плз... Все сделал как в факе, но sendmail выдаёт это:
#sendmail -bd -q10m
554 5.0.0 No local mailer defined
554 5.0.0 QueueDirectory (Q) option must be set
Что с этим делать? В инете вменяемой инфы не нарыл
O QueueDirectory=/var/spool/mqueue
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2011-01-25 17:32:55
Re: Sendmail -> MS Exchange
Хм, строки в каком файле?blade_007 писал(а): Как минимум, проверьте наличие строки
O QueueDirectory=/var/spool/mqueue
Похоже, проблема в незакрытой скобке(мой пост выше), подскажите плз, в каком файле проверять скобки при такой ошибке?
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2011-01-25 17:32:55
Re: Sendmail -> MS Exchange
Разобрался... Лишних скобок так и не нашел, но аккуратно ещё раз скопипастил конфиг из фака, заработало!
Спасибо!
Спасибо!
-
- проходил мимо
Re: Sendmail -> MS Exchange
Киньте пожалуйста сюда рабочий скрипт... Поиск-гугл юзал, не нашёл./usr/local/etc/rc.d/sendmail.sh - пример скрипта можно найти во многих статьях данного сайта, немного подредактировав.