URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 79806
[ Назад ]

Исходное сообщение
"Sendmail и имя локальной машины"

Отправлено Pahanivo , 14-Апр-08 13:42 
Есть сервер с именем domain.ru. На нем apache/php.
Скрипты php рассылают почту. И все здорово НО:
sendmail всю почту для домена domain.ru (т.е. совпадающего с именем машины),
забирает себе для локальной доставки (что как я понимаю естественно для дефолтных настроек), на самом деле MX запись для domain.ru ссылается на другой сервер.
Как его отучить считать домен domain.ru его локальным и заставить слать почту в соответствии с MX записью ну или на крайняк жеско замаршрутизировать на конкретную машину.
Сам в сендмейле не силен - чтение манов и поиск нифига не дали.



Содержание

Сообщения в этом обсуждении
"Sendmail и имя локальной машины"
Отправлено Medlar , 14-Апр-08 14:14 
>Есть сервер с именем domain.ru. На нем apache/php.
>Скрипты php рассылают почту. И все здорово НО:
>sendmail всю почту для домена domain.ru (т.е. совпадающего с именем машины),
>забирает себе для локальной доставки (что как я понимаю естественно для дефолтных
>настроек),

1/ уберите из /etc/mail/local-host-names
domain.ru

2/ рестарт sendmail

3/ в /etc/mail/access добавьте
To:doamin.ru [TAB] RELAY

makemap hash access <access


на самом деле MX запись для domain.ru ссылается на другой
>сервер.
>Как его отучить считать домен domain.ru его локальным и заставить слать почту
>в соответствии с MX записью ну или на крайняк жеско замаршрутизировать
>на конкретную машину.
>Сам в сендмейле не силен - чтение манов и поиск нифига не
>дали.


"Sendmail и имя локальной машины"
Отправлено Pahanivo , 14-Апр-08 15:04 
Не катит.

Уже чего только не пробовал.
dnl MAILER(local) - делал, судя по мануалом сендмейл вообще должен перестать локально доставлять почту - один фиг
делаю
telnet localhost 25
ehlo ...
...
rcpt to: <remote_user_box@domain.ru>
получаю все тоже - User unknown
те он упорно продолжает доставлять почту для данного домена локально.


"Sendmail и имя локальной машины"
Отправлено Medlar , 14-Апр-08 15:14 
echo $=w | /usr/sbin/sendmail -bt что говорит?

"Sendmail и имя локальной машины"
Отправлено Pahanivo , 14-Апр-08 16:06 
>echo $=w | /usr/sbin/sendmail -bt что говорит?

говорит:

/etc > echo $=w | /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> DOMAIN.ru

localhost
[62.177.33.102]
[127.0.0.1]
DOMAIN

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



"Sendmail и имя локальной машины"
Отправлено Medlar , 14-Апр-08 16:13 
>DOMAIN.ru реальное имя этой машины

Ну вот и ответ на вопрос

Вам нужно исп-ть virtusertable
эта таблица работает с локальными доменами


"Sendmail и имя локальной машины"
Отправлено Pahanivo , 14-Апр-08 19:52 
>>DOMAIN.ru реальное имя этой машины
>
>Ну вот и ответ на вопрос
>
>Вам нужно исп-ть virtusertable
>эта таблица работает с локальными доменами

Прастите не понял что нужно виртeализировать?!
У меня не стоит задача принимать почту для домена(ов), а наоборот - не принимать почту для конкретного домена, который к несчасть совпадает с именем машины, которая с свою очеред не является почтовиком для данного домена, но при этом сендмейл упорно считает домен своим и не хочет релеить ее на реально MX.

Если я чето не правильно понял - призз пример конфига для virtusertable.


"Sendmail и имя локальной машины"
Отправлено Medlar , 15-Апр-08 10:29 
>Прастите не понял что нужно виртeализировать?!

Ну почитайте документацию что-ли наконец
http://www.sendmail.org/tips/virtualHosting
http://www.anrb.ru/linux/sendmail.html#1.1

>У меня не стоит задача принимать почту для домена(ов),

а кто вам это предлагает?

> а наоборот -
>не принимать почту для конкретного домена, который к несчасть совпадает с
>именем машины, которая с свою очеред не является почтовиком для данного
>домена,

это я поняла ...

>но при этом сендмейл упорно считает домен своим и не
>хочет релеить ее на реально MX.

... для чего и предложила вам virtusertable

>
>Если я чето не правильно понял - призз пример конфига для virtusertable.

примерно так
@yourdomain.com         %1@othercompany.com

@yourdomain.com         %1@[1.2.3.4] - тоже должен работать



"Sendmail и имя локальной машины"
Отправлено Pahanivo , 15-Апр-08 11:27 
Medlar большой спасиб за внимание к моей проблеме )

>>Прастите не понял что нужно виртeализировать?!
>
>Ну почитайте документацию что-ли наконец
>http://www.sendmail.org/tips/virtualHosting
>http://www.anrb.ru/linux/sendmail.html#1.1

Ну дык читал, что есть виртуализация (virtusertable) - Map one or all usernames at a source hostname to a specific (or the same) username at another target hostname.
Сделал так как предложили:

>примерно так
>@yourdomain.com         %1@othercompany.com
>@yourdomain.com         %1@[1.2.3.4] - тоже должен работать

Теперь telnet localhost 25 он принимает тестовое писмо, потомучто теперь это его виртуальный домен и он должен принять почту для него на уровне виртуализации. Но всеже в логах я вижу все тот же еррор мессадж - User unknown (до виртуализации ошибка вылезала на стадии телнета).

Суть - сендмейл упорно считает себе приемником для моего домена.
Тут видимо дело не в мапинге а в роутинге - но и mailertable рыл - результат тотже.
Сендмыл неприклонен ))
Короче вижу один здравый вариант - сменить имя машинки. А то уже достали танцы.
Вот еще вычитал, цитирую:
http://www.opennet.me/base/net/sendmail_relay_setup.txt.html
...
   Вторым  шагом  будет,  как  ни странно, выбор hostname для сервера :).
   FQDN  почтового  сервера  не  должен соответствовать ни одному домену,
   который   мы   собираемся  релеить.  К  примеру,  если  мы  собираемся
   маршрутизировать  domain.ua,  то  назвав  так-же сервер, мы окажемся в
   ситуации,  когда  sendmail  всю  почту  на этот домен будет складывать
   локально, а не передавать на следующий почтовый сервер. Для sendmail-a
   FQDN всегда будет локальным доменом.
...



"Sendmail и имя локальной машины"
Отправлено Medlar , 15-Апр-08 12:17 
>[оверквотинг удален]
>Сделал так как предложили:
>
>>примерно так
>>@yourdomain.com         %1@othercompany.com
>>@yourdomain.com         %1@[1.2.3.4] - тоже должен работать
>
>Теперь telnet localhost 25 он принимает тестовое писмо, потомучто теперь это его
>виртуальный домен и он должен принять почту для него на уровне
>виртуализации. Но всеже в логах я вижу все тот же еррор
>мессадж - User unknown (до виртуализации ошибка вылезала на стадии телнета).

Покажите
echo "/map virtuser user@domain.com"|sendmail -bt
echo "3,0 user@domain.com"|sendmail -bt
Покажите что вы написали в файл virtusertable
Покажите как вы изменили конфиг senmaila стобы он работал с с вирт юзерами


>Короче вижу один здравый вариант - сменить имя машинки. А то уже
>достали танцы.

Да, если для вас это приемлемо, то можно и сменить.
Но ваша проблема решаема и через vt