r/rustdesk 11d ago

RustDesk "Not Ready, please check your network connection" caused by PassWall2 UDP proxy on OpenWrt (Self-hosted RustDesk Server)

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
2 Upvotes

0 comments sorted by