你是不是也遇到过这种“甜蜜的烦恼”:
- 家里有台吃灰的旧电脑,想搭个NAS,在外网随时访问照片、电影?
- 想远程控制家里的电脑,但公司网络限制重重,TeamViewer都连不上?
- 自己写了个酷炫的Web应用,想给朋友展示,但又没服务器,只能在本地跑?
- 想在外地访问家里的监控摄像头,看看毛孩子有没有捣乱?
是不是每次一想到“公网IP”、“路由器端口映射”、“防火墙”这些词,头就大了?感觉就像隔着一堵厚厚的墙,想回家却找不到门?
别急!今天,我就要给你介绍一个免费、开源、超好用的“打洞神器”——frp!
项目地址:https://github.com/fatedier/frp

它能帮你轻松穿透内网,让你的家庭服务器、本地应用、远程桌面,都能像拥有公网IP一样,被外网轻松访问!
frp 是个啥?它怎么“打洞”?
简单来说, 就是一个内网穿透工具。你可以把它想象成一个“快递中转站”和“快递员”的组合。
- frps (frp server):快递中转站
- 它需要部署在一台拥有公网IP的服务器上(比如你租的云服务器,阿里云、腾讯云、华为云等等)。
- 它的作用是接收来自外网的请求,并把这些请求转发给正确的“快递员”。
- frpc (frp client):快递员
- 它部署在你的内网设备上(比如家里的电脑、NAS、树莓派)。
- 它会主动连接到“快递中转站”(frps),建立一条稳定的“秘密通道”(隧道)。
- 当“中转站”收到外网的请求时,它会通过这条“秘密通道”把请求转交给对应的“快递员”,然后“快递员”再把内网服务的响应传回去。
核心原理就是: 内网设备()主动向公网服务器()发起连接,建立一条持久的隧道。这样,即使内网没有公网IP,也能通过这条隧道与外网进行通信。
为什么选 frp?它有啥优点?
- 免费开源:白嫖党的福音!GitHub上代码完全公开,安全可靠。
- 配置简单:相比其他复杂的方案,frp 的配置简直是傻瓜式,几行代码就能搞定。
- 功能强大:
- 支持多种协议:HTTP、HTTPS、TCP、UDP,甚至SSH、远程桌面、FTP,统统不在话下!
- 域名绑定:可以直接用你的域名访问内网服务,比如 myhome.yourdomain.com。
- 安全性:支持加密通信和身份验证,保障数据安全。
4.性能高效:用Go语言编写,性能杠杠的,稳定不掉线。
怎么用 frp?实战演练!
别看原理有点绕,实际操作起来,简单到让你怀疑人生!
准备工作:
- 一台有公网IP的云服务器(比如最低配的ECS/CVM,一年几十块钱那种就够了)。
- 一台你想穿透的内网设备(比如你的Windows电脑、Linux服务器、NAS)。
第一步:下载 frp
去 的 GitHub Release 页面下载最新版本:

根据你的服务器和内网设备的操作系统和架构,选择对应的压缩包。比如:
- Linux服务器:frp_xxx_linux_amd64.tar.gz
- Windows电脑:frp_xxx_windows_amd64.zip
下载后解压,你会看到 、 (服务器端) 和 、 (客户端) 等文件。

第二步:配置并启动 frps (服务器端)
把 和 传到你的云服务器上。
编辑 文件,最简单的配置如下:
# frps.toml
bindPort = 7000 # frp服务端口,客户端连接用
vhostHTTPSPort = 443 # # 启用 HTTPS
auth.method = "token" # 使用令牌进行身份验证
auth.token = "helloworld" # 令牌,客户端与服务端一致才能连接成功 推荐配置复杂一点
保存后,在服务器上运行 : 命令行执行
# 进入frp目录
cd /opt/frps
# 添加可执行权限
chmod +x frps
# 启动frps (推荐使用nohup后台运行)
nohup ./frps -c ./frps.toml &

使用 systemd控制frps(推荐)
1.安装 systemd 如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 (适用于 CentOS/RHEL)或 (适用于 Debian/Ubuntu)来安装它:
# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd
2.创建 frps.service 文件
cat >/etc/systemd/system/frps.service<<EOF
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frps/frps -c /opt/frps/frps.toml
[Install]
WantedBy = multi-user.target
EOF
3.使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
# 设置 frps 开机自启动
sudo systemctl enable frps

别忘了在你的云服务器安全组/防火墙里,放行 7000、443 等端口!
第三步:配置并启动 frpc (客户端)
把 和 传到你的内网设备上。
编辑 文件。这里我们以穿透一个本地的Web服务并https访问(比如你本地跑在 端口的网站)为例:
# frpc.toml
serverAddr = "你的云服务器公网IP" # 填写你的云服务器IP
serverPort = 7000 # 和frps.toml里的bindPort一致
auth.method = "token"
auth.token = "helloworld" # 令牌,必须与服务端一致 否则无法连接
[[proxies]]
name = "web" # 这是一个代理名称,可以随便起
type = "https" # 代理类型,这里是HTTP
customDomains = ["dm.laolang.dpdns.org"] # 绑定自己的域名
[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:7892" # 内网服务地址
# HTTPS 证书相关的配置
crtPath = "./server.crt"
keyPath = "./server.key"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
请注意,您需要根据您的域名和证书路径自行更改上述配置。 我这里使用Cloudflare的客户端证书,自行创建

自己复制内容到对应证书文件中,最后点击确定。

在自己的域名服务商哪里添加域名,记录值就是你的云服务器公网IP,我这里使用Cloudflare进行演示,注意关掉CDN代理,就是那个小黄云。

保存后,在内网设备上运行 : 命令行执行
# 进入frp目录
cd /path/to/your/frp
# 启动frpc (Windows双击frpc.exe或命令行运行,Linux推荐nohup)
# 添加可执行权限
chmod +x frpc
# Linux:
nohup ./frpc -c ./frpc.toml &
# Windows:
frpc.exe -c frpc.toml

使用 systemd控制frpc(推荐) 配置参考上面
cat >/etc/systemd/system/frpc.service<<EOF
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frpc的命令,需修改为您的frpc的安装路径
ExecStart = /opt/frpc/frpc -c /opt/frpc/frpc.toml
[Install]
WantedBy = multi-user.target
EOF

代理TCP服务,端口号3002,配置如下(可以配置多个proxies):
# frpc.toml
serverAddr = "你的云服务器公网IP" # 填写你的云服务器IP
serverPort = 7000 # 和frps.toml里的bindPort一致
auth.method = "token"
auth.token = "helloworld" # 令牌,必须与服务端一致 否则无法连接
[[proxies]]
name = "sunpanel"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3002
remotePort = 9000
第四步:验证!
如果一切顺利,现在你就可以通过外网访问你的内网服务了!直接访问 。

访问我们代理的TCP服务,浏览器输入服务器IP:remotePort

是不是超简单?你的内网服务,瞬间就拥有了“公网身份”!
总结一下
就像一把万能钥匙,帮你打开了内网和外网之间的那扇门。无论是远程办公、搭建个人博客、分享文件,还是远程控制家里的智能设备,它都能帮你轻松搞定。
这只是 的冰山一角,它还有很多高级玩法,比如TCP穿透、UDP穿透、身份验证、Dashboard监控等等。
更多用法请查看官网文档:https://gofrp.org/zh-cn/
赶紧动手试试吧!让你的内网服务,也能在互联网上“C位出道”!
2 本站永久网址:http://www.wzdao.com
3 本网站内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长mqd#live.com进行删除处理。
4 本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5 本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
暂无评论内容