The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Sendmail - игнорирует aliases"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 01-Фев-06, 13:54 
Коллеги, приветсвую.

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

============================
Есть домен domain.com. МХ запись указывает на реальный IP адрес. Он является майлерхабом, то есть не хранит почту локально, а пересылает все на внутренний 192.168.0.12 адрес.

Таким образом local-host-names пустой (только запись localhost), а в mailertable указана запись:
domain.com              smtp:[192.168.0.12]

То есть вроде все правильно. Теперь, если я хочу сделать перенаправление некоторого адреса на внешний адрес, то есть:

==== aliases =====
genn: genn@mail.ru
==================

Замечательно, если тут же локально отправить письмо на genn (НЕ genn@domain.com), то все замечательно, алиасы работают. Но, если если извне написать письмо на genn@domain.com, то АЛИАСЫ НЕ СРАБАТЫВАЮТ. То есть письмо с внешнего сервера на этот адрес сразу попадает на обработку в mailertable и алиасами игнорируется, и тупо пересылается на внутренний 12-й адрес минуя алиасы...

Теперь, ну ладно, решений вроде бы два, в aliases прописать
==== aliases =====
genn@domain.com: genn@mail.ru
==================
Но хмм в ступе, этот адрес должен быть в local-host-names
/etc/mail/aliases: line 76: genn@domain.com... cannot alias non-local names

Но ведь еще можно в virtualusertable написать.. Ан опять хммм, поскольку домен должен быть в local-host-names. А это нельзя делать, поскольку домен должен форвардится внутрь.

Тупик получается, хммм, может подскажешь направление?

То есть грубо говоря в такой схеме, когда почтовик используется в качестве хаба, алиасы для пересылаемого домена игнорируются.
А задача проста, человек уволился, надо ему нестроить пересылку почты на внешний адрес. Как это сделать? В каком направлении покопать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Sendmail - игнорирует aliases"  
Сообщение от victorb email(ok) on 01-Фев-06, 14:10 
вот такое шаманство:
берем в директории сорцов sendmaila файлик
./cf/m4/proto.m4

ищем в нем место SParse1
под ним дописываем для каждого реципиента две строки:

Rdestinationuser$*   $#esmtp $@ mx.for.destination.domain.ru $: destinationuser < @ destination.domain. >

R$* < sourceuser @ source.domain.>  $#esmtp $@ destination.domain $: destinationuser < @ destination.domain. >

перестраиваем sendmail.cf рестартуем и все должно работать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Sendmail - игнорирует aliases"  
Сообщение от lavr email on 01-Фев-06, 14:41 
>Коллеги, приветсвую.
>
>Есть небольшая проблемка, связанная с обработкой почты, проходящей через шлюз, может кто
>что-нибудь толковое подскажет, где копать...
>
>============================
>Есть домен domain.com. МХ запись указывает на реальный IP адрес. Он является
>майлерхабом, то есть не хранит почту локально, а пересылает все на
>внутренний 192.168.0.12 адрес.
>
>Таким образом local-host-names пустой (только запись localhost), а в mailertable указана запись:
>
>domain.com            
>  smtp:[192.168.0.12]
>
>То есть вроде все правильно. Теперь, если я хочу сделать перенаправление некоторого
>адреса на внешний адрес, то есть:
>
>==== aliases =====
>genn: genn@mail.ru
>==================
>
>Замечательно, если тут же локально отправить письмо на genn (НЕ genn@domain.com), то
>все замечательно, алиасы работают. Но, если если извне написать письмо на
>genn@domain.com, то АЛИАСЫ НЕ СРАБАТЫВАЮТ. То есть письмо с внешнего сервера
>на этот адрес сразу попадает на обработку в mailertable и алиасами
>игнорируется, и тупо пересылается на внутренний 12-й адрес минуя алиасы...
>
>Теперь, ну ладно, решений вроде бы два, в aliases прописать
>==== aliases =====
>genn@domain.com: genn@mail.ru
>==================
>Но хмм в ступе, этот адрес должен быть в local-host-names
>/etc/mail/aliases: line 76: genn@domain.com... cannot alias non-local names
>
>Но ведь еще можно в virtualusertable написать.. Ан опять хммм, поскольку домен
>должен быть в local-host-names. А это нельзя делать, поскольку домен должен
>форвардится внутрь.
>
>Тупик получается, хммм, может подскажешь направление?
>
>То есть грубо говоря в такой схеме, когда почтовик используется в качестве
>хаба, алиасы для пересылаемого домена игнорируются.
>А задача проста, человек уволился, надо ему нестроить пересылку почты на внешний
>адрес. Как это сделать? В каком направлении покопать?

