We are setting up a system for software acceptance testing. The test computers will run Win7 or Win Server 2003 R2. The test computers will have multiple VirtualBox VMs on which the programs under test will run. Guest OS in the VMs will be Win XP or Win Server 2003 R2.
The environment for the tested programs should look as similar as possible to an ordinary users computer. This means there should be only one network connection, which has internet access using a public IP (if possible).
We need to run multiple test VMs on the same computer, each with its own unique public IP. We plan on using OpenVPN and multiple pay-for VPN accounts to get the different public IPs. And we must be able to communicate between host and guest, and between guests.
One idea is to run each program under test in one VM (called VM-A, VM-B, ...) and for each one of these one instance of OpenVPN in another VM (called VM-Avpn, Vm-Bvpn, ...) to get the different public IPs.
The program under test running on the guest OS should if possible only see the public internet IP used by the OpenVPN tunnel (for instance 188.8.131.52), instead of the local IP (for instance 10.0.0.50) that is usually assigned by OpenVPN to the client end of the tunnel.
The immediate questions are:
1. Is this setup possible?
2. What would the best VBox configuration for this be (network types and so on)?
3. How can i make VM-A use the public internet IP (184.108.40.206 ) from OpenVPN running in VM-Avpn?
4. Can an app on the Host communicate with a program running on guest VM-A?
5. Can an app on guest VM-Avpn communicate with guest VM-A?
I think this would be possible with some "networking magic", but my networking know-how is limited and I need some expert advice on this.