本文最后更新于 941 天前,其中的信息可能已经有所发展或是发生改变。
自从购入平板之后,我再也没有随身携带电脑。但是总有一些工作在平板(Android)上无法完成,需要在Windows上才能解决。几款第三方远程桌面软件的表现都不尽如人意,要么价格高,要么延迟高,要么在安卓上对鼠标的支持不够好。之前发现微软官方出品的Remote Desktop应用对安卓优化得很好,正好本机上已经使用RDPWrap打开了远程桌面,所以决定使用Frp搭建内网穿透服务实现远程桌面功能。
客户端
客户端(被连接方)frpc.ini
[common]
server_addr = 1.2.3.4//服务器ip
server_port = 12345//端口
token = abcd//服务器端token
[3389]
type = stcp
sk=abcd//sk需与连接方一致
local_ip = 127.0.0.1
local_port = 3389
use_compression = true//启用压缩
command:frpc.exe -c frpc.ini
客户端(连接方)
[common]
server_addr = 1.2.3.4//服务器ip
server_port = 12345//端口
token = abcd//服务器端token
[3389_visitor]//需要在被连接方的tag后面加上"_visitor"
type = stcp
role=visitor
server_name=3389//需要与被连接方的tag一致
sk=abcd//sk需双方一致
bind_ip = 127.0.0.1
bind_port = 12345//本机端口
use_compression = true//启用压缩
安卓端的Frp在此下载:https://github.com/HaidyCao/frp/releases
安卓端的最新版还停留在0.34.1,最好是在两个客户端和服务器端都使用相同版本的Frp。
下载安装后导入配置,在微软的Remote Desktop应用中输入bind_ip:bind_port就可以连接了。
服务端
frps.ini
[common]
bind_port = 12345//服务器端口
token = abcd//服务器token
command:./frps -c frps.ini
如果有防火墙,记得去防火墙设置允许对应端口。
Ubuntu中把Frp加入开机自启动(systemctl)
systemctl中的服务存储在/etc/systemd/system/
在/etc/systemd/system/中创建frp.service,加入如下内容:
[Unit]
Description=Frp
After=network.service
[Service]
Type=simple
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
ExecStart是填frp的存放位置+启动参数。
总结
整个配置过程并不会很麻烦,整个内网穿透服务非常顺利地就跑起来了。初步的测试发现虽然有一点点延迟,但完全能够接受,可能和服务器在HK并且走的是CN2 GIA线路有很大关系。如果出现延迟较高的情况,可以换用frp的kcp模式。