使用 Cloudflare Tunnel 实现 VNC 远程桌面的正确姿势是什么?

查看 70|回复 6
作者:fuo   
我在 Cloudflare 购买了一个域名,想使用一台 Macbook 远程桌面到家里的 Mac mini 来使用,网上翻了很多帖子,说用 Tunnel 可以实现内网穿透,于是折腾了下,下面是具体的步骤:
使用家里的 Mac mini ,作为服务端操作如下:
1 、在 Cloudflare 控制台选择 Zero Trust 新建一个 Tunnel ,并选择 Cloudflared 类型的 Connector ;
2 、在 Public Hostname Page 中设置了 Subdomain 、Domain 参数,Service 选择了 RDP ,URL 设置为 localhost:3389;
3 、在 Install and run a connector 的页面,复制安装命令并运行:
brew install cloudflared &&
sudo cloudflared service install eyJhIjoiNGNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
4 、运行完成后,在 Your tunnels 页面能显示出 Connectors 连接成功。
然后使用 Macbook 作为远程桌面的客户端,同样使用 brew 安装好了 cloudflared ,并运行如下命令:
cloudflared access rdp --hostname xxx.xxx.com --url rdp://localhost:3389
输出日志显示启动成功:
INFO Start Websocket listener host=localhost:3389
然后我使用访达的前往服务器功能,输入:vnc://127.0.0.1:3389进行连接,连接失败,并有如下日志输出:
ERR failed to connect to origin error="websocket: bad handshake" originURL=https://xxx.xxx.com
检查了两台 Mac 的防火墙均处于关闭状态,google 了上面的错误日志看到有说是 Cloudflare 的网络设置中没有打开 WebSocket 导致,也检查了一下是默认开启的,现在不太确定是哪里的问题,不知道有没有小伙伴有成功的案例,不胜感激。
xxgzzzzzz   
我感觉 zerotier 是最简单最简单的...
或者 wireguard vnt 速度更快点
再或者 如果是 nat1 natmap 可以直连
1423   
先确定内网能连上吧
而且这个功能也不需要有域名..
fuo
OP
  
@xxgzzzzzz 好的这几个我也去了解下
fuo
OP
  
@1423 测试过了,内网正常连接没问题
1423   
@fuo #4 cloudflared 只报了一个 err 吗,有没有连接上 edge 的消息(一般是两对 4 个)
oott123   
虽然说可能不是这个原因,但 vnc 的默认端口是 5900 ,3389 是 rdp …
您需要登录后才可以回帖 登录 | 立即注册

返回顶部