1) конструкция aliases сделана для локальных пользователей
2) virtusertable как раз позволяет форвардировать почту на ВНЕШНИЕ
адреса, вот только на локальной машине этого не будет, так как:

- у вас есть локальный пользователь genn и на локальной машине, доставка
будет ЛОКАЛЬНЫМ mailer'ом - mail.local. А вот если вы попробуете с любой
другой машины отправить почту на этого пользователя - вот тогда она
успешно форварднется
3) если у вас есть пользователь genn с HOME - .forward без проблем, если
нет HOME, forward не катит

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Sendmail - игнорирует aliases"  
Сообщение от lavr email on 01-Фев-06, 15:19 
>>Коллеги, приветсвую.
>>
>>Есть небольшая проблемка, связанная с обработкой почты, проходящей через шлюз, может кто
>>что-нибудь толковое подскажет, где копать...
>>
>>============================
>>Есть домен domain.com. МХ запись указывает на реальный IP адрес. Он является
>>майлерхабом, то есть не хранит почту локально, а пересылает все на
>>внутренний 192.168.0.12 адрес.
>>
>>Таким образом local-host-names пустой (только запись localhost), а в mailertable указана запись:
>>
>>domain.com            
>>  smtp:[192.168.0.12]
>>
>>То есть вроде все правильно. Теперь, если я хочу сделать перенаправление некоторого
>>адреса на внешний адрес, то есть:
>>
>>==== aliases =====
>>genn: genn@mail.ru
>>==================
>>
>>Замечательно, если тут же локально отправить письмо на genn (НЕ genn@domain.com), то
>>все замечательно, алиасы работают. Но, если если извне написать письмо на
>>genn@domain.com, то АЛИАСЫ НЕ СРАБАТЫВАЮТ. То есть письмо с внешнего сервера
>>на этот адрес сразу попадает на обработку в mailertable и алиасами
>>игнорируется, и тупо пересылается на внутренний 12-й адрес минуя алиасы...
>>
>>Теперь, ну ладно, решений вроде бы два, в aliases прописать
>>==== aliases =====
>>genn@domain.com: genn@mail.ru
>>==================
>>Но хмм в ступе, этот адрес должен быть в local-host-names
>>/etc/mail/aliases: line 76: genn@domain.com... cannot alias non-local names
>>
>>Но ведь еще можно в virtualusertable написать.. Ан опять хммм, поскольку домен
>>должен быть в local-host-names. А это нельзя делать, поскольку домен должен
>>форвардится внутрь.
>>
>>Тупик получается, хммм, может подскажешь направление?
>>
>>То есть грубо говоря в такой схеме, когда почтовик используется в качестве
>>хаба, алиасы для пересылаемого домена игнорируются.
>>А задача проста, человек уволился, надо ему нестроить пересылку почты на внешний
>>адрес. Как это сделать? В каком направлении покопать?
>
>1) конструкция aliases сделана для локальных пользователей
>2) virtusertable как раз позволяет форвардировать почту на ВНЕШНИЕ
>адреса, вот только на локальной машине этого не будет, так как:
>
>- у вас есть локальный пользователь genn и на локальной машине, доставка
>
>будет ЛОКАЛЬНЫМ mailer'ом - mail.local. А вот если вы попробуете с любой
>
>другой машины отправить почту на этого пользователя - вот тогда она
>успешно форварднется
>3) если у вас есть пользователь genn с HOME - .forward без
>проблем, если
>нет HOME, forward не катит


Да, еще и про флаг A стоит вспомнить:

http://www.sendmail.org/faq/section4.html#4.10

подробно про флаги можно найти в op.me - документация в исходниках
sendmail, для freebsd:

# ls -la /usr/src/contrib/sendmail/doc/op/op.me
# nroff -Tlatin1 -me /usr/src/contrib/sendmail/doc/op/op.me | less

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 01-Фев-06, 16:30 
>
>Да, еще и про флаг A стоит вспомнить:
>
>http://www.sendmail.org/faq/section4.html#4.10
>

Это не катит, уже читал, вот что в конфиге:

Mlocal,         P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPSXmnz9, S=EnvFromSMTP/HdrFromL, R=EnvToL/HdrToL,
                T=DNS/RFC822/SMTP,
                A=mail.local -l

То есть флаг как бы там есть.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 01-Фев-06, 16:36 
>
>1) конструкция aliases сделана для локальных пользователей

Это я в курсе....

>2) virtusertable как раз позволяет форвардировать почту на ВНЕШНИЕ
>адреса, вот только на локальной машине этого не будет, так как:
>

virtusertable работает только в том случае, если этот домен указан в local-host-names, то есть в локальных доменах. Даже если я укажу эту проверку и скомпилю базу virtusertable, то это ничего не изменит, проверка то все равно игнорируется.

>- у вас есть локальный пользователь genn и на локальной машине, доставка
>
>будет ЛОКАЛЬНЫМ mailer'ом - mail.local. А вот если вы попробуете с любой
>
>другой машины отправить почту на этого пользователя - вот тогда она
>успешно форварднется

На фре, на самом почтовике нет никаких пользователей кроме меня и рута. Он тупо почту для домена без изменений форвардит внутрь. Правда после вирусной проверки и спамера.

>3) если у вас есть пользователь genn с HOME - .forward без
>проблем, если
>нет HOME, forward не катит

Нет, локальных юзеров на шлюзе нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Sendmail - игнорирует aliases"  
Сообщение от lavr email on 01-Фев-06, 16:50 
>>
>>1) конструкция aliases сделана для локальных пользователей
>
>Это я в курсе....
>
>>2) virtusertable как раз позволяет форвардировать почту на ВНЕШНИЕ
>>адреса, вот только на локальной машине этого не будет, так как:
>>
>
>virtusertable работает только в том случае, если этот домен указан в local-host-names,

какой ЭТОТ?

>то есть в локальных доменах. Даже если я укажу эту проверку
>и скомпилю базу virtusertable, то это ничего не изменит, проверка то
>все равно игнорируется.

пример:

- дано, host=alone.dubna.ru, все что приходит на адрес zhopa@alone.dubna.ru - перенапрявлять во внешний мир на адрес
lavr@unix1.jinr.ru

[alone]~ > hostname        
alone.dubna.ru
[alone]~ > grep zhopa /etc/mail/virtusertable
zhopa@alone.dubna.ru    lavr@unix1.jinr.ru
[alone]~ > finger zhopa
finger: zhopa: no such user
[alone]~ >    

Все пашет тока в путь снаружи почта на zhopa@alone.dubna.ru перенаправляется на внешний lavr@unix1.jinr.ru

>>- у вас есть локальный пользователь genn и на локальной машине, доставка
>>
>>будет ЛОКАЛЬНЫМ mailer'ом - mail.local. А вот если вы попробуете с любой
>>
>>другой машины отправить почту на этого пользователя - вот тогда она
>>успешно форварднется
>
>На фре, на самом почтовике нет никаких пользователей кроме меня и рута.
>Он тупо почту для домена без изменений форвардит внутрь. Правда после
>вирусной проверки и спамера.
>
>>3) если у вас есть пользователь genn с HOME - .forward без
>>проблем, если
>>нет HOME, forward не катит
>
>Нет, локальных юзеров на шлюзе нет.

про MAILHUB следует читать в cf/README - там много полезного, но
вариант с virtusertable я уже продемонстрировал

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 01-Фев-06, 17:07 
>>>
>>
>>virtusertable работает только в том случае, если этот домен указан в local-host-names,
>
>какой ЭТОТ?
>

Если я хочу, чтобы почта для пользователя domain.ru форвардилась на внешний адрес, я должен в virtusertable сделать запись об этом пользователе и прописать домен domain.ru в local-host-names.

Пример:

=== virtualusertable
genn@domain.ru             genn@mail.ru

=== local-host-names
domain.ru

Так работает, но в этом случае не работает маршрутизация, указанная в mailertable. Если я уберу запись в local-host-names, чтобы заработала маршрутизация, то получаю тупо маршрутизируемую запись:

Feb  1 16:48:31 willy sm-mta[75409]: k11DmVsQ075409: from=<stranger03@mail.ru>, size=668, class=0, nrcpts=1, msgid=<E1F4IRT-000BOl-0
0.stranger03-mail-ru@f16.mail.ru>, proto=ESMTP, daemon=MTA, relay=f16.mail.ru [194.67.57.46]
Feb  1 16:48:33 willy sm-mta[75419]: k11DmVsQ075409: to=<genn@domain.ru>, delay=00:00:02, xdelay=00:00:00, mailer=smtp, pri=306
68, relay=[192.168.0.12] [192.168.0.12], dsn=2.0.0, stat=Sent ( <E1F4IRT-000BOl-00.stranger03-mail-ru@f16.mail.ru> Queued mail for d
elivery)

P.S. на записи в логе о доменах сильно не смотри, сделана подмена имени домена моего любимого клиента, :)).

>>то есть в локальных доменах. Даже если я укажу эту проверку
>>и скомпилю базу virtusertable, то это ничего не изменит, проверка то
>>все равно игнорируется.
>
>пример:
>
>- дано, host=alone.dubna.ru, все что приходит на адрес zhopa@alone.dubna.ru - перенапрявлять во
>внешний мир на адрес
>lavr@unix1.jinr.ru
>
>[alone]~ > hostname        
>alone.dubna.ru
>[alone]~ > grep zhopa /etc/mail/virtusertable
>zhopa@alone.dubna.ru    lavr@unix1.jinr.ru
>[alone]~ > finger zhopa
>finger: zhopa: no such user
>[alone]~ >    
>
>Все пашет тока в путь снаружи почта на zhopa@alone.dubna.ru перенаправляется на внешний

Домен alone.dubna.ru фигурирует в local-host-names??

>
>про MAILHUB следует читать в cf/README - там много полезного, но
>вариант с virtusertable я уже продемонстрировал

Посмотрю еще подробнее, но там я уже все перечитал, не обращался бы тогда к великому разуму, :))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Sendmail - игнорирует aliases"  
Сообщение от lavr email on 01-Фев-06, 17:43 
>>>>
>>>
>>>virtusertable работает только в том случае, если этот домен указан в local-host-names,
>>
>>какой ЭТОТ?
>>
>
>Если я хочу, чтобы почта для пользователя domain.ru форвардилась на внешний адрес,
>я должен в virtusertable сделать запись об этом пользователе и прописать
>домен domain.ru в local-host-names.
>
>Пример:
>
>=== virtualusertable
>genn@domain.ru            
> genn@mail.ru
>
>=== local-host-names
>domain.ru
>
>Так работает, но в этом случае не работает маршрутизация, указанная в mailertable.
>Если я уберу запись в local-host-names, чтобы заработала маршрутизация, то получаю
>тупо маршрутизируемую запись:
>
>Feb  1 16:48:31 willy sm-mta[75409]: k11DmVsQ075409: from=<stranger03@mail.ru>, size=668, class=0, nrcpts=1, msgid=<E1F4IRT-000BOl-0
>0.stranger03-mail-ru@f16.mail.ru>, proto=ESMTP, daemon=MTA, relay=f16.mail.ru [194.67.57.46]
>Feb  1 16:48:33 willy sm-mta[75419]: k11DmVsQ075409: to=<genn@domain.ru>, delay=00:00:02, xdelay=00:00:00, mailer=smtp, pri=306
>68, relay=[192.168.0.12] [192.168.0.12], dsn=2.0.0, stat=Sent ( <E1F4IRT-000BOl-00.stranger03-mail-ru@f16.mail.ru> Queued mail for d
>elivery)
>
>P.S. на записи в логе о доменах сильно не смотри, сделана подмена
>имени домена моего любимого клиента, :)).
>
>>>то есть в локальных доменах. Даже если я укажу эту проверку
>>>и скомпилю базу virtusertable, то это ничего не изменит, проверка то
>>>все равно игнорируется.
>>
>>пример:
>>
>>- дано, host=alone.dubna.ru, все что приходит на адрес zhopa@alone.dubna.ru - перенапрявлять во
>>внешний мир на адрес
>>lavr@unix1.jinr.ru
>>
>>[alone]~ > hostname        
>>alone.dubna.ru
>>[alone]~ > grep zhopa /etc/mail/virtusertable
>>zhopa@alone.dubna.ru    lavr@unix1.jinr.ru
>>[alone]~ > finger zhopa
>>finger: zhopa: no such user
>>[alone]~ >    
>>
>>Все пашет тока в путь снаружи почта на zhopa@alone.dubna.ru перенаправляется на внешний
>
>Домен alone.dubna.ru фигурирует в local-host-names??
>
>>
>>про MAILHUB следует читать в cf/README - там много полезного, но
>>вариант с virtusertable я уже продемонстрировал
>
>Посмотрю еще подробнее, но там я уже все перечитал, не обращался бы
>тогда к великому разуму, :))

в local-host-names прописываются ТОЛЬКО дополнительные hostnames
которые имеет ваша машина на том же или других IP (в случае нескольких
ip - вам необходимо повесить из через alias в ifconfig)

