Человек обратился с просьбой, цитирую:
Цитата:
Имею проблему подключения к ICQ через корпоративный прокси. Дело в том что через нее в аську ломятся очень много юзеров локальной сети, а прокси имеет только один внешний ип. Серверы ICQ воспринимают многочисленные запросы с этого ип как атаку, и соотвественно постоянно блокируют его.
Единственное решение этой проблемы - подключение через корпоративный прокси к внешнему серверу, на котором настроен редирект на сервер ICQ. В этом случае ип адрес будет другой и аська работает нормально.
Если у кого есть возможность, прошу настроить на своем сервере такой редирект на сервер аськи (login.icq.com:5190). Траффик будет мизерный (только от аськи).
я могу подключиться к внешнему серверу только по портам 80, 443 или 6667
Заранее признателен за помощь!
|
Для тех, у кого есть доступ, вот:
http://www.imho.ws/showthread.php?t=117584
(вроде ничего тайного не выдал

)
Так вот, я взялся пробросить соединение через себя - действительно, трафика мне не жалко. Но вот тут-то и столкнулся с проблемой весьма серезной, о решении которой и взываю о помощи:
с помощью iptables и стандартных SNAT/DNAT и даже MASQUERADE действией без каких-либо проблем пробрасываю соединение с себя на login.icq.com:5190, НО, вот тут-то и выясняется интересная особенности протоколоа ICQ: оказывается он производит авторизацию, а потом выдает адрес и порт BOS-сервера с которым надо дальше общаться (кому интересно,
вот тут этот процесс описан подробно). Итого, что имеем - пройдя стадию авторизации, клиент, который сидит за прокси, получает новый адрес с внешним IP-адресом, по которому и пытается ломиться, что естественно ему не удается при данной организации доступа в сеть.
Таким образом, ищутся идеи, заставить его работать в одно соединение, ну или возможность переписать этот адрес с двух сторон (один раз в ICQ протоколе, при авторизации, подменив на адрес шлюза, второй раз на самом шлюзе, обратно), при этом, получается еще проблема, если даже первую подмену удастся осуществить, нужно где-то между этими пакетами хранить реально выданное значение...
Мне тут посоветовали для винды использовать соксификацию (и программу FreeCap в частности), таким образом, на сколько я понимаю, удастся заставить как раз асечный клиент не ломиться никуда напрямую, а со всеми запросами обращаться к СОКС-серверу. Хорошо, проблемы поставить СОКС на шлюзе, вместо простого перекидывания пакетов нету совершенно. Но, и тут есть одна загвоздка - нужно заставить этот самый соксификатор обращаться к СОКС-серверу через корпоративный обычный HTTP-сервер (читаем исходные в цитате). Такое возможно, и чем, кто может посоветовать??
Кто подскажет, как лучше подобный "проброс" организовать?
При ответах прошу учитывать что на клиенте - Винда (миранда клиент, если принципиально) - на "Шлюзе", через который надо пробросить - Линукс.