LINUX.ORG.RU
решено ФорумAdmin

Возможно ли использовать TCP-туннель для обратной связи с инициатором соединения?


0

0

Доброго времени суток.

Извиняюсь за возможно некорректно поставленный вопрос. Суть вопроса поясню на примере. Представим следующее клиент-серверное взаимодействие:

Сервер (например ssh) имеет «белый» IP и доступен из интернета, клиент имеет внутренний IP (вида 192.168.x.x), находится за роутером, который пропускает все исходещие из локальной сети соедиения, а входящие из интернета, соответсвтенно, режет. Вопрос в том, может ли клиент инициировать TCP-соединение с сервером (по тому же ssh), а потом передать управление администратору на сервере?

В реальности, суть моей проблемы такова, необходимо удалённо по ssh помочь кое-чем клиенту, но до него не достучаться из-за описанного выше. То бишь устанавливаемое с ним соединение (TCP-туннель) мною с сервера до него не дойдёт, однако инициируемый им туннель будет работать. Могу ли я, каким-то образом (и если да, то каким) дать ему доступ к серверу, чтоб он создал канал связи, но использовать этот канал самому? Если такое возможно, то какими средствами, фича ssh или протокола ?

Очевидны варианты - настройка роутера и поднятие vpn, но трудоёмко и как-то не Ъ. В принципе, теоритически, такое возможно, если правильно «заполнить» служебные поля tcp-пакетов, чтобы, фактически новое соединение воспинималось роутером как старый туннель, созданный из локальной сети.

ssh -R 1234:localhost:22 user@server

В результате выполнения данной команды, после установления соединения с сервером (server), весь трафик, который будет идти на порт 1234(на сервере), будет переадресован на порт 22 клиентского компьютера.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Значит надо было man ssh. Хорошо, но это средства ssh. А есть ли какой универсальный способ поступать подобным образом с другими сервисами ?

temporary ★★
() автор топика
Ответ на: комментарий от temporary

ты не понял. смотри.

ssh -R 9876:localhost:80 user@server

теперь если ты законнектишся браузером на server:9876, то твой запрос пройдет по туннелю до клиентского компьютера на его восьмидесятый порт.
иными словами, с помощью ссх-туннеля можно заворачивать любой траффик, а не только ссхшный.

val-amart ★★★★★
()

поднимаешь pptp клиент подключается к тебе получает ойпишнег конектишся по ойпишнегу

guyvernk
()

ssh позволяет пробрасывать через туннель по одному TCP-порту. В принципе, таких туннелей может быть несколько.

Если интересует более глобальное решение, т.е. обеспечение непрерывной двусторонней связи по всем портам, советую юзать openvpn.
(Через ssh тоже емнип подобие впна сделать можно, но уж больно геморно.)

nnz ★★★★
()

По-моему на гнуме можно тупо в empathy сказать «предоставить доступ к момему рабочему столу» :) . Кажись, телепати умеет грамотно туннели для VNC строить, лишь бы хоть 1 адрес настоящим был.

Vit ★★★★★
()

поднять на машине с белым IP pptp сервер - со второй подцепиться к нему.

Neclude
()
Ответ на: комментарий от val-amart

>иными словами, с помощью ссх-туннеля можно заворачивать любой траффик, а не только ссхшный.

Отлично!

temporary ★★
() автор топика
Ответ на: комментарий от Vit

>По-моему на гнуме можно тупо в empathy сказать «предоставить доступ к момему рабочему столу» :) . Кажись, телепати умеет грамотно туннели для VNC строить, лишь бы хоть 1 адрес настоящим был.

ТЗ несколько другое. Вот если бы телепати умело «предоставить доступ к момему рабочему столу и через этот туннель предоставить доступ к рабочему столу клиента» было бы полезно !

temporary ★★
() автор топика
Ответ на: комментарий от nnz

>(Через ssh тоже емнип подобие впна сделать можно, но уж больно геморно.)
можно через pppd сделать вполне нормальный впн

dimon555 ★★★★★
()
Ответ на: комментарий от temporary

Не так. Пусть клиент из эмпати ткнет на ваш аккаунт, и выберет по правой кнопке пункт «предоставить доступ к моему рабочему столу». И вам должен открыться доступ на его стол, даже если он за натом (если у вас реальный IP и тоже эмпати).

Врать не буду, сам не проверял. Просто для SIP стандартная задача, построение прямых/обратных TCP-туннелей по STUN. Именно ваш случай. А в телепати вроде туннели универсальные, в т.ч. для VNC-сессий. Попробуйте.

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