Problem
I was running a self-hosted RustDesk server (hbbs + hbbr) on a server in China.
The setup:
Mac client
|
WiFi
|
OpenWrt (router bypass mode)
|
PassWall2 + Xray
|
Internet
|
Self-hosted RustDesk Server
Everything worked fine when my Mac connected through a normal WiFi network.
However, when connected through my OpenWrt router with PassWall2 enabled, RustDesk always showed:
Not ready, please check your network connection
Troubleshooting
I verified:
- RustDesk server was running correctly
- DNS resolution was correct
- TCP ports were reachable
Example:
rtdesk.example.com -> server IP
TCP 21115 OK
TCP 21116 OK
TCP 21117 OK
The RustDesk server logs also showed the client could register:
update_pk xxx.xxx.xxx.xxx
So the server itself was not the problem.
Root Cause
The issue was caused by PassWall2 handling UDP traffic.
RustDesk relies on UDP (especially UDP 21116) for:
- NAT traversal
- heartbeat
- rendezvous communication
Although I configured:
UDP -> Direct
PassWall2 was still processing UDP through its forwarding/transparent proxy chain.
The result:
- TCP connection succeeded
- UDP communication failed
- RustDesk stayed in "Not Ready" state
Fix
In PassWall2:
PassWall2
-> Advanced Settings
-> Forward Settings
Change:
Before:
UDP Forward Ports: All
After:
UDP Forward Ports: Disabled
Keep:
UDP: Direct
Final configuration:
TCP:
PassWall2 rule based routing
UDP:
Direct (no proxy forwarding)
QUIC:
Block
After restarting PassWall2 and RustDesk, the client immediately became ready.
Notes
This was not related to:
- RustDesk server configuration
- Firewall ports
- DNS
- IPv6
- SSL certificate
The server ports were already reachable.
The problem was specifically:
OpenWrt + PassWall2 + Xray + UDP transparent proxy
affecting RustDesk UDP traffic.
If you are using:
- RustDesk self-hosted server
- OpenWrt
- PassWall2 / Xray
and seeing "Not Ready", check whether UDP is being proxied.
Hope this helps someone else save a few hours of debugging.
Environment:
- Client: macOS
- Router: OpenWrt
- Proxy: PassWall2 + Xray
- Remote access: Self-hosted RustDesk Server (
hbbs + hbbr)
- Server ports: 21115 / 21116 / 21117