目录
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
由于网络限制、安全限制不能将内网服务直接暴露到公网上,但是又想要在公网上又能安全的访问到内网服务的场景。
机器名称 | 操作系统 | 用途 | 数量 |
客户端 | Windows | FRP界面浏览 | 1 |
FRP服务端 | centos 7 | FRP服务端代理 | 1 |
FRP客户端 | centos 7 | FRP代理内网服务 | 1 |
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
下载地址:https://github.com/fatedier/frp/releases
大家下载对应的版本即可,我这里使用的是 frp_0.45.0_linux_amd64.tar.gz
将上面的安装包上传到服务器上,解压安装包。
- #上传安装包
- rz
- #解压安装包
- tar -zxvf frp_0.45.0_linux_amd64_\(1\).tar.gz
2.2、服务端配置
编辑服务端配置文件,配置信息如下:
- #进入解压目录
- cd frp_0.45.0_linux_amd64
- #编辑服务端配置文件
- vim frps.ini
将服务端启动并验证是否启动成功。
- #启动服务端
- ./frps -c ./frps.ini
当执行上面命令出现 frps started successfully 表示启动成功。
我这边使用tomcat作为模拟内网代理服务,大家可根据自己的实际情况进行调整。
下载地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads
然后进行安装
- #上传安装包
- rz
- #解压安装包
- tar -zxvf apache-tomcat-9.0.69.tar.gz
- #进入解压目录
- cd apache-tomcat-9.0.69
- #启动tomcat 服务
- ./bin/startup.sh
通过访问 http://ip:8080,若出现以下界面则表示部署成功
将上面的frp_0.45.0_linux_amd64.tar.gz安装包上传到客户端并解压
- #上传安装包
- rz
- #解压安装包
- tar -zxvf frp_0.45.0_linux_amd64_\(1\).tar.gz
- #进入解压目录
- cd frp_0.45.0_linux_amd64_\(1\).tar.gz
编辑客户端配置文件
vim frpc.ini
内容如下:
将客户端进行启动并验证是否启动成功。
- #启动客户端
- ./frpc -c ./frpc.ini
当出现start proxy success表示启动成功
因我使用的是虚拟机进行部署,FRP服务端没有部署到公网上,所以我将浏览器客户端修改hosts文件进行操作
再到浏览器上访问 http://my.frp:8888/ ,即可出现刚刚FRP代理的客户端Tomcat服务
到此,FRP的入门级使用介绍将告于段落,更多精彩技术分享请浏览本人博客: