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

Исходное сообщение
"Пробелма с настройкой почтового релея."

Отправлено Norilsk , 06-Май-06 21:29 
Доброго времени суток, многоуважаемый ALL!

MTA - sendmail 8.13.6. Никак не могу добиться чтобы sendmail разрешил пересылку через себя почты с определнных доменов + определенного IP.

Проблема в следующем: если просто указать в /etc/mail/access
192.168.1          RELAY

то MTA будет пересылать почту с любыми значениями mail from и rcpt to. Этим сильно пользуются спамеры указывая в качестве отправителя что-нибудь вроде "sender@1.ru". Я же хочу добиться чтобы кроме того, что хостам в этой сети разрешена пересылка через мой почтовик, sendmail смотрел на поле mail from и разрешил отправлять письма только в том случае, когда в поле отправителя стоит разрешенный для релея домен.
Т.е. к примеру мои домены mydomain1.ru, mydomain2.ru, mydomain.com (они прописаны, например, в /etc/mail/relay-domins) и я хочу чтобы почтовик разрешил отправлять почту только тогда, когда в поле отправитель стоит "что-угодно@mydomain1.ru" или "что-угодно@mydomain2.ru" или "что-угодно@mydomain.com", а если в поле отправителя заявлено "что-угодно@wrongdomain.ru", то сообщалось об ошибке "550 Relaying denied".

Как это сделать? Подскажите пожалуйста! Очень нужно!


Содержание

Сообщения в этом обсуждении
"Пробелма с настройкой почтового релея."
Отправлено Visko , 07-Май-06 02:05 
>192.168.1          RELAY
Этого делать не надо

>Relaying denied".
>
>Как это сделать? Подскажите пожалуйста! Очень нужно!

добавить в sendmail.cf строчку
Fw/etc/mail/local-host-names

а в этот файл вписать имена локальных доменов (каждый в отдельной строке)
и в файл /etc/mail/relay-domains
вписать все IP-адреса, с которых разрешена отправка почты в формате
IP            полное_имя          сокращ.имя
192.168.1.1   mailserver.zzz.loc     mailserver
192.168.1.111 vasya.zzz.loc          vasya

Перезапустить и всё.


"Пробелма с настройкой почтового релея."
Отправлено courier , 10-Май-06 07:28 
>>192.168.1          RELAY
>Этого делать не надо
Убрал это из /etc/mail/access

>
>добавить в sendmail.cf строчку
>Fw/etc/mail/local-host-names
>
>а в этот файл вписать имена локальных доменов (каждый в отдельной строке)
>

У меня в mc файле есть строчка:
define(`confCW_FILE', `-o /etc/mail/local-host-names')

после формирования cf файла в нем вижу:
Fw-o /etc/mail/local-host-names

>и в файл /etc/mail/relay-domains
>вписать все IP-адреса, с которых разрешена отправка почты в формате
>IP            
>полное_имя          сокращ.имя
>
>192.168.1.1   mailserver.zzz.loc     mailserver
>192.168.1.111 vasya.zzz.loc          vasya
>
прописал 192.168.1.20    mailhost.mydomain1.ru   mailhost

Если честно, то после всех этих изменений я не вижу разницы в работе по сравнению с записью в /etc/mail/access строчки:
192.168.1.20       RELAY
Как с этого хоста можно было указыать в mail from что угодно, а не что прописано в local-host-names, так и осталось.

Возможно, не совсем понят мой вопрос - Как сконфигурить такое поведения ТРАНЗИТНОГО почтового релея почты чтобы:
1) В поле отправителя (MAIL FROM:) обязательно указано ЛЮБОЙ_ЮЗЕР@(из списка доменов /etc/mail/loacl-host-names или /etc/mail/relay-domains)
_И_
2) Отправителю разрешено ОТПРАВЛЯТЬ почту через этот сервер (присутствует либо /etc/mail/access, либо в /etc/mail/relay-domains).

Только при выполнении обоих этих условий на RCPT TO говорить recipient OK, а если хоть одно из условий FALSE, тогда сообщать "Relaying denied".


"Пробелма с настройкой почтового релея."
Отправлено Medlar , 10-Май-06 17:55 
>Я же хочу добиться чтобы кроме того, что хостам в этой сети разрешена пересылка через >мой почтовик, sendmail смотрел на поле mail from и разрешил отправлять письма только в >том случае, когда в поле отправителя стоит разрешенный для релея домен.


Если я правильно понимаю задачу...
Попробуй так (не проверялось)
Сначала проверяем эл. адрес отправителя, если доменная часть из local-host-names,
то проверяем, принадлежит ли ip локальной сетке

LOCAL_CONFIG
LOCAL_RULESETS

SLocal_check_mail
R$*             $: $>Parse0 $>3 $1

R$+<@$=w.>      $: $>CheckSenderIP

R$*             $@ OK

SCheckSenderIP
R$*                $: $&{client_addr}
R192.168.1.$+                   $@ OK
R$*                $#error $: "553 Invalid sender address"

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



"Пробелма с настройкой почтового релея."
Отправлено gaf , 16-Май-06 19:19 
интересный ник ;)

"Пробелма с настройкой почтового релея."
Отправлено gaf , 16-Май-06 19:19 
интересный Ник ;)