Обход 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
параметр.