通过自建FRP实现内网穿透(需服务器中转)

通过自建FRP实现内网穿透(需服务器中转)

头像零分 2,364
  • 最新版本 1.0.0
  • 最近更新 2026.05.16
  • 支持语言 简体中文
  • 支持平台 Windows10
  • 限时售价 免费
  1. 当前位置:
  2. 首页
  3. »
  4. 软件
  5. »
  6. 通过自建FRP实现内网穿透(需服务器中转)
详情介绍 常见问题

目前市场上的远程软件,试用过很多个,感觉最简洁且无限制的,还是网易UU远程比较好用

通过自建FRP实现内网穿透(需服务器中转)

但是无法通过端口转发,只能远程操控,端口转发最早的应该就是花生壳了,目前市场上有ngrok、花生壳、nat123、神卓互联,但多少都会有些限制,如果自己有云服务器,完全可以通过自建FRP实现。如果没有服务器,也可以考虑买个低价的服务器,比如腾讯云、阿里云等都有低价的轻量云服务

1、阿里云:79元/年,新用户抢38元/年,点击链接
2、腾讯云:99元/年,点击链接

在云服务器上(没有买个低配就可以了)配置:

全程不碰宝塔网站、不改 Nginx、不占用 80/443。SSH登录服务器,或者直接在控制台登录,现在阿里云和腾讯云都支持在控制台-服务器管理页面直接免密登录,和SSH登录服务器一样。

1、建目录(统一放 /opt/frp,目录可自己改)

mkdir -p /opt/frp
cd /opt/frp

2、下载(x86_64)

wget https://github.com/fatedier/frp/releases/download/v0.59.0/frp_0.59.0_linux_amd64.tar.gz

3、解压

tar -zxvf frp_0.59.0_linux_amd64.tar.gz
cd frp_0.59.0_linux_amd64

只需要两个文件:frps、frps.ini,两个服务端文件

4、编写 frps.ini(核心,不冲突版)

vi frps.ini

直接复制下面完整内容粘贴(改个强密码即可):

[common]
# FRP 主通信端口(避开 80/443/8080/宝塔端口,可以自己修改)
bind_port = 7000

# 你的密码(一定要改复杂,防止别人蹭隧道)
token = OpenCloudFrp20260516

# 关闭面板(安全、不占资源、不冲突)
dashboard_port = 0

# 日志级别(info/warn/error)
log_level = info

保存退出:

Esc → :wq → 回车

bind_port=7000:高位端口,和宝塔、80、443、8888 完全不冲突
只做隧道转发,不处理 HTTP 80/443

放行端口(三层:云安全组 → 宝塔防火墙 → 系统 firewalld)

第一层:云厂商安全组(必须!否则外网连不上)

登录阿里云 / 腾讯云 / 华为云控制台 → 安全组(防火墙) → 入方向新增:

协议:TCP
端口:7000,10000-20000
源:0.0.0.0/0(或限制你本地 IP 更安全)
备注:FRP 穿透
10000-20000 是给多台内网机器用的外网端口段,以后加机器不用再改安全组。

第二层:宝塔面板防火墙(必须!我的是宝塔面板,所以需要设置宝塔面板防火墙)

登录宝塔 → 左侧 安全 → 系统防火墙 → 添加端口规则宝塔面板

协议:TCP
端口:7000,10000-20000
源:0.0.0.0/0(或限制你本地 IP 更安全)
备注:FRP 穿透
10000-20000 是给多台内网机器用的外网端口段,以后加机器不用再改安全组。

第三层:系统 firewalld(必须!)

# 放行主端口
firewall-cmd --permanent --add-port=7000/tcp

# 放行多机器端口段
firewall-cmd --permanent --add-port=10000-20000/tcp

# 重载生效
firewall-cmd --reload

# 查看是否放行成功
firewall-cmd --list-ports

前台测试启动(先确认能跑)

在当前目录执行:

./frps -c frps.ini

看到类似:

server listen on 0.0.0.0:7000

就是成功。此时你的宝塔网站完全正常访问,没有任何影响

Ctrl+C 停止测试。

配置 systemd 开机自启(后台常驻、掉线自动重启)

1、创建服务文件

vi /etc/systemd/system/frps.service

粘贴:

[Unit]
Description=FRP Server (OpenCloudOS 9.4)
After=network.target

[Service]
Type=simple
# 执行路径(绝对路径,避免宝塔环境干扰)
ExecStart=/opt/frp/frp_0.59.0_linux_amd64/frps -c /opt/frp/frp_0.59.0_linux_amd64/frps.ini
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

保存:Esc → :wq → 回车

2、启用并启动

systemctl daemon-reload
systemctl enable frps
systemctl start frps

3、查看状态(必须显示 running)

systemctl status frps

显示 active (running) 就是正常。

常用管理命令(以后维护用)

# 查看状态
systemctl status frps

# 重启(改配置后用)
systemctl restart frps

# 停止
systemctl stop frps

# 关闭开机自启
systemctl disable frps

# 查看日志(排查问题)
journalctl -u frps -f

接下来,客户端配置教程,当前配置的是Windows10系统。

Windows 电脑、多台内网电脑都能用,一台电脑可映射多个网页,多台电脑也能分别映射

云服务器固定参数

云服务器公网 IP:自己服务器的IP
FRP 连接端口:7000
连接密码:OpenCloudFrp20260516(以上服务器设置的密码)
外网端口可用区间:10001、10002、10003…

电脑端下载 FRP

1、下载 Windows 64 位版本:frp_0.59.0_windows_amd64.zip,点击这里,或者已经同步到压缩包里

2、解压到 D 盘 新建文件夹 frp 里,只留两个客户端文件就行:frpc.exe、frpc.ini 配置文件

编辑电脑端 frpc.ini 配置

1、单台电脑映射1个端口

[common]
server_addr = 你的腾讯云公网IP
server_port = 7000
token = OpenCloudFrp20260516

[web-pc1]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 10001

server_addr 改成你腾讯云轻量公网 IP
local_port 改成你内网网页的端口(比如 80、8080、3000)
remote_port10001 开始往后排,每台电脑 / 每个服务不能重复
[web-pc1],web-pc1每个端口,每台电脑都不能一样。

映射多个端口,只需添加

[web-pc2]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 10002

注意:web-pc2和remote_port ,不管多个端口还是多台电脑都不能相同。

电脑端启动方法

frpc.exe -c frpc.ini

这个我已经通过写了一个exe文件来管理,包括端口映射、服务器IP、端口等。

通过自建FRP实现内网穿透(需服务器中转)

exe支持开机启动、并且最小化到托盘图标,托盘图标绿色表示服务正在运行、红色表示服务已经停止

通过自建FRP实现内网穿透(需服务器中转)

设置,设置服务器IP和Token,保存后需重启。

通过自建FRP实现内网穿透(需服务器中转)

端口设置,映射名称对应:[web-pc2]里的web-pc2,远程端口对应:remote_port ,本地端口对应:local_port

通过自建FRP实现内网穿透(需服务器中转)

开机启动,✔就是支持开机启动。

如果需要远程桌面,使用系统自带的远程链接工具,将端口映射到本地的3389端口。不过如果只是远程桌面,感觉网易的UU远程,已经很简介,挺好用的。

另外需注意:frpc.exe,杀毒软件可能(至少我这边的QQ关键会报毒)会报毒,需要加入白名单。

头像
支持作者
下载地址
联系微信二维码
0%