Sendmail 5 на Sun и 558 миль

Разговоры ни о чём

Модератор: vadim64

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Sendmail 5 на Sun и 558 миль

Непрочитанное сообщение Demis » 2018-05-08 9:00:59

Ковырявшись в почте наткнулся на интересное письмо отправленное мной в 2010 году.
Сначала не смог понять откуда взял, но тыркнет вроде все расставил по своим местам.
Судя по https://rauf.livejournal.com/23552.html
"UPDATE: Как оказалось, эту историю перевел kbeloz. "
Автор перевода Konstantin Belozerov
https://kbeloz.livejournal.com/

Собственно про 558 миль:

Код: Выделить всё

558 миль

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

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

«У нас проблема с отправкой почты с кафедры»

Я: «В чем проблема? »

«Мы не можем послать электронную почту больше чем на 500 миль»

Я роняю чашку с кофе. «Повторите, пожалуйста? »

«Мы не можем отправить письмо адресатам, находящимся далее 500 миль отсюда», повторяет завкафедрой.
 «Точнее, 520. Но не дальше».

Я пытаюсь собраться с мыслями. 
Крыша начинает медленно меня покидать, но нельзя позволить крыше уйти в разговоре с завкафедрой. 
Даже завкафедрой статистики. 
«Хммм... Понимаете, принцип доставки электронной почты не зависит от расстояния. 
Почему Вы думаете, что не можете отправлять почту далее 500 миль? »



«Я не думаю, я знаю» - довольно жестким тоном заявляет завкафедрой.
«Когда мы впервые это заметили, несколько дней назад... »

«Вы ждали несколько ДНЕЙ? » - перебиваю я уже слегка дрожащим голосом - «и вы обходились без почты? »

«Нет. Мы могли отправлять письма, но... ».

«Но не далее 500 миль, сэр? Но почему же Вы не позвонили раньше? »

«Ну, у нас не было достаточного количества данных до сегодняшнего дня».

Ну да. Кафедра статистики, как-никак. О Господи...

«Ну, так или иначе - я попросил наших геостатистиков разобраться... »

Так. Геостатистики.

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

«Я понял, сэр». Крыша-таки решила меня оставить. «Когда это началось? 
Вы сказали - несколько дней назад. Вы перенастраивали Ваши сервера в последнее время? »

«Да, приходили ребята от производителя, пропатчили сервер и перезагрузили его. 
Но я специально у них спросил - они говорят, что почты это никоим образом не коснулось».

«Хорошо, давайте я посмотрю, что присходит, и перезвоню Вам» - ответил я, искренне надеясь, 
что так не шутят даже на Первое Апреля - а сегодня далеко не Первое Апреля. 
Хотелось догадаться, кто из моих знакомых мог устроить подобное представление.

Нууу... Для начала я залогинился на сервер их кафедры и отправил несколько пробных писем. 
Все это происходило в Северной Каролине, и все письма моментально вернулись ко мне в ящик. 
Ричмонд, Атланта, Вашингтон - сработало. Принстон (400 миль) - сработало.

Далее я попробовал послать письмо в Мемфис (600 миль). Отлуп. Бостон, отлуп. Детройт, отлуп. 
Я открыл адресную книгу и начал пытаться сузить круги. 
Нью-Йорк (420 миль) - работает, Провиденс (580 миль) - отлуп.

У меня появились сомнения в собственной вменяемости. 
Я решил попробовать отправить письмо своему другу, живущему в Северной Каролине, 
но работающему с провайдером в Сиэттле. Благодарю Тебя, Господи. Отлуп. 
Если бы оказалось, что прохождение писем зависит от того, где находится человек, 
их получающий - я бы сам, по собственной инициативе и с гордо поднятой головой пошел бы сдаваться санитарам.

Поняв, наконец, что завкафедрой не бредит, я решил посмотреть на sendmail.cf. 
Вполне нормальный sendmail.cf. Знакомый даже.

Я сравнил его diff’ом со стандартным sendmail.cf у меня на диске. 
Он не изменялся. Это был ровно тот же sendmail.cf, который я делал собственноручно.
Но опцию "FAIL_MAIL_OVER_500_MILES" я не включал, это точно.
Каюк. Ну что еще попробовать? telnet по 25-му порту на сервер этой гребаной кафедры. 
Сервер радостно отвечает, как ему и положено - blah-blah-blah, я, говорит, SunOS.

Стоп-стоп-стоп... SunOS sendmail? Sun тогда поставлял со своей операционкой sendmail 5, 
хотя все нормальные люди уже работали с sendmail 8.

Поскольку я - все-таки неплохой администратор, почта у меня ходила под sendmail 8. 
Ну и опять-таки - поскольку я - человек, приученный к порядку, 
я переписал sendmail.cf с нормальными, понятными именами переменных и опций. 
Что с переменными и опциями делал sendmail 5, вы должны помнить.

Так-так-так... Картинка собиралась. Мне снова захотелось кофе. 
Ребятки от Sun пропатчили операционку, но sendmail, в общем-то, тоже ее часть. 
Они удачно закрыли дыры, но sendmail снова стал 5, а не 8. 
Но в одном они были правы - sendmail.cf действительно никто не тронул. 
А какая разница, для восьмой версии он или для пятой?

Ну, короче говоря. Пятый (по крайней мере, в варианте Sun’а) - нормально отрабатывал sendmail.cf от восьмого. 
Рулсеты-то не изменились. 
Но вот опции настройки, такие неприлично длинные - он считал чуть ли не комментариями. 
Клал на них. А откомпилирован он был без настроек по умолчанию.
И, как честный человек, не найдя чего-то в sendmail.cf, он устанавливал это в 0.

Одна из успешно установленных в ноль настроек - таймаут для соединения с удаленным SMTP - сервером. 
Поигравшись с этим сервером, я понял, что «ноль» по его мнению - это около трех миллисекунд.

Так. Ага...
Сетка наша уже в то время была на коммутаторах, и задержек практически не имела. 
Задержки снаружи - это, в общем. Было понятно.

Ага. Скорость распространения электромагнитной волны.

ОООПС....
Умножаем время на скорость света, и получаем... и получаем...
558.84719 
Пятьсот пятьдесят восемь миль.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/