利用frp实现外网对内网机器进行远程桌面
最近组建了一台低功耗的新电脑用来跑一些需要常开的程序和虚拟机,新年的时候回家后想远程连回去操作一下,于是事先配置了下。
远程工具采用的是frp,frp 是一个反代工具,一些人做微信小程序这类限制比较多的开发时,经常用 frp 把内网开发端口直接反代到外网域名上方便连接和调试。
此处从外网进行远程桌面连接也是同理,只是我们反代的不是 http 端口,而是直接做 tcp/udp 转发。
Windwos 远程桌面连接支持 TCP,不过默认使用 UDP,速度会更快。
首先在服务器上做配置,frp 官方有提供二进制文件,我为了配置方便直接使用 Docker,因为服务器使用了 GCE 的容器优化形镜像,使用二进制文件反而更麻烦。
使用的 frp 是第三方的,不过因为 dockerfile 是开源的,构建也是自动化的,不会有什么问题。
首先先写好 docker-compose 的配置:
yaml
这里除了 frp 外还使用了 caddy 用来提供 frp 控制台(虽然只能看统计)
接下来是 frp 的配置,两个配置文件都放在服务器上,十分简单,记得把备注了的地方改掉:
frps.ini
ini
frpc.ini
ini
Caddyfile
前面四个文件全部放在同一个目录,然后使用 docker-compose up -d 启动即可。
最后是客户端上的配置:
frpc.ini
ini
在本地机器上运行命令:
sh
即可完成启动,至此在外网我们可以直接通过:
服务器 ip:3390 访问内网远程桌面
服务器 ip:3391 连接 ss 并访问内网服务
http://服务器ip 访问 frp 控制台
http://服务器ip/gui 访问 utorrent 进行远程下载