frps 是一款优秀的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
这次我们使用frps通过远程桌面连接家庭电脑(当然也可以是办公电脑)。用位于公网的VPS服务器为我们中转远程桌面协议数据,原理如下:
办公电脑<=====远程桌面协议=====>公网VPS(frps 服务端)<=====TCP(远程桌面协议)=====>家庭电脑(frpc 客户端)
因为家庭网络一般都没有固定的公网地址,因此我们需要准备以下内容:
1. 一个公网的虚拟主机VPS。现在各大公有云如阿里云、腾讯云、华为云、电信天翼云等等都会向新用户提供一个月的免费试用VPS,可以申请一个来做测试。申请时如果可以选择数据中心,请选择离你最近的数据中心。
2. 在家庭电脑中开启远程桌面。请右击我的电脑,依次选择“属性|远程设置|允许远程连接此计算机”。
3. 下载frps软件。地址:https://github.com/fatedier/frp/releases,一般需要下载两个, windows_amd64 和 linux_amd64,linux_amd64安装到我们的VPS中,windows_amd64安装到我们家庭电脑中。
一切准备就绪,开始干活:
frps分服务器端和客户端,其中可执行程序frps是服务器端,frpc是客户端,frps.ini是服务器端的配置文件,frpc.ini是客户端的配置文件。服务器端安装在公网服务器中,客户端安装在无公网IP的家庭电脑中。
第一步,在VPS中安装服务器端
1. 将linux_amd64上传到VPS中(默认VPS中已经安装好Linux操作系统)
2. 拷贝frps.service到系统服务目录,一般是/etc/systemd/system
3. 新建/etc/frps目录,并拷贝frps.ini到目录/etc/frps
4. 修改frps.ini配置文件,增加日志功能。端口也可以自定义,这里修改为8000。因为frps服务默认使用nobody用户,所以你需要手工新建frps.log文件,并chmod +777 /var/log/frps.log。
[common]
bind_port = 8000
log_file = /var/log/frps.log
# trace, debug, info, warn, error
log_level = info
log_max_days = 7
5. systemctrl enable frps && systemctrl start frps
第二步,在家庭电脑中运行客户端
1. 解压frp_xxx_windows_amd64.zip
2. 修改配置文件 frpc.ini.其中 server_addr就是公网VPS的公网地址,server_port就是VPS中bind_port,remote_port就是你希望通过公网访问这个远程桌面时使用的端口,此配置文件最终远程桌面的访问地址就是1.2.3.4:9000。如果local_ip配置的是其它地址,则就是访问其它机器的远程桌面。
[common]
server_addr = 1.2.3.4
server_port = 8000
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 9000
3. 以管理员身份打开一个命令行窗口,执行 frpc.exe -c ./frpc.ini
一切OK客户端会提示:start proxy success。
好了,现在可以通过任意一台电脑,打开远程桌面(mstsc)程序,连接1.2.3.4:9000这个地址,看看是否可以访问到你的电脑了。
Good Luck!