Обход DS-Lite через обратный туннель SSH

К сожалению, мой провайдер предоставляет только соединение DS-Lite (без адреса IPv4, только адрес IPv6), что делает невозможным создание переадресации портов IPv4 для доступа к устройствам в моей локальной сети.

Но у меня есть vServer с адресом IPv4+IPv6 и пользовательская (не root) оболочка. Поэтому я подумал, что можно было бы сделать SSH-туннель от малинового пи в моей локальной сети до vServer. А затем создать IP-переадресацию с raspberry pi на устройство, которое я хотел бы получить в своей локальной сети. Это вообще возможно? Могу ли я инициировать туннель от малинового пи или он должен быть инициирован vServer на малиновый пи?

Временно я создал веб-сервер на Raspberry Pi (на порт 64321) и попробовал команду:

ssh -R 64321:localhost:64321 user@tunnelserver.com

Но я не мог связаться с веб-сервером, введя tunnelserver.com:6421,

Большое спасибо за вашу помощь!

1 ответ

Решение

То есть у вас нет доступа администратора к VPS, верно? Это удержит вас от внедрения более эффективных решений.

Я собираюсь указать на две очевидные ошибки здесь:

  • Вы пропустили цифру в порту: 64321 в ssh командная строка, но 6421 при попытке
  • Потому что вы не указали bind_address (как в -R [bind_address:]port:host:hostport), удаленный порт прослушивает localhost, Вам нужно использовать либо 0.0.0.0, [::] или же \* заставить его слушать на всех интерфейсах.

Кроме того, чтобы сделать эту работу вообще, GatewayPorts директива в sshd_config (файл конфигурации сервера OpenSSH) должен быть установлен в yes или же clientspecified (лучше). Значение по умолчанию конечно no,

Если вы сделаете это, нет необходимости в переадресации портов. Просто укажите правильный целевой хост и порт в -R параметр.

Другие вопросы по тегам