I need to remotely access 100+ work computers (Windows XP, Vista and 8).
The PCs are all on the same local network, their dynamic IPs set by DHCP. They're behind a NAT and the public IP address is fixed.
We have chosen to use VNC. From a local computer I can provide the local IP and connect just fine. How can I connect from external locations?
I know I can use port forwarding on the router to forward port 5900 on the router to the same port on a given local IP, but it would provide me access to a single PC only.
(This is not a software recommendation question. I have thought of a few options, I'd like feedback about its advantages and disadvantages, and / or new suggestions -- the way I see it, it is not a "primary opinion based" question as well).
Here's some options I'm considering
- Use port forwarding to remote into a "machine-in-the-middle" that is then used to remote into the desired machine: this is the setup currently implemented. Other than not having to configure multiple port forwardings on the router, I can't think of any advantage. The obvious disadvantages are (1) this machine has to be perpetually on, and (2) I supposte it adds more complexity and unnecessary data throughput, latency, etc.
- Use port forwarding on the router, so that port 5900 forwards to PC1:5900, port 5901 forwards to PC2:5900, port 5903 forwards to PC2:5900, and so on. It forces me to have a "mapping table" of which port forwards to which IP. There's also the fact the local machines use DHCP and the IPs aren't fixed, so I suppose it forces me to set all the PCs to us fixed IPs.
- Some sort of local or external service that keeps track of which PCs are online and what their local IPs are. I'm not sure if something like that exists, or if it can be achieved with simple tools or scripts.
- Use anything other than VNC: this could be a valid and welcome answer to this question. Unfortunately in my particular case, we can only use free (as-in-freedom) software, or at least software free for commercial use, and that doesn't publish information to third-parties.