这两天由于疫情的原因,很多公司都得在家远程上班,然后像我们这类小公司有没有 VPN 这些东西。传统的远程回公司只能依靠 Teamviewer 或者向日葵等工具。但是由于最近用户量很多,可能会造成卡顿,本着能不花钱就不花钱的原则,就得找一个折中的方案。既不用收费,也不会像花生壳,nat123 这种从第三方别人的服务器进行数据传输。于是便找到了本次的主角:FRP。
项目说明
该项目的开源地址:
https://github.com/fatedier/frp
在文档中有这样一个架构图:
简单的说明一下:
就是我们需要一个中间机器用于运行 FRP 的 Server(服务端),而且该机器需要有公网 IP。
在我们后端的电脑上门安装 FRP 的 Client(客户端),可以在这上面运行 tcp 或者 http 等服务。
用户 User 可以通过访问官网 IP 的机器映射到后端 FRP 的机器,进行服务访问。
当然,我们本次的需求肯定不是这个,这个只是用于搞搞什么 web 访问,远程连接等操作,我们这一次使用的是这个的升级版,架构如下:
说明:
1. 左边为用户在家的电脑,右边为用户在办公室的电脑。
2. 公网 IP 的服务器为公司一台云上面的服务器,需要运行 FRP Server(服务端)。
3. 用户在家里的电脑和公司的电脑上面需要运行 FRP Client(客户端)。
安装配置
1. 下载服务:
https://file.kskxs.com/?dir=frp
我这里以 0.29 版本为例!
2. 在具有公网 IP 的机器上面安装配置 Server 端,我这个是 CentOS 7 的,Windows 也是同理,只是需要下载对应的系统版本:frp_0.29.0_linux_amd64.tar.gz
# 解压
tar -zxf frp_0.29.0_linux_amd64.tar.gz
mv frp_0.29.0_linux_amd64 /opt/FRP-Server
# 删除不需要的配置
cd /opt/FRP-Server
rm -rf frpc* frps_full.ini frps.ini LICENSE systemd
mkdir logs