ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
One way to do these things (the camera use-case) is to use something called nat punching.
But that isn't really convenient for something like ROS, which uses many (randomly chosen) TCP and UDP ports.
You could take a look at something like a P2P VPN such as tinc to create an overlay network. Besides the fact that its cross-platform, behaves like a virtual NIC (so no proxies, binary wrapping or other socket tricks), it's also safer as it encrypts the traffic between nodes - a nice thing when (vanilla) ROS1 does not do that for you.