теперь про обслуживание виртуальных доменов - для этого у вас в DNS
должна быть MX запись. Все что вам надо сделать это иметь для
"виртуальных доменов" в какчестве MX ваш HOSTNAME и НЕ ДЕЛАТЬ
дополнительных FQDN с MX в DNS'ах виртуальных доменов.

Пример: дано - ваша машина mail.zhopa.ru (hostname)
MX для zhopa.ru указывает на mail.zhopa.ru
local-host-names используется для указания ТОГО что на этой машине
находятся MBOX'ы пользователей.

Итак, если MX указывает на mail.zhopa.ru и mbox'ы хранятся на
mail.zhopa.ru, тогда мы в local-host-names указываем:

mail (alias - короткое имя)
mail.zhopa.ru (это FQDN полное имя)

В local-host-names заносим если почта будет оседать НА ЭТОЙ МАШИНЕ,
те локальные пользователи будут получать почту.

Теперь у нас есть зона kuku.ru, так вот не надо в ее DNS делать
запись A mail.kuku.ru с тем же самым IP что и у mail.zhopa.ru
и делать MX на mail.kuku.ru, а сделать MX прямо на mail.zhopa.ru
В этом случае нам НЕ НАДО в local-host-names вносить mail.kuku.ru,
особенно если почта пользователей этого домена kuku.ru не будет
храниться на этой машине.

Тогда у нас будет следующее:

# hostname
mail.zhopa.ru
# cat /etc/mail/local-host-names
mail
mail.zhopa.ru
# cat /etc/virtusertable
@kuku.ru  %1@external.domain
^^^^^^^^^^^^^^^^^^^^^^^^^^^^- это вся почта username@kuku.ru пойдет
на external.domain с тем же username

можно расписать по отдельности

Еще раз - раздел MAILHUB в cf/README и там же про genericstable,
mailertable и virtusertable

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 02-Фев-06, 09:58 
>
>"виртуальных доменов" в какчестве MX ваш HOSTNAME и НЕ ДЕЛАТЬ
>дополнительных FQDN с MX в DNS'ах виртуальных доменов.
>
>Пример: дано - ваша машина mail.zhopa.ru (hostname)
>MX для zhopa.ru указывает на mail.zhopa.ru
>local-host-names используется для указания ТОГО что на этой машине
>находятся MBOX'ы пользователей.
>
>Итак, если MX указывает на mail.zhopa.ru и mbox'ы хранятся на
>mail.zhopa.ru, тогда мы в local-host-names указываем:
>
>mail (alias - короткое имя)
>mail.zhopa.ru (это FQDN полное имя)
>
>В local-host-names заносим если почта будет оседать НА ЭТОЙ МАШИНЕ,
>те локальные пользователи будут получать почту.
>

Лавруша, "ты самый умный среди нас, балбесов", :). Наверное уже не помнишь эту фразу, :). Мы иногда пересекаемся в этом форуме.

Я все это прекрасно понимаю, схема маршрутизации почты мне понятна. Если рассматривать первый вариант, когда МХ запись указывает на мой хост, он же является почтовым хабом, не держит локальную почту, можно ли в таких условиях заставить почтовик форвардить почту с помощью алиасов ли, или каких-то других интсруменов?

А что система правильно отрабатывает, это я понимаю...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Sendmail - игнорирует aliases"  
Сообщение от victorb email(ok) on 02-Фев-06, 10:24 
Еще вариант: заводим доп. поддомен a.zopa.ru для него делаем mx 192.168.0.12
mx для Вашего основоного домена zopa.ru делаем Ваш внешний шлюз
теперь в virtusertable на шлюзе пишем @zopa.ru %1@a.zopa.ru
а 192.168.0.12 в local-host-names добавляем домен a.zopa.ru
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 02-Фев-06, 11:54 
>Еще вариант: заводим доп. поддомен a.zopa.ru для него делаем mx 192.168.0.12

Хм, интересная идея, надо подумать, может так получится поизвращаться, :). Спасибо за идею, как-то сразу не пришло в голову.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Sendmail - игнорирует aliases"  
Сообщение от Stranger03 email(??) on 03-Фев-06, 10:17 
>Еще вариант: заводим доп. поддомен a.zopa.ru для него делаем mx 192.168.0.12

Слушайте, а ведь это идея, спасибо за подсказку. Вчера, проведя весь день в лицензионном центре при Госстрое, вдруг открылась истина. То есть схема в этом случае очень простая, до одури:

Внешний сервер mail.domain.ru, на который собственно указывает МХ доменов
domain.ru
domain.spb.ru
Форвардит всю почту внутрь, в Ексч. Ексч в свою очередь в Recipient Policy обслуживает оба этих домена, но в качестве основного - Primary SMTP используется domain.ru.

Теперь что делаем на шлюзе:

Домен domain.ru объявляем локальным, прописываем его в local-host-names, а в virtualusertable объявляем перезапись домена domain.ru в domain.spb.ru. А последний домен с помощью таблицы маршрутизации уже перенаправляем внутрь, на Екчс.
ТАКИМ ОБРАЗОМ, для основного домена мы можем спокойно использовать алиасинг с перенаправлением почты наружу, но при этом весь основной домен domain.ru переписывается во "вспомогательный" и пользователи внутри даже не догадываются, :).

ОООО, спасибо всем, вот осел, как я сразу не додумался, :))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Sendmail - игнорирует aliases"  
Сообщение от lavr email on 02-Фев-06, 12:54 
>>
>>"виртуальных доменов" в какчестве MX ваш HOSTNAME и НЕ ДЕЛАТЬ
>>дополнительных FQDN с MX в DNS'ах виртуальных доменов.
>>
>>Пример: дано - ваша машина mail.zhopa.ru (hostname)
>>MX для zhopa.ru указывает на mail.zhopa.ru
>>local-host-names используется для указания ТОГО что на этой машине
>>находятся MBOX'ы пользователей.
>>
>>Итак, если MX указывает на mail.zhopa.ru и mbox'ы хранятся на
>>mail.zhopa.ru, тогда мы в local-host-names указываем:
>>
>>mail (alias - короткое имя)
>>mail.zhopa.ru (это FQDN полное имя)
>>
>>В local-host-names заносим если почта будет оседать НА ЭТОЙ МАШИНЕ,
>>те локальные пользователи будут получать почту.
>>
>
>Лавруша, "ты самый умный среди нас, балбесов", :). Наверное уже не помнишь
>эту фразу, :). Мы иногда пересекаемся в этом форуме.

не, не помню и ники собеседников тоже не помню, зачем?
если жестко отвечал sorry, чесно не помню и никогда не запоминаю

>Я все это прекрасно понимаю, схема маршрутизации почты мне понятна. Если рассматривать
>первый вариант, когда МХ запись указывает на мой хост, он же
>является почтовым хабом, не держит локальную почту, можно ли в таких
>условиях заставить почтовик форвардить почту с помощью алиасов ли, или каких-то
>других интсруменов?

sorry, я внимательно читал только первые письма и проверял ТОЛЬКО
то что из них вынес, если virtusertable не помогает, значит нужно
переписывать правила.

>А что система правильно отрабатывает, это я понимаю...

еще пример:

[unix1]/etc/mail > nslookup -q=ns kev.pp.ru.
Server:  159.93.17.7
Address: 159.93.17.7#53

Non-authoritative answer:
kev.pp.ru nameserver = ns1.demos.net.
kev.pp.ru nameserver = ns.demos.su.

Authoritative answers can be found from:
ns.demos.su   internet address = 194.87.0.8
ns.demos.su   internet address = 194.87.0.9
ns1.demos.net internet address = 194.58.241.26

[unix1]/etc/mail > nslookup -q=mx kev.pp.ru.
Server:  159.93.17.7
Address: 159.93.17.7#53

Non-authoritative answer:
kev.pp.ru mail exchanger = 100 ns.jinr.dubna.su.
kev.pp.ru mail exchanger = 50 unix1.jinr.dubna.su.

Authoritative answers can be found from:
kev.pp.ru nameserver = ns.demos.su.
kev.pp.ru nameserver = ns1.demos.net.
unix1.jinr.dubna.su     internet address = 159.93.44.57
ns.jinr.dubna.su        internet address = 159.93.17.130
ns.demos.su   internet address = 194.87.0.9
ns.demos.su   internet address = 194.87.0.8
ns1.demos.net internet address = 194.58.241.26

[unix1]/etc/mail >

так как сам все понимаешь, комментарии будут минимальные:
почтовым релеем для kev.pp.ru является unix1.jinr.dubna.su
он же unix1.jinr.ru (159.93.44.57)

[unix1]/etc/mail > grep kev virtusertable
evgeny@kev.pp.ru                lavr@dubna.ru
[unix1]/etc/mail >

для примера переправляю всю почту evgeny@kev.pp.ru на свой почтовый
адрес в ISP (dubna.ru никакого отношения, кроме географического к
ОИЯИ unix1.jinr.ru не имеет, а kev.pp.ru вовсе бесплатный ПРИВАТНЫЙ
домен третьего уровня, ну это известно)

[unix1]/etc/mail > finger evgeny
finger: evgeny: no such user
[unix1]/etc/mail > nslookup -q=a kev.pp.ru.
Server:  159.93.17.7
Address: 159.93.17.7#53

Non-authoritative answer:
*** Can't find kev.pp.ru.: No answer

[unix1]/etc/mail > grep pp.ru local-host-names
[unix1]/etc/mail >

у kev.pp.ru нет RR=A, на unix1 нет пользователя evgeny, kev.pp.ru
НЕТ в local-host-names и kev.pp.ru никак не привязан к интерфейсам:

[unix1]/etc/mail > ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_MTU>
        inet 159.93.44.57 netmask 0xffffff00 broadcast 159.93.44.255
        inet6 fe80::20a:48ff:fe18:e187%em0 prefixlen 64 scopeid 0x1
        inet 159.93.44.59 netmask 0xffffffff broadcast 159.93.44.59
        inet 159.93.44.58 netmask 0xffffffff broadcast 159.93.44.58
        ether 00:0a:48:18:e1:87
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
[unix1]/etc/mail >

теперь тест:

[ultra]~ > nslookup -q=mx dubna.ru.
Server:         10.0.8.1
Address:        10.0.8.1#53

Non-authoritative answer:
dubna.ru        mail exchanger = 50 relay.dubna.ru.
dubna.ru        mail exchanger = 10 mail.dubna.ru.

Authoritative answers can be found from:
dubna.ru        nameserver = ns1.dubna.ru.
dubna.ru        nameserver = ns2.dubna.ru.
dubna.ru        nameserver = ns.ru.net.
dubna.ru        nameserver = ns.spb.su.
mail.dubna.ru   internet address = 62.84.100.17
relay.dubna.ru  internet address = 62.84.98.6
ns.ru.net       internet address = 193.124.22.65
ns.spb.su       internet address = 193.124.83.69
ns1.dubna.ru    internet address = 62.84.100.7
ns2.dubna.ru    internet address = 62.84.98.7

[ultra]~ >

смотрим кто обслуживает (MX) dubna.ru и пускаем traceroute:

[ultra]~ > hop mail.dubna.ru
hop to mail.dubna.ru (62.84.100.17), 64 hops max, 40 byte packets
1  smtp.pool-129.v.ru (192.168.129.1)  1.523 ms  1.807 ms  1.109 ms
2  GZ-airoGW.garnet.ru (195.209.41.225)  4.208 ms  3.927 ms  3.909 ms
3  LEO-MG-2.garnet.ru (195.209.63.20)  4.877 ms  2.914 ms  2.960 ms
4  m9-1-fa0-3.msk.zenon.net (193.232.244.48)  5.961 ms  4.929 ms  3.959 ms
5  m9-3-giga4-0-0.msk.zenon.net (62.113.112.103)  3.959 ms  4.901 ms  4.978 ms
6  195.2.86.10 (195.2.86.10)  15.945 ms  17.937 ms  7.958 ms
7  62.84.97.60 (62.84.97.60)  14.961 ms  22.931 ms  19.943 ms
8  mail.dubna.ru (62.84.100.17)  17.216 ms  11.956 ms  7.929 ms
[ultra]~ > hop unix1.jinr.ru
hop to unix1.jinr.ru (159.93.44.57), 64 hops max, 40 byte packets
1  smtp.pool-129.v.ru (192.168.129.1)  1.493 ms  0.863 ms  0.954 ms
2  GZ-airoGW.garnet.ru (195.209.41.225)  3.946 ms  2.910 ms  3.953 ms
3  LEO-MG-2.garnet.ru (195.209.63.20)  1.971 ms  1.916 ms  1.951 ms
4  MSK-M9-RBNet-1.RBNet.ru (193.232.244.32)  3.970 ms  3.884 ms  3.980 ms
5  MSK-M9-RBNet-5.RBNet.ru (195.209.14.156)  3.951 ms  2.910 ms  2.953 ms
6  Cntc-gw-2.dubna.ru (159.93.160.1)  5.999 ms  5.947 ms  6.957 ms
7  unix1.jinr.ru (159.93.44.57)  7.043 ms  5.896 ms  7.970 ms
8  unix1.jinr.ru (159.93.44.57)  8.950 ms  6.914 ms  5.951 ms
9  unix1.jinr.ru (159.93.44.57)  6.970 ms  6.943 ms  5.970 ms
[ultra]~ >

[ultra]~ > echo "lalalalalala" | mail -s kukukukuku evgeny@kev.pp.ru

смотрим письмо (оно было переправлено с unix1.jinr.ru на внешний
адрес lavr@dubna.ru):

From lavr@ultra.v.gz.ru  Thu Feb  2 12:47:56 2006
Return-Path: <lavr@ultra.v.gz.ru>
X-Original-To: lavr@dubna.ru
Delivered-To: lavr@dubna.ru
Received: from localhost (localhost [127.0.0.1])
        by cntc.dubna.ru (Postfix) with ESMTP id 01424AEF22
        for <lavr@dubna.ru>; Thu,  2 Feb 2006 12:47:56 +0300 (MSK)
Received: from cntc.dubna.ru ([127.0.0.1])
by localhost (mail.dubna.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
id 24592-04 for <lavr@dubna.ru>; Thu,  2 Feb 2006 12:47:55 +0300 (MSK)
------------------^^^^^^^^^^^^^- получено на внешний адрес как и
хотели

Received-SPF: none (cntc.dubna.ru: 159.93.44.57 is neither permitted nor denied
by domain of ultra.v.gz.ru) client-ip=159.93.44.57; envelope-from=lavr@ultra.v.g
z.ru; helo=unix1.jinr.ru;

получено unix1.jinr.ru и переправлено на внешний адрес через
virtusertable

Received: from unix1.jinr.ru (unix1.jinr.ru [159.93.44.57])
        by cntc.dubna.ru (Postfix) with ESMTP id A1649AEF0E
        for <lavr@dubna.ru>; Thu,  2 Feb 2006 12:47:55 +0300 (MSK)
Received: from ultra.v.gz.ru (ultra.v.gz.ru [195.128.100.1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- ушло
с ultra на unix1

        by unix1.jinr.ru (8.13.3/8.13.3) with ESMTP id k129mbaJ024887
        for <evgeny@kev.pp.ru>; Thu, 2 Feb 2006 12:48:38 +0300 (MSK)
        (envelope-from lavr@ultra.v.gz.ru)
Received: from ultra.v.gz.ru (localhost [127.0.0.1])
        by ultra.v.gz.ru (8.13.4/8.13.4) with ESMTP id k129lnFb024970
        for <evgeny@kev.pp.ru>; Thu, 2 Feb 2006 12:47:49 +0300 (MSK)
        (envelope-from lavr@ultra.v.gz.ru)
Received: (from lavr@localhost)
        by ultra.v.gz.ru (8.13.4/8.13.1/Submit) id k129litA024969
        for evgeny@kev.pp.ru; Thu, 2 Feb 2006 12:47:44 +0300 (MSK)
        (envelope-from lavr)
Date: Thu, 2 Feb 2006 12:47:44 +0300 (MSK)
From: Lavrentyev Adnrey <lavr@ultra.v.gz.ru>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- от кого

Message-Id: <200602020947.k129litA024969@ultra.v.gz.ru>
To: evgeny@kev.pp.ru
^^^^^^^^^^^^^^^^^^^^- кому (да простит меня Женька :)
Subject: kukukukuku
X-Virus-Scanned: by amavisd-new
X-Virus-Scanned: amavisd-new at mail.dubna.ru

lalalalalala

Все, вникать в конструкцию чужого MAILHUB'а желания нет, sorry.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Sendmail - игнорирует aliases"  
Сообщение от Alien1900 email on 17-Мрт-07, 14:27 
>virtusertable работает только в том случае, если этот домен указан в local-host-names,
>то есть в локальных доменах. Даже если я укажу эту проверку
>и скомпилю базу virtusertable, то это ничего не изменит, проверка то
>все равно игнорируется.

Домен может указываться не только в local-host-names, но и например с помошью VIRTUSER_DOMAIN, как сказано в ./cf/README:

[skiped]
All the host names on the left hand side (foo.com, bar.com,
                and baz.org) must be in class {w} or class {VirtHost}.  The
                latter can be defined by the macros VIRTUSER_DOMAIN or
                VIRTUSER_DOMAIN_FILE (analogously to MASQUERADE_DOMAIN and
                MASQUERADE_DOMAIN_FILE, see below).  If VIRTUSER_DOMAIN or
                VIRTUSER_DOMAIN_FILE is used, then the entries of class
                {VirtHost} are added to class {R}, i.e., relaying is allowed
                to (and from) those domains.  The default map definition is:
[skiped]

Тогда все замечательно работает! :))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру