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