Exim 19 Роутер iplookup

Материал из wiki.lissyara.su
Перейти к: навигация, поиск

Роутер iplookup

“Iplookup” роутер был написан для выполнения специальных требований в Кэмбриджском университете. По этой причине, он не включён в бинарный файл Exim по умолчанию. Если вы хотите включить его, то вы должны указать

ROUTER_IPLOOKUP=yes

в конфигурационном файле “Local/Makefile”.

“Iplookup” роутер маршрутизирует адрес путём посылки его посредством TCP или UDP соединения одному или нескольким особым узлам. Затем узел может возвратить либо тот же самый, либо другой адрес - в действительности переписав адрес получателя в конверте сообщения. Затем новый адрес передается последующим роутерам, или доставка может быть задержана.Так как “iplookup” - только маршрутизатор перезаписи, транспорт(транспортировка) не должен быть определён для этого.


hosts Use: iplookup Type: string Default: unset

Эта опция должна быть установлена. Её значение - это список имён узлов, разделённый двоеточиями. Разрешение IP-адресов узлов осуществляется при помощи функций “ggethostbyname()” (или “getipnodebyname()” если доступна). Затем адреса пробуются по очереди, до тех пор пока один из них не ответит на запрос. Если ни один узел не ответил, то дальнейшие действия управляются опцией “optional”.


optional Use: iplookup Type: boolean Default: false

Если “optional” истинна (true), и если ни от одного узла не поступил ответ, то адрес передается следующему роутеру, перекрывая опцию “no_more”. Если “optional” ложна (false), то доставка на этот адрес откладывается.


port Use: iplookup Type: integer Default: 0

Эта опция должна быть установлена. Она определяет номер TCP- или UDP-порта назначения.


protocol Use: iplookup Type: string Default: udp

Эта опция может быть установлена либо в “udp”, либо в “tcp” для определения какой из этих двух протоколов использовать.


query Use: iplookup Type: string† Default: $local_part@$domain $local_part@$domain

Опция определяет содержание запроса, посылаемого на удалённые узлы. Повтор служит как способ проверки, что ответ на корректный запрос приходит в регистре по умолчанию (см. опцию “response_pattern” ниже).


reroute Use: iplookup Type: string† Default: unset

Если эта опция не определена, то адрес изменённого маршрута (rerouted address) есть строка байтов, возвращённая удалённым узлом до первого пробела. Она может включать в себя фрагменты, полученные в ответ на опцию “response_pattern”, ссылаясь на них посредством числовых переменных, таких как “$1”, “$2” и т.д. Переменная “$0” ссылается на целую входную строку, независимо от использования шаблона. Во всех случаях, адрес изменённого маршрута должен оканчиваться в виде “local_part@domain”.


response_pattern Use: iplookup Type: string Default: unset

Эта опция может быть определена как регулярное выражение, которое применяется к строке, возвращаемой удалённым узлом. Если шаблон не совпадает с ответом, роутер отклоняется. Если опция “response_pattern” не определена, то проверки ответа не происходит, пока запрос не выполнен, в этом случае проверяется что текст, возвращённый после первого пробела, является исходным адресом. Этим проверяется, что полученный ответ является откликом на корректный вопрос. К примеру, если ответ это просто новый домен, то может быть использована следующая конструкция:

response_pattern = ^([^@]+)$
reroute = $local_part@$1


timeout Use: iplookup Type: time Default: 5s

Эта опция определяет время ожидания ответа удалённого узла. Таймаут с этим же значением используется функцией “connect()” в случае TCP-соединения. Опция к протоколу UDP неприменима.


translated by http://exim.org.ua/mailman/listinfo/exim-doc-translation
edit, verification and actuality by lissyara