因为自个的台式机(Christina)和服务器(Maffia)都放在实验室工位,有的时候人不在工位需要远程控制,之前一直用的是向日葵,但是向日葵免费版本的带宽实在是太小了,免费用户的体验实在是不太好,常常断流,而且会有弹窗广告,还是当备案,首选搭建别的穿透服务来远程控制。
Zerotier
Zerotier是用来搭建虚拟局域网的工具,在没有公网Ipv4的情况下,还是挺好用的,但是它的服务器毕竟是国外的,有的时候常常打洞失败,并且有的时候会出BUG,还没细究是Win版远程桌面的锅还是是什么别的原因(つづく)
准备工作
软件下载
这个是Zerotier的官网下载地址: Download - ZeroTier,Christina是Windows系统,正常安装就好,一般这种服务本身不太占内存,就直接装在C盘了,免去一些配置路径和依赖。
Zerotier注册
注册一个自己的虚拟局域网,由zerotier服务器来配置ip和路由管理,免费版本一个Network下能提供至多25个设备支持(一般是足够了),权限设置成私人,对设备进行授权管理。

注册完毕并创建一个网络服务后,会获得该网络下的网络ID(Networkd ID),再选择性得配置好该网络的名称和相关说明就好。

将设备加入到虚拟局域网当中

打开下载好的zerotier程序,右键进行配置,能看到当前主机的ID,选择「Join New Network」,填入Step2创建好的网络ID,再回到网页配置中(一般会有一点延迟),能看到Members选项下会出现未授权的设备,Address对应到当前主机的ID,进行对应的授权后就能看到Zerotier配置的ip(Managed IPs),这样就将当前主机加入到创建好的虚拟局域网当中了。 我这边加入了4台自己的设备,可以尝试ping一下各台主机来进行测试。

能正常ping通就表明成功了
题外
zerotier的服务器在海外,不受控,有的时候服务会失效,可以额外搭建moon来加速,感觉还是多一步不方便,之前淘了一个云服务器,有了公网ip就选择开frp服务了,更方便一点。
Frp
之前淘了台云服务,有了公网服务器,那这不是可以肆意妄为?,肆意折腾。
Frp可以自定义TLS加密,支持frpc和frps之间的流量通过TLS协议加密,并且支持客户端或服务端单向验证,双向验证等功能。
当 frps.toml 中 transport.tls.force = true 时,表示 server 端只接受 TLS 连接的客户端,这也是 frps 验证 frpc 身份的前提条件。如果 frps.toml 中 transport.tls.trustedCaFile 内容是有效的话,那么默认就会开启 transport.tls.force = true。
从 v0.50.0 开始,
transport.tls.enable的默认值将会为 true,默认开启 TLS 协议加密。 如果 frps 端没有配置证书,则会使用随机生成的证书来加密流量。 默认情况下,frpc 开启 TLS 加密功能,但是不校验 frps 的证书。
服务端-配置
下载服务端软件
下载地址: Releases · fatedier/frp WebChristina用的系统镜像是Ubuntu22.04,对应frp_0.61.1_linux_amd64版本
上传&解压
|
|
服务器配置
|
|
确认无误后,保存并退出。
运行frps服务
|
|
|
|
确认无误后保存并退出,并在系统启动frps服务:
|
|
记得在服务器内打开各项服务的端口
客户端-配置
下载客户端软件
下载地址: Releases · fatedier/frp Christina用的系统镜像是Win1123H2,对应frp_0.61.1_windows_amd64版本
客户端环境配置
正常解压到工作目录,客户端只需要配置frpc.toml就可以
|
|
简单的配置结束了,可以在终端里打开对应的目录,运行服务并检查是否正常开启了:
|
|
检查对应的日志文件
|
|
让服务后台运行,设置开机自启动
1.将下列代码存为一个.vbs文件,例如 frpcStart.vbs
|
|
2.把这个vbs文件放到计算机的启动下面
win11的启动路径是这个 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
对vbs不熟,就按绝对路径处理了
题外存疑
- Windows的远程桌面rdp服务走的是tcp&udp吧,但是frpc&frps配置都写tcp协议
- 虽然官方文档写的是默认开启tls加密,我尝试加了证书(这个会后续更新),但是要开启stcp服务后,rdp就无法使用了,猜测是stcp和tcp不一样ㄟ( ▔, ▔ )ㄏ