настройка локального mail на роутере

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-01 15:29:35

Есть домен mysite.ru, в нем есть почтовый сервер mail.mysite.ru
На роутере установлен apache/php/mysql - крутится сайт. Соотв. имя mysite.ru привязано к ip роутера.
mail.mysite.ru это другой хост в локальной подсети.
Имена почтовых ящиков прописываются как user@mysite.ru

Когда клиенты подключаются снаружи, у них прописан внешний ip mx-зоны, и почта divert'ится на mail.mysite.ru
Когда клиенты заходят изнутри, в днс mail.mysite.ru прописан его внутренний ip, и почта тоже доставляется.

А вот когда я пытаюсь отправить почту с роутера на внутренние адреса, она не доставляется:
Я пишу: >mail user@mysite.ru
И в результате приходит письмо с ошибкой: 554 5.0.0 MX list for mysite.ru. points back to router.mysite.ru
Логично, потому что он действительно туда указывает - MX зона ссылается на роутер.

Вопрос, что тут можно придумать?
Как я понимаю, ошибку возвращает не почтовик, а сам роутер?
Может, можно как-нибудь указать ему, чтобы он использовал при отправке требуемый smtp-сервер? Или прописать в настройках почты роутера, что mysite.ru на самом деле должен указывать на mail.mysite.ru?

Вроде бы, ситуация довольно типичная, как тут лучше сделать?

Хостинговая компания 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/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: настройка локального mail на роутере

Непрочитанное сообщение terminus » 2009-06-01 16:29:28

спецЫ по системному sendmail есть на форуме? :Bravo:

на рутере ведь только стандартный sendmail установлен?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-01 16:36:01

да, я почту на роутере вообще не настраивал - надо только письма про выполненные кроны отсылать и с веб-сервера. Как я понимаю, и то и другое просто команду sendmail вызывает...

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: настройка локального mail на роутере

Непрочитанное сообщение Gloft » 2009-06-01 19:29:06

По умолчанию sendmail отправляет почту только локально, тоесть между локальными пользователями.
Т.к. ты пишешь, что роутер у тебя работает как ретранслятор почты то это уже настройки не по умолчанию.
Смотри конфиги, можут у тебя впринципе запрещено доставлять почту на локальную машину(роутер).
Попробуй так:

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

# mail userLocal
В подобных случаях sendmail понимает, что почта доставляется локальному пользователю (если только на него не стоит алиас).
Если настраивал через m4 и .mc то проверь в нем наличие строки:

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

MAILER(local)
В целом конфигурация была изменена от той которая стояла по умолчанию и соответственно, что там настроено можешь знать только ты.

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-02 22:34:07

Gloft писал(а):По умолчанию sendmail отправляет почту только локально, тоесть между локальными пользователями.
Т.к. ты пишешь, что роутер у тебя работает как ретранслятор почты то это уже настройки не по умолчанию.
Смотри конфиги, можут у тебя впринципе запрещено доставлять почту на локальную машину(роутер).
"почта divert'ится на mail.mysite.ru" - я имел в виду просто через ipfw:

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

divert ${nat_mail} tcp from any to ${oip} dst-port 25 in via ${oif}
divert ${nat_mail} tcp from ${mailip} 25 to any out via ${oif}
sendmail я не трогал.
Все что я менял по сравнению со стандартной настройкой sendmail - прописал в /etc/mail/aliases алиас для рута: root: email@gmail.com
Пробую "mail root" - письмо приходит на этот внешний ящик без проблем.
И кстати приходит от имени root@router.mysite.ru (router это имя которое у меня прописано в hosts)

