Кажуть розумні люди...– Кохана, я хочу трохи пожити для себе. |
Дню Админа (31 июля) посвящается |
01.08.2009 г. | |
Рассказ про 500-мильную электронную почту (поймут только админы!) Я хочу рассказать историю службы техподдержки, которая может показаться невероятной далеким от этой работы людям. Но мне хочется изложить ее широкой аудитории хотя бы потому, что это прекрасная истрия под выпивку в коллективе коллег. Кое-что слегка приукрашено, но это — для красоты рассказа, все важные детали сохранены. Несколько лет назад я работал в службе технической поддержки электронной почты университетского кампуса. Мне позвонил заведующий кафедрой статистики. — У нас проблема с отправкой почты с кафедры. — В чем проблема? — Мы не можем послать электронную почту больше чем на 500 миль. Роняю чашку с кофе. — Повторите, пожалуйста? — Мы не можем отправить письмо адресатам, находящимся далее 500 миль отсюда, — повторяет завкафедрой, — Точнее, 520. Но не дальше. Я пытаюсь собраться с мыслями. Крыша начинает медленно меня покидать, но нельзя позволить крыше уйти в разговоре с завкафедрой. Даже завкафедрой статистики. — Хммм... Понимаете, принцип доставки электронной почты не зависит от расстояния. Почему Вы думаете, что не можете отправлять почту далее 500 миль? — Я не думаю, я знаю! — довольно жестким тоном заявляет завкафедрой, — Мы впервые это заметили несколько дней назад... — Вы ждали несколько ДНЕЙ? — перебиваю я уже слегка дрожащим голосом, — И вы обходились без почты? — Нет. Мы могли отправлять письма, но... — Не далее 500 миль, сэр? Но почему же Вы не позвонили раньше? — Ну, у нас не было достаточного количества данных до сегодняшнего дня. Так или иначе, я попросил наших геостатистиков разобраться... Так. Геостатистики. — И у них получилась карта, показывающая расстояние, на которое мы можем отсылать почту. Чуть больше 500 миль. На некоторые адреса, находящиеся ближе, мы тоже не можем отправить почту с первой попытки — но дальше 500 миль мы не можем отправить ничего вообще. — Я понял, сэр. Крыша-таки решила меня оставить. Когда это началось? Вы сказали — несколько дней назад. Вы перенастраивали Ваши сервера в последнее время? — Да, приходили ребята от производителя, пропатчили сервер и перезагрузили его. Но я специально у них спросил — они говорят, что почты это никоим образом не коснулось. — Хорошо, давайте я посмотрю, что присходит, и перезвоню Вам» — ответил я, искренне надеясь, что так не шутят даже на 1 апреля — а сегодня далеко не оно. Хотелось догадаться, кто из моих знакомых мог устроить подобное представление. Я залогинился на сервер их кафедры и отправил несколько пробных писем. Все это происходило в Северной Каролине, и все письма моментально вернулись ко мне в ящик. Ричмонд, Атланта, Вашингтон — сработало. Принстон (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 Пятьсот пятьдесят восемь миль. |
« Попередня | Наступна цікавинка » |
---|
Комментарии
элементарнейшая физика