Я пытаюсь сделать порт (например, 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
.