Derrubei a latência do meu desktop remoto com relay local no próprio VPS
Tenho um VPS Linux de 32GB na Hostinger parado e decidi transformá-lo no meu "PC na nuvem", acessando via RustDesk. Só que o delay era de 350ms.
Suspeito nº 1: Tailscale
Uso Tailscale na VPS e no tablet. Se o tráfego fosse por relay (DERP) em vez de conexão direta, explicaria a latência, e meu tablet estava no 4G, atrás de CGNAT.
Mas o tailscale ping mostrou conexão direta via IPv6 BR. Não era o vilão.
Suspeito nº 2: peering IPv6 ruim
VPS no Brasil, tou no Brasil, mas 592ms. Cheiro de roteamento IPv6 ruim.
Mas RDP e NoMachine, pelo mesmo caminho, funcionavam perfeitamente. Se fosse a rede, todos sofreriam igual. A latência era específica do RustDesk.
O verdadeiro culpado era o relay público
$ sudo ss -tup | grep rustdesk tcp ESTAB ... 40.160.225.24:21117 users:(("rustdesk",...))
A porta 21117 é o relay do RustDesk, e o IP ta fora do Brasil.
A sessão inteira fazia: tablet → relay público → VPS.
Diferente do RDP, o RustDesk usa ID + servidores públicos.
Se o hole punching falha (comum em CGNAT móvel), ele joga tudo pro relay mais próximo, que pode estar geograficamente longe.
A solução foi relay local no próprio VPS
Subi meu próprio servidor RustDesk na VPS com Docker (hbbs + hbbr).
Como o relay roda na mesma máquina da sessão, a latência extra é praticamente zero. E com IP público dedicado, o tablet conecta direto, sem NAT traversal.
Configurei o ID server nos dois lados com o IP da VPS e a chave pública, abri as portas 21115 a 21117 no firewall e reconectei.



