The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"exim ACL"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"exim ACL"  +/
Сообщение от wishguest on 26-Июн-11, 17:51 
Доброго времени суток !

Проблема в следующем при отправке почты exim-ом
почтовая сессия рвется на этапе прохождения ACL

Все рубится правилом


accept  hosts         = +relay_from_hosts
        deny hosts         =!+relay_from_hosts
             message     =  domain isn't relayed


В начале конфига указан hostlist relay_from_hosts


hostlist relay_from_hosts =${lookup pgsql{SELECT hosts FROM relayfromhosts}}


в который выгребаются данные из pgsql

В базе данных таблица relayfromhosts выглядит так:


exim=> select * from relayfromhosts;
     hosts      
----------------
localhost
192.168.0.0/16
(2 rows)

exim=>

Ответить | Правка | Cообщить модератору

Оглавление

  • exim ACL, DeadLoco, 19:21 , 26-Июн-11, (1)  
    • exim ACL, wishguest, 19:23 , 26-Июн-11, (2)  
      • exim ACL, DeadLoco, 19:32 , 26-Июн-11, (3)  

Сообщения по теме [Сортировка по времени | RSS]


1. "exim ACL"  +/
Сообщение от DeadLoco (ok) on 26-Июн-11, 19:21 
В случае, когда письмо отдается МТА локально, не происходит удаленного коннекта и переменная remote_hostname оказывается пустой. Соответственно, не проходится проверка на присутствие в списке релеимых хостов. Чтобы разрешить вброс писем в МТА с локалхоста, нужно в список разрешенных хостов добавить пустой хост. Это делается так:

        accept hosts = : +relay_from_hosts

Двоеточие разделяет списки хостов, первый список, от равенства до двоеточия, как раз пуст. Второй - это ваш, извлекаемый из БД.
Кстати, у вас два правила, а не одно. Первое - разрешающее пустой и БД-список, а второе - запрещающее все остальное с сообщением:

        deny message = domain isn't relayed

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "exim ACL"  +/
Сообщение от wishguest on 26-Июн-11, 19:23 
>[оверквотинг удален]
> МТА с локалхоста, нужно в список разрешенных хостов добавить пустой хост.
> Это делается так:
>         accept hosts = :
> +relay_from_hosts
> Двоеточие разделяет списки хостов, первый список, от равенства до двоеточия, как раз
> пуст. Второй - это ваш, извлекаемый из БД.
> Кстати, у вас два правила, а не одно. Первое - разрешающее пустой
> и БД-список, а второе - запрещающее все остальное с сообщением:
>         deny message = domain
> isn't relayed

Проблема была в том , что

>>> host in "192.168.0.0/16
>>> localhost
>>> 10.10.10.5/32"? no (end of list)
>>> host in "!+relay_from_hosts"? yes (end of list)
>>> deny: condition test succeeded

550 domain isn't relayed
LOG: H=(kgfk) [192.168.10.34] F=<hper@net> rejected RCPT hgj@net: domain isn't relayed
LOG: SMTP command timeout on connection from (kgfk) [192.168.10.34]

таблица relayfromhosts создана сo столбцом hosts , который имеет тип данных text
поменял тип данных на cidr, проблема отпала


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "exim ACL"  +/
Сообщение от DeadLoco (ok) on 26-Июн-11, 19:32 
> поменял тип данных на cidr, проблема отпала

Я конфиги храню в мускле, поля текстовые, все ок. Вероятно, специфика постгреса.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру