17:26 

В очередной раз почувствовал себя...

... провайдерским саппортом из анекдота - "От нас все патроны ушли, проблемы на вашей стороне!"(С)

Сначала пионЭр на том конце провода зарезал icmp за вычетом 0,8,11 - request/reply, dest. host unreachable, а об остальных сообщениях мы не знаем и знать не хотим, ага. Потом товарищ забыл воткнуть tcpmssfix в mpd.conf, а дальше начался цирк-с-конями ).
Приходит пакет, видит do not fragment, дропается, а ответный icmp message to big режется ipfw. В security log при этом должна валиться запись - но у нас же, блин, все секууурно! Мы заранее ограничили число однотипных сообщений 10, а сделать ipfw zero нам, пардон, членомерка не велит, мы на счетчики медитируем! Пару правил, которые вроде как за прохождение трафика отвечают - пжалста, а все счетчики целиком - никак-никак.
А виноват во всем этом, разумеется, я - так как "просто интернет" у мужика есть, а https до меня "не работает". https "вообще"? Работает, конечно! telnet на 443 порт идет нормально, так что решайте ВАШУ проблему!
Хвала Аллаху, милостивому и милосердному, что главбух с той стороны объяснила одмину, что "интернет вообще" и "telnet на 443" != "работающий банк-клиент" и товарищ осознал, что "https вообще" у НЕГО не работает и я тут не при чем. Впрочем, мне это не помогло - "Ну надо же решить проблему! Да, она не у вас, но мы вам деньги платим, а оно не работает, так что давайте как-нибудь вы там подумаете, что мне сделать, чтобы... Нет ssh-доступ я вам дать не могу, секуууурность не позволяет, так что вы уж там как-нибудь телепатически..."
Пришлось решать, ага. По tcpdump'у увидел, что на той стороне дропается от четверти до трети пакетов, предположил, что проблема в NAT'е (Т.к. на прозрачно проксируемый http товарищ не жаловася, а ходящий через nat https чудесатил во всю). Замена kernel nat на NATD вполне логично не спасла (Хотя потерь, почему-то, стало меньше), подумал, что mpd с ipfw порядок прохождения пакетов поделить не могут (Дурак, ага), предожил вынести функционал nat'а в mpd через ng_nat. Опять же не помогло. В процессе совместного ковыряния mpd.conf'а (C ng_nat'ом я, в общем-то, до этого "никак") добавил tcpmssfix из своей конфиги и вуаля! Еще полчаса копошений и проблему раскопали полностью, но день того-этого... кончился :).
Такое вот вождение-луноходов-по-граблям получилось.

Какая у этой басни мораль? А морали здесь нет никакой - по крайней мере у меня её вывести не получается, так что - "запомните дети, патамучта понять это нэвозможна! и не делайте так!"

@темы: FreeBSD, Работа

URL
   

Танец-с-саблями на граблях

главная