Перейти к содержимому


Фото
- - - - -

Smtp-proxy на несколько доменов


  • Please log in to reply
7 ответов в этой теме

#1 that_this

that_this

    Newbie

  • Posters
  • 3 Сообщений:

Отправлено 09 Февраль 2009 - 16:52

Возник такой вопрос по smtp proxy (drweb-receiver)

Может ли данный продукт перенаправлять сообщения после проверки на разные IP-адреса в зависимости от домена получателя? Т.е. на прокси приходит почта для нескольких разных доменов, после проверки сообщения нужно доставить по своему IP-адресу, закрёпленому за этим доменом, но не по МХ-записи (т.к. smtp proxy и есть основной МХ). В конфиге нашёл Sender/Router и Sender/Address только немного не понятно, как это использовать для этой цели (и можно ли, хотя сильно подозреваю, что нет). Или это лучше отдавать локальному МТА и подобное делать уже на его стороне?

#2 p@uk

p@uk

    Newbie

  • Posters
  • 69 Сообщений:

Отправлено 09 Февраль 2009 - 17:19

отдавайте письмо обратно на mta, и он уже пусть занимается этим делом. как говорится каждому свое. пущай каждый делает то, что лучше всего умеет.

#3 Ivan Kuznetsov

Ivan Kuznetsov

    Member

  • Posters
  • 346 Сообщений:

Отправлено 09 Февраль 2009 - 17:26

Может ли данный продукт перенаправлять сообщения после проверки на разные IP-адреса в зависимости от домена получателя? Т.е. на прокси приходит почта для нескольких разных доменов, после проверки сообщения нужно доставить по своему IP-адресу, закрёпленому за этим доменом, но не по МХ-записи (т.к. smtp proxy и есть основной МХ). В конфиге нашёл Sender/Router


Sender/Router - как раз то, что нужно.

Router "@domain.ru>" smtp.domain.ru

Только я бы все равно в таком случае поднял локальный MTA, ибо возможностей маршрутизации у postfix или sendmail намного больше и управлять ими удобнее
С уважением, Иван Кузнецов
ООО "СОЛВО"

#4 that_this

that_this

    Newbie

  • Posters
  • 3 Сообщений:

Отправлено 09 Февраль 2009 - 18:44

Вот только он почему-то зацикливается на параметре Address из [Senders] Указываю Address = mx:ip.of.ns.srv и в логах вот что:

Feb 9 14:53:55 av0 drweb-sender: [28502300] sender INFO get msg [from: <root@domain.net>; to:<postmaster@domain.org>; id: absvYavTh] from queue for processing...
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender WARN Soft error for MX record of ip.of.ns.srv host
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender.SmtpDeliverMethod WARN Router soft error for address <postmaster@domain.org>
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender.MailDeliverSystem WARN fail to send message at 2 time (number of rcpts to send=1)
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender.MailDeliverSystem INFO Next attempt for msg [from: <root@domain.net>; to:<postmaster@domain.org>; id: absvYavTh] after 60 sec
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender.RequestQueue INFO put msg [from: <root@domain.net>; to:<postmaster@domain.org>; id: absvYavTh] to queue for processing after 60 sec

В документации:


При работе Dr.Web MailD в режиме SMTP-proxy кроме стандартных типов в данном параметре разрешается использовать TYPE вида: mx:HOSTNAME, где HOSTNAME – имя хоста. В случае использования такого типа программный комплекс получает с HOSTNAME все MX-записи и отправляет сообщение в соответствии с ними.

Как я понимаю, HOSTNAME это адрес NS-сервера или что-то другое имеется ввиду? Как всё же толкнуть доставку сообщений силами самого smtp proxy в нужном направлении?

PS Да, и ещё - если релеить только по имени домена, то могут быть баунсы из-за несуществующих юзеров. Как это обойти в данном ПО? Достаточно ли указывать в routers не просто имя домена а полностью адреса получателей? Или как-то иначе?

#5 pig

pig

    Бредогенератор

  • Helpers
  • 10 855 Сообщений:

Отправлено 09 Февраль 2009 - 19:27

Ну какой может быть MX у IP-адреса? На хост надо отправлять. То есть, согласно написанному, - убрать префикс mx:, и всё должно заработать правильно.
Почтовый сервер Eserv тоже работает с Dr.Web

#6 Ivan Kuznetsov

Ivan Kuznetsov

    Member

  • Posters
  • 346 Сообщений:

Отправлено 09 Февраль 2009 - 19:40

Вот только он почему-то зацикливается на параметре Address из [Senders] Указываю Address = mx:ip.of.ns.srv и в логах вот что:

Feb 9 14:53:55 av0 drweb-sender: [28502300] sender INFO get msg [from: <root@domain.net>; to:<postmaster@domain.org>; id: absvYavTh] from queue for processing...
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender WARN Soft error for MX record of ip.of.ns.srv host
Feb 9 14:53:55 av0 drweb-sender: [28502300] sender.SmtpDeliverMethod WARN Router soft error for address <postmaster@domain.org>


А где здесь зацикливание? Sender пытается отправить сообщение, не получается, сообщение возвращается обратно в очередь. Не получается по причине "error for MX record of ip.of.ns.srv host". С этой ошибкой и нужно разбираться

Что у вас выводит команда
'host -t MX ip.of.ns.srv'?

При работе Dr.Web MailD в режиме SMTP-proxy кроме стандартных типов в данном параметре разрешается использовать TYPE вида: mx:HOSTNAME, где HOSTNAME – имя хоста. В случае использования такого типа программный комплекс получает с HOSTNAME все MX-записи и отправляет сообщение в соответствии с ними.

Как я понимаю, HOSTNAME это адрес NS-сервера или что-то другое имеется ввиду?


При чем тут сервер имен? HOSTNAME - в данном случае, адрес почтового (SMTP) сервера, куда нужно отроутить сообщение. Специальная форма (c mx:) позволяет задать этот адрес косвенным образом - по MX-записям для домена. Удобно, если DNS для данного домена находятся не под вашим контролем

Да, сочетание mx: и ip-адреса бессмысленно


PS Да, и ещё - если релеить только по имени домена, то могут быть баунсы из-за несуществующих юзеров. Как это обойти в данном ПО? Достаточно ли указывать в routers не просто имя домена а полностью адреса получателей? Или как-то иначе?


В селекторе router можно указывать любые фрагменты адресов, в т.ч. и адреса полностью:
Router "<user@domain.ru>" smtp.domain.ru

P.S. Возвращаюсь к рекомендации сделать роутинг средствами MTA, а maild задействовать в качестве фильтра, а не прокси
С уважением, Иван Кузнецов
ООО "СОЛВО"

#7 that_this

that_this

    Newbie

  • Posters
  • 3 Сообщений:

Отправлено 09 Февраль 2009 - 20:31

В документации написано:

В случае использования такого типа программный комплекс получает с HOSTNAME все MX-записи и отправляет сообщение в соответствии с ними.


Я может, чего не понимаю, но на мой взгляд здесь явно написано, что при записи mx:HOSTNAME будет запрос МХ-записей именно с HOSTNAME (через стандартный ns-запрос или иначе как) а не запрос МХ-записей по нему или прямая попытка доставить именно на HOSTNAME. Иначе тут вопрос к формулировкам в документации.


Кстати, если использовать maild как фильтр, не подскажете, как эта вся обвязка может жить при минимуме в 100 тысяч сообщений в час на не самом топовом железе? Синтетические тесты дадут синтетический результат а на живых людях проводить эксперименты нет ни возможностей ни желания.

#8 Ivan Kuznetsov

Ivan Kuznetsov

    Member

  • Posters
  • 346 Сообщений:

Отправлено 10 Февраль 2009 - 10:27

Вне зависимости от режима использования maild, нагрузка на сервер получается приличная. По моим результатам, основной потребитель - плагин vaderetro. drwebd кушает процессор в разы меньше.

Я так понимаю, что 100К сообщ/час - это среднее значение. Могут быть всплески до 1.5-2. Т.е. есть смысл рассчитывать на 150-200К.

Железо должно быть достойным. Однозначно под базу maild задействовать tmpfs или что-либо подобное, с файловой системой без журналирования (e.g. ext2). Наверное, разнести MTA и maild по разным машинам. Возможно, собрать что-нибудь типа кластера - пару-тройку серверов с maild, MTA работает с ними через milter с балансировкой нагрузки. По всей видимости, одним сервером с MTA вы тоже не обойдетесь.

У меня до ~100К сообщ/сутки, т.е. на 1.5 порядка меньше. MTA postfix (на довольно слабом сервере, но хватает). Сделана предварительная фильтрация средствами postfix (smtpd_client_restrictions = reject_unknown_reverse_client_hostname). maild на другом сервере (P4 dual core, RAM 4G, hardware RAID) - load временами подпрыгивает до 2-3, но там еще разные другие сервисы крутятся
С уважением, Иван Кузнецов
ООО "СОЛВО"


Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых