Windows 11 RDP RDP Wrapper Cloudflare
Windows 11 Remote Desktop allows only one concurrent session by default. RDP Wrapper Library lets multiple users hold independent sessions without buying a Windows Server license.
Two methods
Requirements
- Windows 11 Pro or Enterprise, administrator rights
- 8GB+ RAM recommended; enough resources for concurrent sessions
- Open the RDP port (default TCP
3389, can be changed to non-standard)
Method 1: RDP Wrapper setup
Download RDP Wrapper
Get the latest
.zip from RDP Wrapper releases and extract it somewhere accessible (e.g. D:\RDPWrapper).Verify the extracted files
Should include
RDPWinst.exe, RDPConf.exe, RDPCheck.exe, install.bat, uninstall.bat, update.bat.Install as administrator
Right-click
install.bat → “Run as administrator”. If access is denied, temporarily disable Windows Defender protection and retry. It installs to C:\Program Files\RDP Wrapper.Verify the install
Run
RDPConf.exe and check Diagnostics: green is fine, red (not supported) means the config needs updating.Update rdpwrap.ini (if red warnings)
Open Save, restart, then run
C:\Program Files\RDP Wrapper\rdpwrap.ini as administrator and replace its contents entirely with the community-maintained config:RDPConf.exe again to confirm all green.Key RDP service settings
- General
- Authentication
- Shadowing
| Setting | Function | Security note |
|---|---|---|
| Enable Remote Desktop | Starts the RDP service | Pair with firewall source limits |
| RDP port | TCP port to listen on | Non-standard port lowers automated attacks |
| Hide users on logon | Hides the account list | Avoids leaking account info |
External access
To connect from outside, set up router port forwarding, ideally behind Cloudflare.Find the internal IP and make it static
Run
ipconfig on the target PC, note the IPv4 (e.g. 192.168.x.x), and set a static IP or DHCP reservation so forwarding does not break on address changes.Router port forwarding
Add a rule under the router’s Port Forwarding / Virtual Server:
| Setting | Example | Notes |
|---|---|---|
| Internal IP | 192.168.x.x | Target PC LAN IP |
| External port | <external-port> | Custom non-standard port |
| Internal port | 3389 | Match the RDPConf setting |
| Protocol | TCP |
Allow through Windows Firewall
win + R → wf.msc, add an inbound rule: type “Port”, protocol TCP, your RDP port, action “Allow the connection”.Test connectivity
Internally:
telnet 192.168.x.x 3389. Externally: from a phone hotspot, telnet <public-ip> <external-port> or an online open-port checker.Cloudflare (pick one)
- A record (quick): add an A record in Cloudflare DNS pointing at your public IP, Proxy set to “DNS only (grey cloud)”.
- Cloudflare Tunnel (recommended): no open router port, automatic TLS, DDoS protection. Install cloudflared, then:
Client connection
- PC
- Mobile
- Built-in Remote Desktop Connection (
mstsc): enteraddress:port, log in with credentials. - Microsoft Remote Desktop app: add a PC with the address and credentials.
- Command line:
mstsc /v:<host>:<port>.
Troubleshooting
| Symptom | Likely cause | Where to look |
|---|---|---|
| RDPConfig shows red | rdpwrap.ini stale or termsrv.dll modified | Update the ini, sfc /scannow, reinstall RDP Wrapper |
| No connection after patching | Service not restarted, firewall, permissions | Restart TermService/UmRdpService, check firewall, confirm account in “Remote Desktop Users” |
| Breaks after Windows update | System file restored or config overwritten | Recheck RDPConf, update the ini, restart |
| Slow with many sessions | Resource/bandwidth limits | Add RAM, lower color depth, use wired networking |
Hardening
- Enable NLA (Network Level Authentication) to authenticate before the session.
- Move RDP off the default port and set a source-IP allowlist in the firewall.
- Account lockout policy (e.g. 5 failures → 30 min) and audit both successful and failed logons.
- Grant “Allow log on through Remote Desktop Services” only to needed users; explicitly deny high-risk accounts.
- Strong password policy plus 2FA; review
TerminalServices-LocalSessionManagerevent logs regularly.
Links
This page is a public, sanitized version of the private organization repo issp-mes-lab/remote-win11-pc, with lab-internal addresses, ports, and accounts removed. The source repo is private and requires organization access.
- Source repo (private): issp-mes-lab/remote-win11-pc
- RDP Wrapper Library (core multi-session tool)
- Community-maintained rdpwrap.ini
- Cloudflare Tunnel (cloudflared)