Availability Anywhere Part 9 — Poor man’s channel bonding for RDP

This is the ninth part of the Availability Anywhere series. For your convenience you can find other parts in the table of contents in Part 1 – Connecting to SSH tunnel automatically in Windows

Today we are going to configure a poor man’s channel bonding to connect over RDP to a server.

Server side

First, configure your RDP to accept multiple RDP connections and shadowing. Enable “Set rules for remote control of Remote Desktop Services user sessions” in the Local Group Policy Editor in Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Connections. Reboot.

Next, create as many user accounts as you need and allow them to connect over RDP.

Client side

Connect your computer to the Internet via multiple physical connections. Ideally, separate and independent ones. Use WiFi, Ethernet, Bluetooth, USB, whatever you want.

Use ForceBindIP to run RDP client. Just execute

ForceBindIP64.exe FIRST.NETWORK.IP.ADDRESS mstsc.exe

Connect to the server using first username. This is your main connection

Now, run mstsc with second adapter and connect to the server with the second username. Then, start shadowing with:

mstsc /shadow:2 /noConsentPrompt /control

You can find session ID with qwinsta or quser.

That’s it. Now just keep using your main session and switch to any backup if the main lags or dies.