Подключаюсь к компьютеру за роутером я не контролирую
Мой провайдер назначил один IP-адрес для всего моего многоквартирного дома (провайдер имеет эксклюзивный договор со зданием). Адрес "WAN", который видит мой маршрутизатор, "192.168.1.130", который говорит мне, что я за другим маршрутизатором (и у меня нет контроля над этим маршрутизатором, поэтому я не могу открыть порты на нем).
Как я могу лучше всего подключиться к моей домашней сети из внешнего мира? Я предполагаю, что DDNS не будет работать. Но мне интересно, могу ли я оставить активный VPN-туннель открытым с какого-либо другого сервера или службы, к которой нужно подключиться, или есть ли какая-то другая магия сети, которую я могу использовать, чтобы обойти ограничения моего провайдера?
Изменить: модема нет. Соединение происходит через порт Ethernet вне стены. Интернет-провайдер не сотрудничает.
Edit2: Как и предполагалось, я решил пока использовать обратный туннель SSH для открытия определенных портов, как при переадресации портов. Этот SSH-туннель инициируется и запускается с домашнего сервера и подключается к внешнему общедоступному VPS, активному 24/7. Как я выяснил, если вы используете PuTTy для туннелирования от домашнего сервера к внешнему серверу, обязательно отметьте "Удаленные порты делают то же самое (только SSH-2)". Пример:
R<public_port> <LAN_IP_on_home_network>:<listening_port_for_that_machine>
2 ответа
Какую услугу вы ожидаете? SSH будет легко передать, если у вас есть сервер где-то снаружи.
Если вы можете получить доступ к внешнему серверу SSH, вы можете перенаправить удаленный порт на этом внешнем сервере на ваш внутренний сервер (и при желании разрешить ему принимать внешние соединения).
ssh -R *:12345:internal.server:22 user@public.server
Это перенаправит порт 12345 на общедоступном сервере на порт 22 на вашем внутреннем сервере, который может быть локальным, если вы подключаетесь с этого компьютера.
Затем, если на общедоступном сервере правильно настроены правила брандмауэра, вы сможете получить доступ к своему внутреннему серверу, подключившись к порту 12345 общедоступного сервера.
Если вы пропустите *: part, он будет перенаправлен только на интерфейс обратной связи для внешнего сервера, поэтому сначала вам потребуется SSH к этому серверу, а затем SSH с этого компьютера на порт 12345 локального хоста.
Одним из решений является установка программного обеспечения для удаленного управления, такого как TeamViewer, на каждую из систем, к которой вы хотите получить удаленный доступ. Это бесплатно для личного использования и работает на системах Android, iOS, Linux, Mac OS X, Windows, Windows Phone 8, Windows RT и BlackBerry. Я использую его в системах семейства Windows для удаленного устранения неполадок, а также использую его в системах Linux и Chromebook и обнаружил, что он хорошо работает. Я даже использовал его для удаленного управления ПК с Windows с телефона Android, хотя крошечный экран телефона делает это затруднительным. Вам не нужно беспокоиться о правилах брандмауэра на внешних сетевых устройствах для входящих подключений, если разрешены все исходящие подключения, а также не нужно беспокоиться о переадресации портов на внешних маршрутизаторах.
Другое решение, если вы используете SSH для подключения к внешнему SSH-серверу, заключается в создании обратного SSH-туннеля, который позволит вам подключаться к внешнему SSH-серверу и иметь возможность подключения через туннель к домашним системам. Вы можете туннелировать протокол удаленного рабочего стола (RDP) для систем Microsoft Windows или другие протоколы через туннель SSH. Например, см. Обратный туннель SSH, чтобы узнать, как настроить обратный туннель в системе Linux. Инструкции о том, как сделать это с помощью PuTTY в системе Microsoft Windows, см. В разделе Как запустить обратный туннель с помощью PuTTY?, Сконфигурируйте передачи активности активности TCP для поддержания соединения.