Назад | Перейти на главную страницу

Перенаправить локальный порт на сервер без поддержки ssh

Я пытаюсь сделать порт (например, 9876) доступным на сервере Linux (Боб) для подключения других хостов. Поскольку целевая машина (Алиса), которая обслуживает порт 9876, является микроконтроллером, следовательно, у нее нет возможностей ssh ​​(или, по крайней мере, у меня нет доступа к ней (что, я должен добавить, только к лучшему, чтобы не допустить таких людей, как я возился с ним)), я думал об использовании ssh-туннеля с удаленной пересылкой на Бобе, чтобы сделать порт 9876 доступным на сервере Боба.

(Причина, по которой я публикую этот вопрос, на который я нашел ответ, заключается в том, что я чувствую, что может быть более элегантное решение. Почему-то туннелирование на localhost кажется неопрятным.)

3прокси включен в некоторые дистрибутивы. Вы можете использовать tcppm (TCP Port Mapper), чтобы прослушивать локальный порт и перенаправлять его на другой хост. Примерно так должно работать:

tcppm 9876 Alice-ip 9876

Поиграйте с опциями регистрации и т. Д. По мере необходимости.

Я нашел одно решение (которое я не пробовал), используя iptables Вот введите описание ссылки здесь

В итоге я использовал это решение на Бобе: ssh -R9876:<Alice-ip-address>:9876 user-on-Bob@localhost

Итак, теперь я мог использовать приложение для подключения к порту по умолчанию на сервере Боба, а не напрямую к микроконтроллеру Алиса.

Подойдет любое решение для пересылки с балансировщиком нагрузки.

Например, если вы можете поместить его за ящиком Linux, Linux IP Virtual Server реализует балансировщик нагрузки уровня 4. См. Руководство для ipvsadm.