搭配云电脑使用,可以实现云电脑自己挂自己永不休眠。
移动云电脑(连续24小时未连接客户端后关机)、天翼云电脑(连续1小时未连接客户端后休眠)均测试通过。以下统一简称为云电脑。
云电脑,没有公网IP,一般为NAT4,个别的有NAT3。
因为云电脑官方客户端只允许一台设备连接,因此在云电脑内部登录客户端后,想从外面连接只能借助第三方远程工具,目前免费的网易UU远程可以使用,但是存在bug,有一定的几率导致其他远程连接无法控制鼠标。
Windows最好用的最轻量的远程工具还是自家的远程桌面连接(RDP)。
一、tailscale组内网连接
参考:https://huhuhu.app/archives/tailscalezu-jian-da-nei-wang
组完内网直接连接即可。
二、FRP直接公网连接
与tailscale相比,不需要安装软件,不需要加入内网,对于部分限制严格的场景更方便。
FRP官方文档:https://gofrp.org/zh-cn/
找一台有公网IP的服务器,省钱的话NAT也是可以的,目前的跨网环境建议使用BGP
服务端安装
以Linux系统为例,从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件,根据你的机器选择合适的文件下载。
为了保持目录干净,先创建一个frp文件夹
mkdir frp
下载
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
如果机器访问GitHub比较慢也可以通过
解压
tar -zxvf frp_0.63.0_linux_amd64.tar.gz
编辑配置文件
cd frp_0.63.0_linux_amd64 && nano frps.toml
默认有一行bindPort = 7000
,NAT机器自行更改端口。
此时虽然可以直接使用,但是被有心人扫到你的机器,“他”也可以随意使用你的IP作为FRP的服务端,因此,我们选择加个验证。
目前 frpc 和 frps 之间支持两种身份验证方式,token
和 oidc
,默认为 token
。这些认证方式允许您验证客户端与服务端之间的通信,并确保只有授权用户能够建立连接。
oidc相对复杂,需要的大佬按照 官方文档 部署即可,我们使用token
即可。abc
自行替换
# frps.toml
bindPort = 7000
auth.token = "abc"
使用 systemd 实现开机自启
systemd一般系统都默认带了,如果没有,可以通过以下命令安装
# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd
使用文本编辑器在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
nano /etc/systemd/system/frps.service
写入内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp/frp_0.63.0_linux_amd64/frps -c /root/frp/frp_0.63.0_linux_amd64/frps.toml
[Install]
WantedBy = multi-user.target
使用 systemd 命令管理 frps 服务
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
设置 frps 开机自启动
systemctl enable frps
客户端安装
Windows可以选择官方的,这里推荐一个第三方的:https://github.com/koho/frpmgr
附上客户端的配置文件
通过设置 transport.useEncryption = true
,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止传输内容被截取。
如果传输的报文长度较长,通过设置 transport.useCompression = true
对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 CPU 资源。
serverAddr = "x.x.x.x"
serverPort = 7000
auth.token = "abc"
[[proxies]]
name = "XX云电脑"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 3389
transport.useEncryption = true
transport.useCompression = true