LINUX.ORG.RU
ФорумAdmin

sendmail - как сделать чтобы но везде выдавал нужное имя сайта на серваке с несколькими IP сайтами?


0

0

Дано:

есть сервер с 5 IP адресами, у каждого - только одно доменное имя (допустим IP1=Name1.com, IP2 = name2.com, etc). smtp сервер - sendmail.

Хочется так

telnet name1.com 25

sendmail говорил

Connected to Name1.com.

Escape character is '^]'.

220 Name1.com ESMTP Sendmail 8.12.11/8.12.10; Thu, 23 Oct 2008 07:37:29 GMT

telnet name2.com 25

sendmail говорил

Connected to Name2.com.

Escape character is '^]'.

220 Name2.com ESMTP Sendmail 8.12.11/8.12.10; Thu, 23 Oct 2008 07:37:29 GMT

и так далее - а сейчас он при любом обращении на любой IP говорит везде Name1..

Ну и желательно чтобы при отправке почты в заголовках письма нигде не светилось Name1.com.

Для чего мне надо? Скрыть факт размещения Name1.com & Name2.com на одном серваке.

Как этого добиться? По каким ключевым словам гуглить?

Пока идея только такая - пускать по копии сендмейла на каждом IP адресе, чтоб у каждого была своя очередь и свой конфиг.. Но это некрасиво, думаю есть еще варианты.

Переходить с сендмейла на что-либо не хочется, ибо настроены всякие грейлистинги и тд.. Использую Centos5.

Спасибо за ответы заранее!

anonymous

>есть сервер с 5 IP адресами, у каждого - только одно доменное имя
>Использую Centos5.


Почему бы не поднять 5 вирт. серверов, тем более в Centos5 это делается легко (xen)

sdio ★★★★★
()

По-моему если sendmail-у не указать официальное доменное имя (confDOMAIN_NAME, Dj), он представляется именем, определённым по IP - на какой IP подключились, для такого имя и определяет. Надо только в обратной зоне всё прописать.
P.S. Такое поведение sendmail наблюдал очень давно, может сейчас что-то и изменилось.

spirit ★★★★★
()
Ответ на: комментарий от Valmont

> Или, что будет проще - OpenVZ.

Не катит. У меня сервер - VPS на virtuozzo :-)

anonymous
()
Ответ на: комментарий от Valmont

Centos5 насколько я знаю заточен под xen, там даже гуйня какая-то есть для создания и управления вирт.машинами.

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Centos5 насколько я знаю заточен под xen,
yum install kernel-xen - и заточен.

> там даже гуйня какая-то есть для создания и управления вирт.машинами.

Есть. Всё до безобразия просто. Неинтересно даже :)



Slavaz ★★★★★
()
Ответ на: комментарий от spirit

> По-моему если sendmail-у не указать официальное доменное имя (confDOMAIN_NAME, Dj), он представляется именем, определённым по IP - на какой IP подключились, для такого имя и определяет. Надо только в обратной зоне всё прописать.

В принципе, наверно оно так и должно работать..

А чтобы еще в заголовках исходящих писем (скажем, посылаемых используя локальный smtp сервер) ничего не было про прочие домены (даже если я вызываю сенмейл из скриптов, передавая имя конфига, специфичного для сервера, от имени которого должно идти письмо)?

anonymous
()
Ответ на: комментарий от sdio

Да, есть такое дело, но имхо, для такой задачи тут слишком много накладных расходов. Но, оба варианта, кака выяснилось, тут не катят :-)

Valmont ★★★
()

Мои 5 копеек ...
во-первых, из давно написанного -
http://www.anrb.ru/linux/hide.html

>А чтобы еще в заголовках исходящих писем (скажем, посылаемых >используя локальный smtp сервер) ничего не было про прочие домены

>(даже если я вызываю сенмейл из скриптов, передавая имя конфига, >специфичного для сервера, от имени которого должно идти письмо)?


