LINUX.ORG.RU
ФорумAdmin

CONNECT через https прокси и удаленный хост на произвольный порт


0

0

О помощи вопрошаю

Исходные данные

хост А хочет подключиться к хосту Б на порт 5222/5223 через squid с поддержкой метода CONNECT только на 443 порт

При этом есть хост В (ВЭэ, а не БЭ) в интернете, к которому есть полный доступ.

Вроде, казалось бы, задача тривиальная. джаббер клиент соединяется с проксей и говорит, мол, конекти ка меня на порт 443 на хост В (ВЭэ) - ну потому что сквид на проксе только на 443 порт и разрешает - а уже хост ВЭ после iptables -t nat -I PREROUTING -p tcp --dport 443 -s СКВИД -j DNAT --to-destination Б:5222 (или Б:5223) с соответсвующей записью в FORWARD все прокинет

после попытки соединиться видиться следующее в iptables -L FORWARD -v -n --line-numbers

3 8 432 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport ports 5222:5223 LOG flags 0 level 4 4 8 432 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport ports 5222:5223

т.е. 8 пакетов прошло. лог пишет что пакеты действительно прошли. IN=eth0 OUT=eth0 SRC=ПРОКСИ DST=ХОСТ Б LEN=48 TOS=0x00 PREC=0x00 TTL=55 ID=19420 DF PROTO=TCP SPT=60262 DPT=5222 WINDOW=65535 RES=0x00 SYN URGP=0

Около минуты ожидания приводят к сообщению джаббер клиента вот о чем:

Не удалось установить соединение с сервером: Ошибка соединения с HTTP-прокси 503

При всем этом

nc 193.138.244.40 5222

d <?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='none' from='jabber.com.ua' version='1.0'><stream:error><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error></stream:stream>

А теперь внимание вопрос: что я делаю не так?

★★

Ответ на: комментарий от slavad

Пока в метро ехал - понял, что пакет то форвардится, но вот сорц адрес у него скидовый, а не того, чего должно быть. И вам спасибо, что уделили внимание. Все верно, проблема решена, спасибо!

azure ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.