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

Надежная обратная переадресация портов между ПК с Windows (под NAT) и Linux-сервером

У меня следующая топология:

Мне нужно получить безопасный доступ к порту сервера Windows с моего сервера Linux.

В настоящее время у меня есть plink.exe завернутый в службу Windows с nssm инструмент, настроенный как обратная прокси-пересылка, и в целом он работает - но в plink.exe похоже, нет настроек keep-alive, и это очень ненадежно, соединение разрывается каждый день, и мне приходится перезапускать службу. Также нет возможности настроить сервис в nssm.exe иметь любую логику «проверки работоспособности» и перезапуска.

Я думаю о написании очень простого инструмента на golang, который будет наблюдать за подключением и перезапускать его, если оно потеряно, но это выглядит немного взломанным и, возможно, слишком сложным, может быть, я что-то упускаю, и мне интересно, есть ли более простые и другие надежный способ решить такую ​​задачу?

Также думал об установке msys2 на ПК с Windows и попробуйте использовать клиент openssh вместо plink, но я не уверен, что мне наконец удастся обернуть его как службу.

Используйте Plink для не интерактивный Сеанс SSH (он же «команды») для выполнения на удаленных машинах Linux в целях автоматизации. Plink никоим образом не предназначен для постоянного использования.

Если я правильно понимаю, ваш компьютер с Windows выполняет NAT и доступен из вашего источника подключения. И вы не можете включить переадресацию портов, например:

netsh interface portproxy add v4tov4 listenport=22 listenaddress=<WAN IP> connectport=22 connectaddress=<DESTINATION IP>

Если это так, я бы рекомендовал настроить SSH-сервер на компьютере с Windows и использовать SSH туннель характерная черта.