EXIM + FreeBSD + ACL

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
vdscout
проходил мимо
Сообщения: 4
Зарегистрирован: 2012-11-15 15:11:36

EXIM + FreeBSD + ACL

Непрочитанное сообщение vdscout » 2012-11-15 15:26:05

Добрый день.

Подскажите, пожалуйста, что не так. Идея сделать релей для определенных доменов (от всех на конкретные) .
Конкретные прописаны в файле.
Конфигы выглядят так:

Код: Выделить всё


configure:

#Setup relay domain
domainlist my_relay_for_domains = /usr/local/etc/exim/10.relay_domains
acl_smtp_rcpt = acl_check_rcpt

begin acl

acl_check_sender:
.include_if_exists /usr/local/etc/exim/10.acl_check_sender

Код: Выделить всё

10.relay_domains:
# relay mail for this list of domains
ikmb.ru

Код: Выделить всё

10.acl_check_rcpt:

    accept message              = "Relay for $domain not permit."
        domains                 = +my_relay_for_domains
        set acl_c_spamscore     = 0
        logwrite                = "Begin: ACL_c_spamscore = $acl_c_spamscore"

accept

когда засылаем на 25-й порт серверу вот это:

Код: Выделить всё

helo ikmb.ru
mail from:<qweqweqwe@yandex.ru>
rcpt to:<dfgsdf@ikmb.ru>
он говорит что 250 "Relay for ikmb.ru not permit"
Почему? Стоит же команда accept.

а если через генератор, то:

Код: Выделить всё

qmir# /usr/local/sbin/exim -bhc 95.108.130.94

**** SMTP testing session as if from host 95.108.130.94
**** but without any ident (RFC 1413) callback.
**** This is not for real!

>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 qmir.fvds.ru ESMTP Exim 4.77 Thu, 15 Nov 2012 12:23:34 +0000
helo ikmb.ru
>>> ikmb.ru in helo_lookup_domains? no (end of list)
250 qmir.fvds.ru Hello ikmb.ru [95.108.130.94]
mail from:<qweqweqwe@yandex.ru>
250 OK
rcpt to:<dfgsdf@ikmb.ru>
>>> using ACL "acl_check_rcpt"
>>> processing "accept"
>>> check domains = +my_relay_for_domains
>>> ikmb.ru in "/usr/local/etc/exim/10.relay_domains"? yes (matched "ikmb.ru" in /usr/local/etc/exim/10.relay_domains)
>>> ikmb.ru in "+my_relay_for_domains"? yes (matched "+my_relay_for_domains")
>>> check set acl_c_spamscore = 0
>>> looking up host name for 95.108.130.94
>>> IP address lookup yielded forward12.mail.yandex.net
>>> gethostbyname looked up these IP addresses:
>>>   name=forward12.mail.yandex.net address=95.108.130.94
>>> checking addresses for forward12.mail.yandex.net
>>>   95.108.130.94 OK
>>> check logwrite = "Begin: ACL_c_spamscore = $acl_c_spamscore, Connected from host - $sender_host_name, Recive HELO/EHLO - $sender_helo_name"
>>>                = "Begin: ACL_c_spamscore = 0, Connected from host - forward12.mail.yandex.net, Recive HELO/EHLO - ikmb.ru"
LOG: "Begin: ACL_c_spamscore = 0, Connected from host - forward12.mail.yandex.net, Recive HELO/EHLO - ikmb.ru"
>>> accept: condition test succeeded
250 "Relay for ikmb.ru not permit. "
Последний раз редактировалось f_andrey 2012-11-15 15:54:19, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

werder31
сержант
Сообщения: 217
Зарегистрирован: 2009-12-22 10:48:41
Откуда: from Ukraine
Контактная информация:

Re: EXIM + FreeBSD + ACL

Непрочитанное сообщение werder31 » 2012-11-15 17:24:22

Насколько я понимаю)))) то вы даете реджект всем кто в вашем списке :)

Код: Выделить всё

10.acl_check_rcpt:
       domains                 = !+my_relay_for_domains
Думаю лучше так:

Код: Выделить всё

 defer hosts    = !+whitelist_sender
Любите жизнь, ведь она все равно отымеет..так хоть по любви!

vdscout
проходил мимо
Сообщения: 4
Зарегистрирован: 2012-11-15 15:11:36

Re: EXIM + FreeBSD + ACL

Непрочитанное сообщение vdscout » 2012-11-16 8:53:39

werder31 писал(а):Насколько я понимаю)))) то вы даете реджект всем кто в вашем списке :)

Код: Выделить всё

10.acl_check_rcpt:
       domains                 = !+my_relay_for_domains
у меня в листинге нет отрицания (!). Почему вы решили что даю реджект?

werder31
сержант
Сообщения: 217
Зарегистрирован: 2009-12-22 10:48:41
Откуда: from Ukraine
Контактная информация:

Re: EXIM + FreeBSD + ACL

Непрочитанное сообщение werder31 » 2012-11-16 12:18:13

Попробуйте так:

Код: Выделить всё

     accept domains = +my_relay_for_domains
     set acl_c_spamscore = 0
     logwrite = "Begin: ACL_c_spamscore = $acl_c_spamscore"
     
     deny    message       = "Relay for $domain not permit."
В это случаэ Вы сначала разрешаете для своих от всех и запрещаете потом для всех
Любите жизнь, ведь она все равно отымеет..так хоть по любви!

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: EXIM + FreeBSD + ACL

Непрочитанное сообщение dikens3 » 2012-11-18 19:55:34

Человек сам изменил сообщение сервера строкой message = ... А теперь недоволен что там не 250 ОК.

Код 250 - это не отказ сервера, если что.

Так сделайте:

Код: Выделить всё

10.acl_check_rcpt:

    accept  domains                 = +my_relay_for_domains
        set acl_c_spamscore     = 0
        logwrite                = "Begin: ACL_c_spamscore = $acl_c_spamscore"

accept
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.