FRP(Fast Reverse Proxy)内网穿透全面教程

前言

前段时间,我看到了两位博主关于 FRP 内网穿透的文章和视频。一个是司波图,他用群辉和腾讯云服务器进行了详细的演示。另一个是网友小宋,他使用了迷你主机和 CentOS 镜像。我自己也有一台运行 OMV 的树莓派和一台小厂服务器,所以决定动手实践一下。

准备工作

  • 一台安装了 Docker 的本地主机(客户端和服务端全程使用 Docker)
  • 一台云服务器用于中转(也需要安装 Docker)
  • 自定义域名(可选,如果有,可以提前安装宝塔或其他面板)

Frps 服务端搭建

创建存放目录和配置文件

mkdir /etc/frp
nano /etc/frp/frps.ini

配置 frps.ini

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
token = 12345678
vhost_http_port = 7080
vhost_https_port = 7081

启动服务

docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

防火墙设置

如果无法访问,请在云服务防火墙放行 7000 和 7500 这两个端口

Web 管理界面

访问 http://[服务器IP]:7500,使用你设置的用户名和密码登录

管理界面

Frpc 客户端搭建

创建存放目录和配置文件

mkdir /etc/frpc
nano /etc/frpc/frpc.ini

配置 frpc.ini

[common]
server_addr = [你的服务器IP]
server_port = 7000
token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 13001

启动客户端

docker run --restart=always --network host -d -v /etc/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc

域名访问

如果你觉得 IP + 端口的方式不够优雅,可以使用宝塔面板进行反向代理,实现域名访问,并方便地部署 SSL 证书

域名访问

结语

无论是群辉、树莓派还是其他 Linux 主机,FRP 都是一个非常方便和强大的内网穿透工具。本文结合了多个实践经验和教程,希望能为你提供一个全面而详细的指导。

参考:

  1. 司波图的 Gitee
  2. 网友小宋的文章