To connect two Windows virtual machines using Remote Desktop, you must configure each VM with a static IP address on an internal host-only network. This setup isolates the VMs from the physical network while allowing direct communication between them for seamless remote access and file sharing without exposing the hosts to external threats.
Configuring the Virtual Network Adapter
The foundation of this setup is ensuring that both virtual machines can see each other but remain hidden from the outside world. Most virtualization platforms like VMware Workstation or Oracle VirtualBox provide a "Host-Only" adapter type specifically for this purpose. Unlike NAT (Network Address Translation), which shares the host's single public IP, or Bridged mode, which connects directly to your physical router, Host-Only creates a private virtual switch.
Open your virtualization software settings for both VMs. Locate the network adapter configuration section. Change the connection type from NAT or Bridged to Host-Only. If your platform does not have a dedicated Host-Only option, create a custom virtual network interface in the host operating system's hypervisor settings and assign both VMs to it. This ensures that traffic between the two Windows instances stays within the local virtual environment. Verify that both VMs are connected to the same virtual network identifier to prevent routing issues.
Assigning Static IP Addresses
Once the network layer is established, you need to assign specific IP addresses to each virtual machine. While DHCP can work, static IPs are far more reliable for Remote Desktop connections because they do not change when the VM restarts. You will need to determine the subnet used by your Host-Only adapter. Typically, this is something like 192.168.x.0/24, but you should check the properties of the virtual network adapter on your host machine to confirm the exact range.
On the first Windows VM, open the Control Panel and navigate to Network and Sharing Center. Click on Change adapter settings and right-click the active Ethernet adapter. Select Properties, then double-click Internet Protocol Version 4 (TCP/IPv4). Choose Use the following IP address. Enter an IP like 192.168.56.101, a Subnet mask of 255.255.255.0, and leave the Gateway blank since there is no internet route needed for internal communication. Repeat this process for the second VM, assigning it a different address such as 192.168.56.102. Ensure both machines are on the same subnet to allow ping tests to succeed.
Enabling Remote Desktop Protocol
With networking configured, the next step is enabling the service that allows one computer to control another. On both virtual machines, go to Settings > System > Remote Desktop. Toggle the switch to enable Remote Desktop. For better security, consider clicking Advanced Settings and ensuring that Network Level Authentication is enabled, which requires users to authenticate before a session is established.
It is crucial to note that Remote Desktop is natively supported in Windows 10 and 11 Pro, Enterprise, and Education editions. If you are using Windows Home edition, this feature is not available by default, and you would need third-party software like TeamViewer or AnyDesk instead. Assuming you are using Pro editions, verify that the firewall allows incoming connections on port 3389. In most cases, enabling Remote Desktop automatically adds the necessary firewall rule, but checking the Windows Defender Firewall settings under Allow an app or feature through Windows Defender Firewall can confirm this.
Testing the Connection
Before attempting a full graphical session, test basic connectivity. Open Command Prompt on VM1 and type
ping 192.168.56.102. You should receive replies from the second VM. If you get a timeout, check the firewall settings on the target VM or ensure the network adapter is set to Private rather than Public. A public network profile often blocks discovery and remote access features for security reasons.
Once ping succeeds, open the Remote Desktop Connection application (
mstsc.exe) on VM1. Enter the IP address of VM2 (e.g., 192.168.56.102) and click Connect. You will be prompted for credentials. Enter the username and password of an administrator account on VM2. If successful, you will see the desktop of VM2 displayed within a window on VM1. This confirms that the two Windows PCs are correctly isolated yet fully communicative.
For more information on managing user permissions across these connections, see
Credentials Needed for Viewing Files on PC. Additionally, if you encounter storage issues while setting up these environments, refer to
Unable to shrink 930GB Windows partition to make room for Linux installation.
Troubleshooting Common Issues
If the connection fails, several factors could be at play. First, ensure that both VMs have their time synchronized. Significant time drift can cause authentication failures, especially if Kerberos is involved in the background. Second, check if any antivirus software on either VM is blocking inbound RDP traffic. Some third-party firewalls require manual rules to be added for port 3389.
Another common issue is the network profile classification. Windows may classify the Host-Only network as "Public" due to lack of internet access. Switching the network profile to "Private" via Settings > Network & Internet status allows file and printer sharing and Remote Desktop to function correctly. Finally, ensure that both VMs have sufficient resources allocated. Running two Windows instances simultaneously can be memory-intensive; monitor resource usage to prevent performance bottlenecks that might drop the connection.
Frequently Asked Questions
Can I use Windows Home edition for this setup?
No, Windows Home edition does not support being a Remote Desktop host. It can only act as a client to connect to other machines. You must upgrade to Pro, Enterprise, or Education editions on the machine you want to control remotely.
Why is my ping failing between the two VMs?
This usually indicates a firewall block or incorrect network adapter configuration. Ensure both VMs are on the same Host-Only network and that the Windows Firewall is not blocking ICMP echo requests. Check that the network profile is set to Private.
Do I need to forward ports on my physical router?
No, because you are using a Host-Only network, the traffic never leaves the virtualization software. Your physical router is completely bypassed, so no port forwarding is required or recommended for this internal setup.
How do I share files between the two VMs?
You can use standard Windows File Sharing (SMB) over the same network. Map a network drive on VM1 to the path \\192.168.56.102\C$ or a shared folder on VM2, provided you have the correct credentials and sharing permissions enabled.
What happens if I shut down one VM?
The connection will simply drop. When you restart the VM, its IP address should remain the same since you assigned static IPs. You can reconnect immediately using the Remote Desktop client without needing to reconfigure anything.