I am not sure if I should be asking this in Unix & Linux or Network Engineering
Here is the physical scenario
[Host 1]----[Carrier-grade NAT]---->AWS<----[Carrier-grade NAT]----[Host 2]
Host 1 and Host 2 are reverse ssh'ed (autossh) into an AWS Box, so they do have shell connectivity if required, and possibility to expose any other port if required.
Host 2 pushes backup dumps to Host 1 using SCP on regular basis. There are actually Host2 X 10 boxes pushing the data dumps. Nearest AWS location is quite far from the location of boxes so latency is quite a lot.
Is there a possibility to use the AWS box as a rendezvous point to broker a ssh tunnel between the boxes? I am aware about the IPv6 tunnel brokers but the ISPs in the region are yet to adopt it (20 years late... duh!) I am exploring a solution bases on:
- TCP / UDP hole punching (with practical implementation)
- UPnP / NAT-PMP service on AWS
- Using tools such as Chrome Remote Desktop, hack it to expose SSH port rather then VNC
- Any other router service.
- Any other practical approach.
Boxes are running CentOS 6/7 mostly.