К сожалению, мой провайдер предоставляет только соединение 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 ответ1

0

То есть у вас нет доступа администратора к 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 .

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