А вот как ему (sendmail'у) сказать, что письма на mysite.ru надо на самом деле отправлять на ip почтовика?
И еще вопрос: как поменять имя и хост отправителя, чтобы письма шли не с root@router.mysite.ru, а с mymail@mysite.ru ?
Как я понимаю, это все-таки настройки sendmail?
Хандбук про sendmail читал, ничего подходящего не нашел...

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: настройка локального mail на роутере

Непрочитанное сообщение Gloft » 2009-06-03 7:50:48

Почитай еще документацию там все есть.
Все что тебе взбредет в голову проделать с почтой sendmail это умеет.

Для маскарадинга есть макрос:

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

MASQUERADE_AS(`mysite.ru')
Тогда вся исходящая почта будет уходить от sendmail с заменой домена на mysite.ru
В руководстве рекомендуют исключить из маскарадинга пользователей root и Mailer-Daemon.
Т.к. ты сможешь идентифицировать ошибки и сообщений приходящие от этих пользователей и сопоставить их конкретному серверу.
Для этого необходимо добавить в конфигурационный файл:

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

EXPOSED_USER(`root')
EXPOSED_USER(`Mailer-Daemon')
Если ты трогал только файл алиасов, то sendmail настроен на примем локальной почты.
Тест который ты проделал (mail root), в данном случае не коректен, т.к. для него указан алиас и sendmail отработал так как и должен был.
Если есть локальный пользователь без алиаса на внешний почтовый ящик, то попробуй отправить почту ему и смотри что получится.

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-08 14:01:15

Разбирался с тем, что такое вообще sendmail, как его настраивать вообще, и в частности под freebsd.
И сформулировал для себя, что нужно сделать:

1. Настраиваемый sendmail будет использоваться ТОЛЬКО для отправки почты, и ТОЛЬКО с локальной машины (c внутренним ip 192.168.0.1)
2. Настраиваемый sendmail будет отправлять почту с собственного smtp-сервера - никаких релеев не нужно
3. Он будет отправлять почту и во внешний мир, и на внутренний корпоративный почтовик (с ip 192.168.0.11)
4. На роутере в ДНС прописано: mysite.ru - 192.168.0.1 (сам роутер), и mail.mysite.ru - 192.168.0.11 (корпоративный почтовик).
5. Надо, чтобы почта, идущая на user@mysite.ru попадала на mail.mysite.ru
6. Надо, чтобы при отправке почты в качестве адреса отправителя можно было указывать user@mysite.ru, с различными user

В данный момент я прописал MX-запись для внутреннего ДНС как mail.mysite.ru - 192.168.0.11 - в результате почта пытается туда идти, но не проходит из-за неправильного адреса отправителя: user@router.mysite.ru, а надо user@mysite.ru
MASQUERADE_AS как я понимаю меняет хост получателя, а не отправителя (во всяком случае письма на gmail приходят именно с получателем user@mysite.ru)


Кроме того, есть еще 1 вопрос:
тот же почтовик имеет 2-й домен: mysite2.ru, и на него тоже надо отправлять почту на mail.mysite2.ru - 192.168.0.11
И когда я пытаюсь отправлять почту на user@mysite2.ru - sendmail сразу говорит "User unknown", даже не пытаясь идти на 192.168.0.11, хотя настройки днс те же.
Правильно ли я понимаю, что по умолчанию sendmail при отправке письма на user@mysite2.ru должен сначала спрашивать у днс MX-запись для домена mysite2.ru, а потом туда отправлять письмо? Или как идет процесс определения хоста получателя?

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: настройка локального mail на роутере

Непрочитанное сообщение Gloft » 2009-06-08 15:26:00

Еще раз посмотрел параметр MASQUERADE_AS, и убедился, что он используются именно для исходящей почты.
Вот почитай http://www.intuit.ru/department/interne ... /11/6.html.

Если хочешь управлять доставкой писем внешние на внешний, внутренние на внутренний, то почитай о файле mailertable.
Хотя наверное это можно сделать и в конфиге sendmeail.

О втором домене.
Sendmeail надо объяснить, что он вообще обрабатывает такой домен, а уже потом настраивать маршрутизацию почты.
Думаю файлы local-host-names и virtusertable тебе помогут.
Вот посмотри http://www.freebsd.org/doc/ru_RU.KOI8-R ... dmail.html

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: настройка локального mail на роутере

Непрочитанное сообщение zingel » 2009-06-08 16:16:02

что есть в

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

/etc/mail/aliases
Z301171463546 - можно пожертвовать мне денег

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-08 16:58:45

Gloft писал(а):Еще раз посмотрел параметр MASQUERADE_AS, и убедился, что он используются именно для исходящей почты.
Вот почитай http://www.intuit.ru/department/interne ... /11/6.html.
Вот именно эту доку и изучал последние 2 дня :)
Да, сейчас для проверки добавил на почтовике роутер в доверенные хосты - письма на него с роутера приходят, причем в поле "от" действительно домен прописанный в MASQUERADE_AS, а вот received from: router.mysite.ru
Видимо поле received как раз и отбрасывается как неизвестный домен, так что скорее это вопрос в ДНС почтовика, а с sendmail все в порядке.
Gloft писал(а):Если хочешь управлять доставкой писем внешние на внешний, внутренние на внутренний, то почитай о файле mailertable.
Хотя наверное это можно сделать и в конфиге sendmeail.
Зачем? У меня днс раздает разные ip для внешних и внутренних, а sendmail'у и знать про них не положено. Или не так?
Gloft писал(а):О втором домене.
Sendmeail надо объяснить, что он вообще обрабатывает такой домен, а уже потом настраивать маршрутизацию почты.
Думаю файлы local-host-names и virtusertable тебе помогут.
Вот посмотри http://www.freebsd.org/doc/ru_RU.KOI8-R ... dmail.html
Хандбук как раз тоже читал, только пока mailertable пытаюсь подключить, и никакого эффекта, наверно что-то не так делаю...
zingel писал(а):что есть в

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

/etc/mail/aliases
В aliases только root: user@gmail.com , остальное все по дефолту.

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-08 17:19:22

iltmpz писал(а):Видимо поле received как раз и отбрасывается как неизвестный домен, так что скорее это вопрос в ДНС почтовика, а с sendmail все в порядке.
Точно, оказалось что тупо в днс не был прописан хост router для этой зоны :)
Прописал, письма принимаются.

Теперь осталось только разобраться со 2-м доменом...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: настройка локального mail на роутере

Непрочитанное сообщение Laa » 2009-06-08 22:14:49

Очень полезная опция в сендмыле:

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

define(`SMART_HOST', `host1.dom.com')
Я рекомендую таки не отправлять письма с роутера, так как могут быть проблемы. У вас же внешний адрес роутере используется для нат-а внутреннего почтовика. Лучше использовать централизованный почтовый сервер, дабы потом в логах легче разбираться и не наткнутся на возможные грабли с нат-ом и с ДНС (уже).

Удачи.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-19 11:58:21

Laa писал(а):Очень полезная опция в сендмыле:

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

define(`SMART_HOST', `host1.dom.com')
Я рекомендую таки не отправлять письма с роутера, так как могут быть проблемы. У вас же внешний адрес роутере используется для нат-а внутреннего почтовика. Лучше использовать централизованный почтовый сервер, дабы потом в логах легче разбираться и не наткнутся на возможные грабли с нат-ом и с ДНС (уже).

Удачи.
SMART_HOST. С ее помощью объявляется удаленный хост, который принимает все почтовые сообщения, адресованные удаленным хостам.
Именно принимает, а мне надо, чтобы хост указывался в качестве отправителя.
Я решил использовать отдельный почтовик на роутере по следующим причинам:
- я-таки настроил отдельный внешний ip для корпоративного почтовика, благо провайдер дал нам пул адресов :)
(Настроил divert'ами на ipfw, так что это отдельная тема).
- в централизованный почтовик я лезть не хочу по организационным причинам: его настраивал не я, кроме того разбираться в его многокилометровых логах мне тоже не хочется.
- роутер будет использоваться для служебных целей, в том числе для отправки уведомлений админу, в том числе для уведомлений об отказе основного почтовика.
- основной почтовик вообще не используется как релей, открывать его как релей для роутера я не хочу


Итак, думаю, настройку sendmail'а можно считать законченной :)
Опишу по порядку для таких же новичков, как я (и чтобы самому потом не забыть) ;)
Роутер у меня называется router.mysite.ru, есть 2 домена: mysite.ru и mysite1.ru
Корпоративный почтовик называется mail.mysite.ru

Не знаю как в linux, под freebsd 7.0 свой способ настройки конфигов, доки с intuit.ru тут не работают:

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

#cd /etc/mail
#make
Создаются файлы router.mysite.ru.cf router.mysite.ru.mc router.mysite.ru.submit.cf и router.mysite.ru.submit.mc
собственно, именно это конфиги по умолчанию, для того, чтобы применить изменения настроек, надо выполнить: make install-cf
Итак, правим router.mysite.ru.mc.
Все что мне понадобилось, это добавить в router.mysite.ru.mc строку: MASQUERADE_AS(`mysite.ru')
после этого "make install-cf" и "/etc/rc.d/sendmail restart".

Замечу, что MASQUERADE_AS меняет поле "From" в заголовке письма, однако заголовки "Return-Path", "Received: from" остаются без изменений.
(кому-то это может и очевидно, а я несколько часов убил, пока понял).

Далее, пробуем отправить почту:

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

#mail user@mysite.ru
Если днс (конкретно mx-запись) настроен правильно, письмо дойдет без ошибок.
Аналогично на внешний адрес: user@gmail.com

Теперь отправляем почту на другой домен:

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

#mail user@mysite1.ru
Получаем ошибку: 554 5.0.0 MX list for mysite1.ru. points back to router.mysite.ru
Советы из официальной доки: http://www.sendmail.org/faq/section4#4.5 - прописать релей - не наш случай. Нам надо именно сказать нашему sendmail, что в домен mysite1.ru почта должна идти на тот же почтовик: mail.mysite.ru

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

#cp /etc/mail/mailertable.sample /etc/mail/mailertable
Удаляем оттуда все лишние сервера и прописываем вместо них 1 строку: "mysite1.ru smtp:mail.mysite.ru"
Именно так, без точки, т.е. не так: ".mysite1.ru smtp:mail.mysite.ru"
(тоже несколько часов убил)
Потом делаем в /etc/mail: makemap hash mailertable.db < mailertable
Или просто запускаем make.
Потом на всякий случай перезапускаем: /etc/rc.d/sendmail restart
И после этого у меня все заработало.

Для отправки писем с сайта настройка адреса отправителя (подозреваю, что и MASQUERADE_AS) не требуется, поскольку сайт сам может устанавливать поле From.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: настройка локального mail на роутере

Непрочитанное сообщение Laa » 2009-06-19 15:44:03

iltmpz , молодец!!! :Bravo:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: настройка локального mail на роутере

Непрочитанное сообщение princeps » 2009-06-19 18:40:17

статью?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: настройка локального mail на роутере

Непрочитанное сообщение iltmpz » 2009-06-19 20:21:38

Ну, на статью это конечно не тянет: пару моментов разобрал, из настроек только 2 параметра вписал и днс который вообще не по теме.
Часть параметров просто методом тыка нашел.
Но спасибо за доверие, может, разберусь когда-нить в тонкостях настройки, и статья получится :)