Добрый день.Отправляю письма через свой smtp сервер скажем на test-my@gmail.com
Письмо принято, но в заголовке:Received: from mail.tyry.pyry.ru (ISP-TYR.ru [211.xxx.yyy.28])
by mx.google.com with ESMTP id b49si12527102eei.30.2010.07.13.01.22.16;Проблема в том, что ISP-TYR.ru [211.xxx.yyy.28] что это шлюз провайдера и он попал в black list...
И получается, что и мы, поскольку заголовки говорят, что это мы...
При этом:
$ host -t MX tyry.pyry.ru
tyry.pyry.ru MX 10 mail.tyry.pyry.ru
$ host mail.tyry.pyry.ru
mail.tyry.pyry.ru A 193.zzz.aaa.7Как сделать чтобы внешние почтовики видели наш smtp-сервер с нашим же IP ???? !!!!
а не с IP шлюза провайдера.
>Как сделать чтобы внешние почтовики видели наш smtp-сервер с нашим же IP
> ???? !!!!
>а не с IP шлюза провайдера.1) Не отправлять через релей провайдера
2) Пнуть провайдера, чтобы он прекратил перехватывать ваш трафик.
>>Как сделать чтобы внешние почтовики видели наш smtp-сервер с нашим же IP
>> ???? !!!!
>>а не с IP шлюза провайдера.
>
>1) Не отправлять через релей провайдера
>2) Пнуть провайдера, чтобы он прекратил перехватывать ваш трафик.1)не отправляю
2)наши реальные адреса, снаружи(провайдера) видныЧто ещё может быть?
давайте посмотрить что говорить dns. покажите реальные цифры и буквы
>давайте посмотрить что говорить dns. покажите реальные цифры и буквы$ dig mail.tyry.pyry.ru
; <<>> DiG 9.6-ESV-R1 <<>> mail.tyry.pyry.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29847
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:
;mail.tyry.pyry.ru. IN A;; ANSWER SECTION:
mail.tyry.pyry.ru. 28232 IN A 193.xxx.yyy.7;; AUTHORITY SECTION:
tyry.pyry.ru. 19320 IN NS ns.pyry.ru.
tyry.pyry.ru. 19320 IN NS drs.tyry.pyry.ru.;; ADDITIONAL SECTION:
ns.pyry.ru. 668 IN A ddd.fff.ggg.4
drs.tyry.pyry.ru. 19320 IN A 193.xxx.yyy.2;; Query time: 0 msec
;; SERVER: 194.zzz.ccc.65#53(194.zzz.ccc.65)
;; WHEN: Tue Jul 13 18:23:51 2010
;; MSG SIZE rcvd: 118$ dig -t MX tyry.pyry.ru
; <<>> DiG 9.6-ESV-R1 <<>> -t MX tyry.pyry.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48001
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3;; QUESTION SECTION:
;tyry.pyry.ru. IN MX;; ANSWER SECTION:
tyry.pyry.ru. 30000 IN MX 10 mail.tyry.pyry.ru.;; AUTHORITY SECTION:
tyry.pyry.ru. 18850 IN NS doors.tyry.pyry.ru.
tyry.pyry.ru. 18850 IN NS ns.pyry.ru.;; ADDITIONAL SECTION:
mail.tyry.pyry.ru. 27762 IN A 193.xxx.yyy.7
ns.pyry.ru. 198 IN A ddd.fff.ggg.4
doors.tyry.pyry.ru. 18850 IN A 193.xxx.yyy.2;; Query time: 1 msec
;; SERVER: 194.zzz.ccc.65#53(194.zzz.ccc.65)
;; WHEN: Tue Jul 13 18:31:41 2010
;; MSG SIZE rcvd: 134$
>[оверквотинг удален]
>>> ???? !!!!
>>>а не с IP шлюза провайдера.
>>
>>1) Не отправлять через релей провайдера
>>2) Пнуть провайдера, чтобы он прекратил перехватывать ваш трафик.
>
>1)не отправляю
>2)наши реальные адреса, снаружи(провайдера) видны
>
>Что ещё может быть?Повторю еще раз: провайдер может перехватывать исходящий почтовый траффик. Как проверить:
telnet mxs.mail.ru 25
Должен быть ответ "220 Mail.Ru SMTP", а может быть "220 Provider.Net SMTP"
может в логах посмотреть?
>может в логах посмотреть?Может посмотреть в конфигах почтовика, с какого адреса отправляется почта ?
в сендмайле есть это, и если это явно не прописать, то письмо будет уходить с какого-то иного IP :) Если например у вас почтовик заодно и пограничный маршрутизатор...SMTP client options
O ClientPortOptions=Family=inet, Address=xxx.xxx.xxx.xxx
>>может в логах посмотреть?
>
> Может посмотреть в конфигах почтовика, с какого адреса отправляется почта ?
>
> в сендмайле есть это, и если это явно не прописать, то
>письмо будет уходить с какого-то иного IP :) Если например у
>вас почтовик заодно и пограничный маршрутизатор...
>
>SMTP client options
>O ClientPortOptions=Family=inet, Address=xxx.xxx.xxx.xxxнет маршрутизатор другой сервер
у меня:
#O ClientPortOptions=Family=inet, Address=0.0.0.0
- закоментарено...прописал реальный, перезапустил сендмыл - ПОМОГЛО! Спасибо, коллеги!
как в mc прописать?
>как в mc прописать?Нашёл:
CLIENT_OPTIONS(`Addr=1.2.3.4')
>#O ClientPortOptions=Family=inet, Address=0.0.0.0
>прописал реальный, перезапустил сендмыл - ПОМОГЛО! Спасибо, колеги!
>как в mc прописать?Как и всегда :)
ClientPortOptions and DaemonPortOptions are special cases since multiple
clients/daemons can be defined. This can be done viaCLIENT_OPTIONS(`field1=value1,field2=value2,...')
DAEMON_OPTIONS(`field1=value1,field2=value2,...')Note that multiple CLIENT_OPTIONS() commands (and therefore multiple
ClientPortOptions settings) are allowed in order to give settings for each
protocol family (e.g., one for Family=inet and one for Family=inet6). A
restriction placed on one family only affects outgoing connections on that
particular family.
>>#O ClientPortOptions=Family=inet, Address=0.0.0.0
>>прописал реальный, перезапустил сендмыл - ПОМОГЛО! Спасибо, колеги!
>>как в mc прописать?
>
> Как и всегда :)
>И всё таки для образования.
Каким образом почтовая система проверяет этот адрес?Я заметил только одну возможность, если почтовики делают проверку по traceroute
то после шлюза провайдера идёт существенная задержка по времени
(раз в 5 длинее, чем предыдущие),
и только потом ответ идёт с моего smtp...Но это всё на воде вилами... Как на самом деле происходит проверка?
ведь если я обращусь к своему серверу
и скажу ему:
EHLO mail.ru
, он ответит:
250-mail.tyry.pyry.ru Hello admin.tyry.pyry.ru [192.168.0.10], pleased to meet you
т.е. верно определяет... т.е. не подаётся на мои происки
>И всё таки для образования.
>Каким образом почтовая система проверяет этот адрес?Sendmail хватает первый попавшийся на подходящем интерфейсе адрес, trace тут ни при чем...
И использует этот ip для tcp/25 коннекта... Где-то в документации это описано...Поэтому -если не хотите неожиданностей в системах с кучей IP - явно указывайте IP и для клиента,
ну и для демона тоже. Чтобы уродцы не смогли бомбить алиасные ip по tcp/25
>>И всё таки для образования.
>>Каким образом почтовая система проверяет этот адрес?
>
> Sendmail хватает первый попавшийся на подходящем интерфейсе адрес, trace тут ни
> при чем...
>И использует этот ip для tcp/25 коннекта... Где-то в документации это описано...Поэтому
>-если не хотите неожиданностей в системах с кучей IP - явно
>указывайте IP и для клиента,
>ну и для демона тоже. Чтобы уродцы не смогли бомбить алиасные ip
>по tcp/25trace лишь предположение, которое самому сомнительно (не для этого он).
Спасибо, но это не ответ.
Дело в том что, да у меня несколько сетевых интерфейсов, но не одному из них не принадлежит IP, который подхватывают удаленные сервера SMTP. Подхватывают они IP-адрес шлюза, которым, ещё раз повторю, не является мой SMTP сервер, НЕТ у него этого IP, НЕТ!!!Мой smtp подхватил то что нужно, а вот удалённые хватали не то! В этом непонимание, откуда они его(IP шлюза [!!! другой сервер!!!]) могли взять???
ДНС, то всё верно выдаёт! Выходит эти smtp сервера, делают запрос как-то иначе... Как?
>SMTP сервер, НЕТ у него этого IP, НЕТ!!!Ага, совсем нет.... И sendmail с локальной машины открывает исходящее соединение... У вас на шлюзе nat нет случайно ? Тогда sendmail открывает коннект с серого ip - и через nat...
Во всяком случае иного поведения sendmail я не видел ни разу....Поймите - правильный локальный демон не может открыть соединение с ip, не принадлежащего этой машине...
>>SMTP сервер, НЕТ у него этого IP, НЕТ!!!
>
> Ага, совсем нет.... И sendmail с локальной машины открывает исходящее соединение...Ну конечно не совсем, есть IP, Но другие :)
>У вас на шлюзе nat нет случайно ? Тогда sendmail открывает
>коннект с серого ip - и через nat...Да вот этот вариант возможен... проверю. Очень похоже, и почему я не подумал что он может выбрать серый IP...
Есть какой-нибудь способ увидеть маршрут подключения(какой IP выбрал) в командной строке sendmail -bt?
> Во всяком случае иного поведения sendmail я не видел ни разу....Поймите
>- правильный локальный демон не может открыть соединение с ip, не
>принадлежащего этой машине...Понимаю, поэтому и копаю :)
>[оверквотинг удален]
>подумал что он может выбрать серый IP...
>Есть какой-нибудь способ увидеть маршрут подключения(какой IP выбрал) в командной строке sendmail
>-bt?
>
>
>> Во всяком случае иного поведения sendmail я не видел ни разу....Поймите
>>- правильный локальный демон не может открыть соединение с ip, не
>>принадлежащего этой машине...
>
>Понимаю, поэтому и копаю :)пока читать не научишся и внимательность не повысишь, будешь копать, копать и еще раз копать...
http://www.opennet.me/openforum/vsluhforumID1/89364.html#4 ?
>[оверквотинг удален]
>
> CLIENT_OPTIONS(`field1=value1,field2=value2,...')
> DAEMON_OPTIONS(`field1=value1,field2=value2,...')
>
>Note that multiple CLIENT_OPTIONS() commands (and therefore multiple
>ClientPortOptions settings) are allowed in order to give settings for each
>protocol family (e.g., one for Family=inet and one for Family=inet6). A
>
>restriction placed on one family only affects outgoing connections on that
>particular family.и что? при чем тут это?
>>может в логах посмотреть?
>
> Может посмотреть в конфигах почтовика, с какого адреса отправляется почта ?
>
> в сендмайле есть это, и если это явно не прописать, то
>письмо будет уходить с какого-то иного IP :) Если например у
>вас почтовик заодно и пограничный маршрутизатор...
>
>SMTP client options
>O ClientPortOptions=Family=inet, Address=xxx.xxx.xxx.xxxи как это может влиять на описанную проблему?
>>SMTP client options
>>O ClientPortOptions=Family=inet, Address=xxx.xxx.xxx.xxx
>
>и как это может влиять на описанную проблему?Не знаю как, но факт, что это помогло решить проблему, правда без понимания, которого и пытаюсь добиться.
Как smtp формируют заголовок, к примеру
Received: from snt0-omc1-s46.snt0.hotmail.com (snt0-omc1-s46.snt0.hotmail.com [65.54.61.83])?
Точнее как они делают проверку того, что за скобками, получая результат - то что в скобками???!!!ДНС отмели! - он всё верно выдаёт.
HELO\EHLO тоже всё верно!
>может в логах посмотреть?В каких логах? maillog
Что именно там смотреть?
письма уходятJul 13 18:42:52 ns1 sm-mta[16664]: o6DBgnFV016662: to=<qwerty@gmail.com>, delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=30478, relay=gmail-smtp-in.l.google.com. [74.125.77.27], dsn=2.0.0, stat=Sent (OK 1279021372 x59si12992057eeh.59)
>[оверквотинг удален]
>>2)наши реальные адреса, снаружи(провайдера) видны
>>
>>Что ещё может быть?
>
>Повторю еще раз: провайдер может перехватывать исходящий почтовый траффик. Как проверить:
>
>telnet mxs.mail.ru 25
>
>Должен быть ответ "220 Mail.Ru SMTP", а может быть "220 Provider.Net SMTP"
>Снаружи от провайдера на свой сервер:
$ telnet mail.tyry.pyry.ru 25
Trying 193.zzz.aaa.7...
Connected to mail.tyry.pyry.ru.
Escape character is '^]'.
220-mail.tyry.pyry.ru ESMTP Sendmail 8.14.4/8.14.3; Tue, 13 Jul 2010 18:35:11 +0700 (NOVST)
220-Use of this system for the delivery of UCE (a.k.a. SPAM), or any other
220-message without the express permission of the system owner is prohibited.
220 Use of this system for third party relaying is prohibited.
Всё как и положено. Начал копать на свой ipfw, но в нём всё чисто реальные адреса не NATятся...
tcpdump видит исходящие реальные адреса.Я в ступоре.
покажи все заголовки
>[оверквотинг удален]
>>>Что ещё может быть?
>>
>>Повторю еще раз: провайдер может перехватывать исходящий почтовый траффик. Как проверить:
>>
>>telnet mxs.mail.ru 25
>>
>>Должен быть ответ "220 Mail.Ru SMTP", а может быть "220 Provider.Net SMTP"
>>
>
>Снаружи от провайдера на свой сервер:С какого перепугу "снаружи на свой сервер" имеет отношение к исходящей с вашего сервера почте ?
>С какого перепугу "снаружи на свой сервер" имеет отношение к исходящей с
>вашего сервера почте ?Читай ветку.
>
>>С какого перепугу "снаружи на свой сервер" имеет отношение к исходящей с
>>вашего сервера почте ?
>
>Читай ветку.Попробуй подумать.
>
>>С какого перепугу "снаружи на свой сервер" имеет отношение к исходящей с
>>вашего сервера почте ?
>
>Читай ветку.А ты пробовал то что тебе PavelR советовал?
telnet mxs.mail.ru 25
>>
>>>С какого перепугу "снаружи на свой сервер" имеет отношение к исходящей с
>>>вашего сервера почте ?
>>
>>Читай ветку.
>
>А ты пробовал то что тебе PavelR советовал?
>
>telnet mxs.mail.ru 25Пробовал, конект идёт, большего не знаю как получить.
$ telnet mxs.mail.ru 25
Trying 94.100.176.20...
Connected to mxs.mail.ru.
Escape character is '^]'.
220 *************
EHLO mail.tyry.pyry.ru
250-mx80.mail.ru ready to serve
250-SIZE 31457280
250 8BITMIME
>[оверквотинг удален]
>>
>>telnet mxs.mail.ru 25
>
>Пробовал, конект идёт, большего не знаю как получить.
>
>$ telnet mxs.mail.ru 25
>Trying 94.100.176.20...
>Connected to mxs.mail.ru.
>Escape character is '^]'.
>220 *************вот такой вот гритинг значит что у вас по дороге стоит cisco pix, который проксирует все ваши соединения. правильный притинг mail.ru таков:
telnet mxs.mail.ru 25
Trying 94.100.176.20...
Connected to mxs.mail.ru.
Escape character is '^]'.
220 Mail.Ru ESMTP
ehlo xz.ru
250-mx94.mail.ru ready to serve
250-SIZE 31457280
250 8BITMIME
quit
221 mx94.mail.ru closing connection
Connection closed by foreign host.пинайте провайдера