Время для некоторого чрезвычайно грубого искусства ASCII.

     |------|          /LAN_B
ME ->|ROUTER|->LAN_A-> -LAN_C
     |------|          \LAN_D

LAN_A - это сервер с необходимыми открытыми портами для подключения. По сути, мне интересно, есть ли какой-нибудь способ для меня подключиться из-за пределов локальной сети к LAN_A и через него подключиться к любому из других компьютеров в моей локальной сети, как если бы я был на самом деле в локальной сети (RDP, FTP любой сервис, действительно - как будто я был на самом деле в локальной сети). Извините, если это кажется неоднозначным объяснением, но я просто хочу, чтобы это было так, как если бы я действительно находился в локальной сети, и чтобы каждый компьютер в локальной сети имел собственный IP-адрес, на который я могу отправлять или получать соединения.

Мой маршрутизатор работает под управлением dd-wrt, так что если бы я мог просто подключиться к своему маршрутизатору, это тоже было бы здорово.

1 ответ1

1

Да, я делаю это все время. Если под «SSH-сервером» вы подразумеваете реальный компьютер, на котором работает SSH-сервер, то вы должны использовать SSH извне в LAN_A и получить командную строку в LAN_A. Затем вы должны запустить другую команду ssh в LAN_A для подключения к одному из других компьютеров.

Просто убедитесь, что ваш маршрутизатор настроен на переадресацию порта 22 с внешнего интерфейса на LAN_A.

Ответ на обновленный вопрос:

Вы можете получить доступ к определенному порту, используя переадресацию порта SSH. Например:

ssh host -l1234:LAN_B:5678

Будет подключаться к host и перенаправлять порт 1234 на вашем компьютере 'ME' к порту 5678 LAN_B. Затем вы можете подключиться к localhost:1234 и вы действительно подключитесь к LAN_B:5678 .

В качестве альтернативы вы можете исследовать опцию -D SSH, которая предоставляет локальный прокси-сервер SOCKS, который перенаправляет соединения по безопасному каналу. Если вы настроите свое приложение на использование прокси-сервера localhost SOCKS, вы можете подключиться напрямую к LAN_B, C и D.

Однако использование SSH для этого не идеальный способ, так как SSH был разработан для связи точка-точка. Если у вас есть контроль над компьютером ME и LAN_A, я бы порекомендовал вместо этого взглянуть на OpenVPN , в результате чего LAN_A - LAN_D могут выглядеть так, как если бы они находились в том же сегменте сети, что и ваш компьютер ME, при шифровании всей связи по интернет-каналу, как SSH.

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