Frp 内网穿透完全指南
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 能做什么?
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
代理组间的负载均衡。
端口复用,多个服务通过同一个服务端端口暴露。
支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
服务端和客户端 UI 页面。
github 上的 frp 项目老巢
1. 准备工作
在云服务器(比如阿里云ECS)的管理控制台,安装宝塔面板扩展,也可以到[宝塔官网下载页面]根据提示安装。
Tips: 因为云服务器有安全组防火墙,所以可以关闭宝塔面板防火墙。
2. 开始部署
2.1 部署服务器端 frps
打开服务器端宝塔面板,侧栏>docker>应用商店,搜索 frp,会显示一个服务端,一个客户端。
安装 FRP 服务端,即 frps
用户、密码自设,其他默认。
等一会儿即安装成功并运行。
这里要点击“运行中”右侧的 文件夹小图标,打开frps>data目录中的frps.toml,复制里面的auth.token一行,后面配置 frpc 时要用到。
打开云服务器管理控制台,安全组添加规则放行 7000 和 7500 端口。
这是就可以打开浏览器输入服务器公网IP:7500看到 frps 后台了。

左侧 Proxies 能看到添加到服务器的穿透规则。
2.2 飞牛安装客户端 frpc
打开飞牛应用中心,搜索“frpc客户端”安装。
点击飞牛桌面的 frpc 打开客户端配置界面。
serverAddr:为云服务器公网IP
auth.token:将刚才服务器端 frps.toml 里面的 auth.token一行粘贴到这
下面每个 [[proxies]] 就是内网穿透规则,将飞牛本地服务穿透映射到服务器端的 frps。以穿透飞牛桌面为例,基本语法如下:
[[proxies]]
name = "飞牛"
type = "tcp"
localIP = "192.168.1.4" # 内网IP
localPort = 5666 # 内网默认端口
remotePort = 5888 # 映射到云服务器的公网访问端口
点击提交按钮该条规则即映射到 frps ,打开 frps 后台,在左侧的 Proxies>TCP 即可看到该条规则。
要能实现公网访问飞牛,还需要在云服务器管理控制台安全组中放行 remotPort 端口。
以此类推,可以将飞牛的各项本地服务(比如 docker 中的各个服务)穿透映射到云服务器。
Tips:飞牛 frpc 规则对应配置文件是 /vol1/@appdata/frpc/config/frpc.toml,可定时备份该文件。
2.3 Linux 脚本安装客户端 frpc
一键安装脚本:
wget https://raw.githubusercontent.com/stilleshan/frpc/master/frpc_linux_install.sh && chmod +x frpc_linux_install.sh && ./frpc_linux_install.sh
# 以下为国内镜像
wget https://ghfast.top/https://raw.githubusercontent.com/stilleshan/frpc/master/frpc_linux_install.sh && chmod +x frpc_linux_install.sh && ./frpc_linux_install.sh
配置并启用:
vi /usr/local/frp/frpc.toml
# 修改 frpc.toml 配置
sudo systemctl restart frpc
# 重启 frpc 服务即可生效
一键卸载脚本:
wget https://raw.githubusercontent.com/stilleshan/frpc/master/frpc_linux_uninstall.sh && chmod +x frpc_linux_uninstall.sh && ./frpc_linux_uninstall.sh
# 以下为国内镜像
wget https://ghfast.top/https://raw.githubusercontent.com/stilleshan/frpc/master/frpc_linux_uninstall.sh && chmod +x frpc_linux_uninstall.sh && ./frpc_linux_uninstall.sh
2.4 Docker 安装客户端 frpc
为避免因 frpc.toml 文件的挂载,格式或者配置的错误导致容器无法正常运行并循环重启.请确保先配置好 frpc.toml 后在运行启动.
git clone 并正确配置 frpc.toml 文件:
git clone https://github.com/stilleshan/frpc
# git clone 镜像
git clone https://ghfast.top/https://github.com/stilleshan/frpc
# 国内镜像
vi /root/frpc/frpc.toml
# 配置 frpc.toml 文件
安装容器并启动:
docker run -d --name=frpc --restart=always -v /root/frpc/frpc.toml:/frp/frpc.toml stilleshan/frpc
以上命令 -v 挂载的目录是以 git clone 本仓库为例,也可以在任意位置手动创建 frpc.toml 文件,并修改命令中的挂载路径.
服务运行中修改 frpc.toml 配置后需重启 frpc 服务:
vi /root/frp/frpc.toml
# 修改 frpc.toml 配置
docker restart frpc
# 重启 frpc 容器即可生效