4

У меня есть удаленный компьютер с подключением 3G PPP. Я не могу подключиться к этому компьютеру через Интернет, так как считаю, что пул IP-адресов PPP использует NAT для подключения к Интернету (при подключении я получаю адрес 10.xxx)

Поэтому я получаю удаленный компьютер для создания SSH-соединения с сервером в Интернете. Затем я могу туннелировать это соединение с сервера и получить оболочку на удаленном компьютере. Отлично.

Я хочу иметь доступ к веб-интерфейсу камеры в удаленной сети. Поэтому я создаю второй SSH-туннель, который перенаправляет трафик на адрес камеры, то есть: ssh -R 9000::

С моего интернет-хостинга это работает, я получаю веб-страницу: wget 127.0.0.1:9000 Отлично

Теперь мне нужно, чтобы это работало с моего клиентского ПК так:

Клиентский ПК -> Интернет-сервер --tunnel -> Удаленный компьютер -> IP-камера

По сути, мне нужно сделать свой обратный туннель SSH доступным по сети.

Я предположил, что если бы я просто использовал iptables для пересылки входящего трафика через определенный порт на моем интернет-сервере на 127.0.0.1:9000, который бы работал, но я не смог заставить его работать после нескольких часов игры с iptables, NAT и т.д.

Должно ли это работать?

1 ответ1

2

Я думаю, что вам нужно -o GatewayPorts=yes чтобы другие хосты, кроме локальных, могли использовать ваш туннель. С man-страницы:

Указывает, разрешено ли удаленным хостам подключаться к локальным перенаправленным портам. По умолчанию ssh(1) связывает перенаправления локальных портов с адресом обратной связи. Это предотвращает подключение других удаленных хостов к перенаправленным портам. GatewayPorts можно использовать для указания того, что ssh должен связывать переадресацию локальных портов с адресом подстановочного знака, что позволяет удаленным хостам подключаться к перенаправленным портам. Аргумент должен быть «да» или «нет». По умолчанию «нет».

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