I have a video surveillance system (a bunch of IP cameras, with private IPs) behind a router in a distant location. The only ISP that's available at that location has provided me with a 3G/4G USB dongle (so basically mobile Internet). Apparently this dongle (which connects to the router) does some routing/magic by itself (and is not configurable) so I can't use the router to do port forwarding (not in anyway that helps at least). This means that while the cameras have Internet access (so can push information to me), I can't access them directly over the Internet (so basically, no live feeds).
I'm thinking of getting around this by putting a low power computer (software doesn't really matter much in this question, but I'll use Linux) in the same subnet as the IP cameras - let's call this computer A; I also have a VPS rented somewhere that is publicly accessible via the Internet - let's call it B.
I think that this setup should allow me to work around the issue with my live feeds. At least conceptually if I get A to open a tunnel to B then via B I should have access to A's network.
Presuming the above works (I don't see why not, but .. that's why I'm asking) can you guys recommend a system that can accomplish the above with at little fuss as possible? I mean .. should I set-up a VPN with A as a VPN client and B as a VPN server; then anyone who wants to view the cameras simply connects to the VPN server installed on B?
I think this should work, but maybe there's an easier way than setting up VPN on every computer from where I want to check the cameras.
I'm not directly interested in the software (I'm sure that exists and I'll manage to configure it) but rather the networking concepts.
The ideal situation would be that I'd connect to B on (for example) port 8080 and that traffic will automatically be routed from B through a tunnel to A, at which point A will feed data obtained from camera "1" through that connection; then 8081 from camera "2" and so on.