уберите макрос $j из определения Received и всего прочего, что упомянуто в статье

"А теперь по Борщову ..." те про приветствие

>220 Name2.com ESMTP Sendmail 8.12.11/8.12.10; Thu, 23 Oct 2008 07:37:29 GMT

> так далее - а сейчас он при любом обращении на любой IP говорит везде Name1..


измените приветствие вот так:
define(`confSMTP_LOGIN_MSG',`${daemon_addr}; Sendmail $v/$Z; $b;')

и у вас будет отдаваться вместо доменного имени Name1
IP, соответствущий Name1 или Name2 в зависимости от того, что набрал клиент

Ес-но у вас в DAEMON_OPTION должны быть все IP расписаны
Протестировано.
По технич причинам у меня временно два IP на одном интерфейсе
telnet ns1.anrb.ru 25
telnet www.anrb.ru 25
дадут разный результат







Sciurus
()
Ответ на: комментарий от Sciurus

Поскольку вас не устраивает, что sendmail всегда отдает макрос $j, текущее значение которого Name1, было бы конечно проще изменять его значение в зависмости от того к какому доменному имени обратился клиент

Но боюсь что это невозможно поскольку цепочка такая:
вызов макроса $j -> hostname -> hostname -f

Sciurus
()
Ответ на: комментарий от Sciurus

>220 Name1.com ESMTP Sendmail 8.12.11/8.12.10; Thu, 23 Oct 2008
У ВАС СЕРЬЕЗНО ТАКАЯ ВЕРСИЯ SENDMAIL'A?

По поводу моих примеров
telnet ns1.anrb.ru 25
telnet www.anrb.ru 25

как оказалось, далЬше на команду HELO UFA
мой почтовик выдает все-таки hostname -f в виде
250 apache.anrb.ru Hello paradise.anrb.ru [1.2.3.4], pleased to meet you

Чтобы скрыть это имя (оно ес-но будет общим для обоих примеров)
была применена опция define(`confDOMAIN_NAME', `${daemon_addr}')
по образу и подобию define(`confSMTP_LOGIN_MSG',`${daemon_addr}; Sendmail $v/$Z; $b;')
Но тут sendmail заворчал: оказывается имеено в confDOMAIN_NAME он принимает только тексты, а макросы - нет. жаль ....
Надо будет это уточнить на senmdail-конфе

Поэтому пишем define(`confDOMAIN_NAME', `Sendmail')
250 Sendmail Hello paradise.anrb.ru [1.2.3.4], pleased to meet you

Но! Теперь этот Sendmail будет фигурировать в заголовках Received
в 2 местах. Вот формат заголовков в ваших силах изменить,
заменив $s & $j на ${daemon_addr}

Мне некогда это проверять. но думаю, что Received это включение ${daemon_addr} проглотит в отличие от confDOMAIN_NAME

NB!Тут еще нужно подумать насчет RFC, не будет ли замена доменного имени на IP нарушением и не последуют ли за этим отлупы от др серверов

Sciurus
()
Ответ на: комментарий от Sciurus

> У ВАС СЕРЬЕЗНО ТАКАЯ ВЕРСИЯ SENDMAIL'A?

Да, а что? Кстати, уточнил - у меня RHAS3 rel 1. Что, слишком древний?

Спасибо за попытки разобраться и помочь!!! Думал сендмейл достаточно гибкий для такого..

anonymous
()
Ответ на: комментарий от Sciurus

Нарушение RFC. Первая ласточка.

Первый отлуп на вчерашние эксперименты:

Client host [212.193.134.2] blocked using zen.spamhaus.org;
http://www.spamhaus.org/query/bl?ip=212.193.134.2

Это в ответ на мои:
dnl define(`confHELO_NAME', `${daemon_addr}')dnl
dnl define(`confHELO_NAME', `212.193.134.2')dnl

Нужно было айпишник в квадратные скобки заключить
http://cbl.abuseat.org/helocheck.html

Sciurus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.