Я ищу аналог этого:
ssh -R 8888:10.0.0.2:8888 100.101.102.103
т.е. сделать так, чтобы служба, работающая на порту 8888 на локальном компьютере (10.0.0.2), выглядела как локально работающая служба на удаленном компьютере (100.101.102.103).
Однако мне не нужны накладные расходы на шифрование ssh, поскольку рассматриваемая служба https и, следовательно, уже зашифрована.
Может ли кто-нибудь предложить инструмент для этого? Обратите внимание, что здесь важно направление инициации - т.е. это эквивалент обеспечить регресс туннель. Локальный компьютер, на котором запущена служба, находится в частной сети и не виден напрямую удаленному компьютеру; однако удаленная машина имеет общедоступный IP-адрес.
Думаю, пара сеансов netcat вполне подойдет.
человек NC
Просто установите для шифрования ssh значение none.
ssh -c none -R 8888:10.0.0.2:8888 100.101.102.103
не забывайте socat, швейцарский армейский нож сетевых экспедиторов;)
Inetd в сочетании с netcat должны помочь. Видеть Порты пересылки, хотя xinetd может быть лучшим выбором в наши дни.
я использовал Rinetd для этого в прошлом с большим успехом.
rinetd - очень маленькая, стабильная и простая программа, которая прослушивает входящие соединения и пересылает их, настройка действительно проста
# bindadress bindport connectaddress connectport
1.2.3.4 80 4.3.2.1 80
1.2.3.4 443 4.3.2.1 443
Также есть программа под названием "камень", который может делать то же самое: Пример ... http пересылка со шлюза на внутренний компьютер (1.2.3.4):
$ stone 1.2.3.4:80 80
Вы могли бы использовать какое-то правило брандмауэра? Что-то в iptables
перенаправить один порт на другой?
То, что вы пытаетесь использовать, для меня пахнет NAT Port Forwarding. Одно правило iptables и готово.