最近在家办公,
    
     TeamViewer
    
    又双叒叕认为我商用了,试了下
    
     AnyDesk
    
    替代,但是速度真的是远不如前者,所以干脆自己搭一个
    
     frp
    
    反向代理来当作 Windows 远程桌面,亲测速度还不错,本文分享下搭建教程。
   
    一、frp 介绍
   
项目地址:https://github.com/fatedier/frp
FRP (Fast Reverse Proxy) 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP , UDP , HTTP , HTTPS 协议,可以实现 Windows 远程桌面搭建。
    使用体验:搭建好了 frp,用了下远程桌面,发现速度比 AnyDesk 快不少,跟 TeamViewer 差不多,TeamViewer 最近商业化查的越来越严了,明明是自用,也会提醒你商业使用,所以搭建一个
    
     frp 服务器
    
    作为替代(备用)还是很有必要的。
   
    二、准备工作
   
需要:
- 一个有公网 IP 的 VPS 服务器
老王需要远程连接的服务器在香港,所以直接用的阿里云的香港轻量,如果你需要连接的服务器在国内,那么直接选择阿里云或者腾讯云都行,现在轻量应用服务器价格都非常便宜,学生的话更是几十块钱 / 年就能买到 5M 带宽的轻量,用来做远程连接完全够了。
学生优惠:
其他优惠:
- 
     腾讯云秒杀:
 
 https://cloud.tencent.com
 
- 
     阿里云云小站:
 
 https://www.aliyun.com/minisite/goods
 
    三、frp 服务器端搭建
   
下载地址:https://github.com/fatedier/frp/releases
一般服务器都是 Linux 系统的,目前最新版本是 0.36.2,直接下载对应的版本:
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
解压:
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
    至此,你会得到一个
    
     frp_0.36.2_linux_amd64
    
    的文件夹,进入文件夹:
   
cd frp_0.36.2_linux_amd64
作为服务器端,你只需要关心 2 个文件:
- frps
- frps.ini
    其中
    
     frps
    
    是运行程序,
    
     frps.ini
    
    是配置文件。
   
    修改
    
     frps.ini
    
    (如果不会用 vim 编辑器,可以参考《
    
     Linux下使用vim编辑以及新建文件
    
    》):
   
vi frps.ini
文件内容如下:
[common] bind_port = 7000 dashboard_port = 7500 token = laowang dashboard_user = laowang dashboard_pwd = laowang_pwd
这里主要是配置了绑定的端口(7000),控制面板的端口(7500),token(会在客户端用到),控制面板的 user 用户名和 pwd 密码。
    运行
    
     frp 客户端
    
    :
   
./frps -c frps.ini
如果没有问题的话,就会直接运行成功了:
    
    
    这时我们就能访问控制面板了(http://47.240.*.*:7500):
   
     
   
可以借助 nohup 后台运行 frps,命令如下:
nohup ./frps -c frps.ini > /root/frp/log.log 2&1 &
    四、frp 客户端配置
   
下载地址:https://github.com/fatedier/frp/releases
    同样是下载 releases,以 Windows 为例,下载与服务器端对应版本的
    
     frp_0.36.2_windows_amd64.zip
    
    。
   
作为客户端端,你只需要关心 2 个文件:
- frpc
- frpc.ini
    编辑
    
     frpc.ini
    
    文件,加入如下内容:
   
[common] server_addr = 47.240.*.* server_port = 7000 token = laowang [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 [smb] type = tcp local_ip = 127.0.0.1 local_port = 445 remote_port = 7002
“server_addr”是服务端 IP 地址,填入即可,“server_port”为服务器端口,即 bind_port 的值,“token”是你在服务器上设置的连接口令。
这里用到了 2 个自定义规则,一个是 rdp,一个是 smb:
- RDP,即 Remote Desktop 远程桌面,Windows 的 RDP 默认端口是 3389,协议为 TCP,本条规则可以实现远程桌面连接。
- SMB,即 Windows 文件共享所使用的协议,默认端口号 445,协议 TCP,本条规则可实现远程文件访问。
打开 cmd,进入 frp 的目录,执行如下命令运行 frp 客户端(不能双击 frpc.exe):
frpc -c frpc.ini
结果如下所示:
     
   
    之后开启 Windows 远程访问:
    
     Windows 开启远程访问
    
    ,直接直接在本地远程连接即可,地址就是 47.240.*.*:7000 (服务器 IP 和绑定的端口),之后输入用户名和密码就能成功远程了。
   
    Windows 直接用远程桌面,Mac 可以使用:《
    
     Microsoft Remote Desktop:免费的 mac 远程桌面连接 Windows 软件
    
    》
   
 
