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

Подскажите как можно реализовать Exim.

Добавлено: 2008-12-08 13:39:16
Fedor
Доброе время суток!

Подскажите как можно реализовать, чтобы роутер отрабатывал только на внешнем сетевом интерфейсе, а на внутреннем чтобы не работал?

Всего хорошего, Федор

Re: Подскажите как можно реализовать Exim.

Добавлено: 2008-12-08 13:51:14
dikens3
$interface_address
Как только сервер начинает обрабатывать TCP/IP соединение, эта переменная принимает значение IP-адреса локального интерфейса, а в переменную “$interface_port” устанавливается номер порта. Поэтому эти значения доступны для использования в “connect” ACL. Также смотрите опцию командной строки “-oMi”. Как присутствующая в ACL, эта переменная может использоваться, например, для создания имени файла, для сертификата TLS, зависящего от того какой порт/интерфейс используется.

Re: Подскажите как можно реализовать Exim.

Добавлено: 2008-12-08 16:45:12
Fedor
Спасибо за наводку.

Только вот чего-то не получается объединить два роутера в один

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

no_check_dspam:
    driver = redirect
    condition = ${if or {{eq {$interface_address}{127.0.0.1}} {eq {$interface_address}{x.x.x.x}}} {yes}{no}}
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@$domain}'}{${local_part}@$domain}{:fail: User unknown}}
    redirect_router = virtual_users

dspam_check:
    no_verify
    driver = accept
    domains = +local_domains
    transport = spamcheck
    require_files = /var/spool/dspam:/usr/local/dspam/bin/dspam
    condition = "${if and {{!eq {$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} } {1}{0}}"
Пробую делать вот так

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

dspam_check:
    no_verify
    driver = accept
    domains = +local_domains
    transport = spamcheck
    require_files = /var/spool/dspam:/usr/local/dspam/bin/dspam
    condition = "${if and {{!eq {$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} {!eq {$interface_address}{127.0.0.1}} } {1}{0}}"
Работает, но ни как не могу вставить проверку на или "or", т.е. еще

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

{!eq {$interface_address}{x.x.x.x}}
Всего хорошего, Федор.

Re: Подскажите как можно реализовать Exim.

Добавлено: 2008-12-11 10:54:59
Fedor
Кому интересно

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

dspam_check:
    no_verify
    driver = accept
    domains = +local_domains
    transport = spamcheck
    require_files = /var/spool/dspam:/usr/local/dspam/bin/dspam
    condition = "${if and {{!eq {$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} {eq {$interface_address}{адрес внешнего интерфейса}} } {1}{0}}"