Приложение:

Я видел вопрос " Windows HTTP туннель через 2 хоста Linux?"и пытается узнать что-то об ответах. Я научился. Я начну рассказывать о своей проблеме, а затем немного поговорить о моих тестах с ответами на этот вопрос.

Я пытаюсь подключить мой хост Windows к хосту Linux, используя средний Linux (единственный с внешним IP).

В чем моя проблема:

Мой windows host не имеет портов, которые я хочу открыть (порты игры и трафика).

У меня есть linux host которого есть порты, которые я хочу открыть.

Таким образом, проблема была бы решена, если бы я мог сделать ssh tunnel через мой windows host на мой linux host . Проблема в том, что оба имеют только внутренний IP (один в моей компании, другой в моем университете).

Спасение: у меня есть доступ к linux server моей компании, который имеет внешний IP-адрес (200.XXX).

Итак, я хотел бы использовать этот linux server в качестве промежуточного звена, хотя мой windows host и мой linux host .

The complicating: 

Мой linux server имеет только открытый порт 110. Я могу подключиться только через ssh к нему через порт 110.

Другими словами: мне нужен пример, который я могу сделать:

Firefox windows host's , проксированный для использования localhost:9999

перенаправляет свой доступ к linux server ,

это перенаправляет его доступ к моему linux host .

Одной (но не единственной) идеей является обратное туннелирование моего linux host на мой linux server , а затем прямое туннелирование моего windows host на мой linux server , заставляя этот linux server перенаправлять мой доступ с windows host на мой linux host .

Но я не знаю команд, чтобы попробовать это.

Я пытался, но безуспешно

хост linux: ssh -R 20000:localhost:22 middle_user@200.X.X.X -p110

хост Windows: ssh -L 9999:localhost:20000 middle_user@200.X.X.X -p110

Как я могу это сделать?

Моя среда, другими словами:


Windows host (внутренний IP == 10.XXX; все порты открыты)

проходит через

Linux Server (внешний IP == 200.XXX; можно подключиться только через ssh к нему через порт 110, порт 110 единственный открытый)

перенаправление трафика хоста windows на

Linux Host (внутренний IP == 192.XXX; порты открыты, можно подключиться с помощью ssh на порт 22)


Еще одно приложение:

Это сработало бы, если бы на моем linux server я мог (в идеальном мире) получить доступ к своему linux host (что невозможно, учитывая, что у меня есть внутренний IP на моем linux host)

хост windows: ssh -L 9999:localhost:9999 -D 9999 -p 110 middle_user@200.X.X.X

Linux-сервер: ssh -D 9999 linux_host_user@linux_host_ip

1 ответ1

0

Адаптировано из ответа Как подключиться к ssh к недоступной удаленной машине, туннелируя через сервер, к которому может обратиться каждый?

"Решение", которое сработало:

  • на linux-user я сделал ssh -R 1234:localhost:22 server_user@200.X.X.X -p110

  • на windows-user я сделал ssh -L 1235:localhost:1234 server_user@200.X.X.X -p110

затем,

  • на windows-user я сделал ssh -D 9999 -p 1235 linux-user@localhost

и затем, на windows-user , я мог настроить Firefox на использование прокси-носков localhost:9999 и получить доступ к серверу, работающему на моей машине с Linux.

PS: для ssh на windows я использовал cygwin для установки openssh, чтобы облегчить задачу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .