I want to build a system like following to central manage devices.The system will have the components as:
Basically the system will work as following:
So we want to build tunnels between Cloud Server and Remote Agent, thus we could go through NAT to remote manage those devices behind NAT. We need to run both TCP/UDP/HTTP protocol on the tunnels programmatically, and the concurrent tunnels need to support 10K level.
Currently we have surveyed SSH Tunnel and VPN Tunnel,But still no clue about how to do it.So the questions are:
Q1: use SSH reverse tunnel for TCP forward.
Q2: there is Apache SSHd for SSH server,jsch for SSH client.