一、环境要求
FRP、公网服务器(VPS)
FRP(Fast Reverse Proxy) 是一个开源的高性能反向代理工具,常用于:
将内网的 Web、SSH、RDP、数据库等服务暴露到公网,从而在不同外网访问内网设备服务,以实现内网穿透
内网穿透的核心思想:由内网主机主动连接一台有公网 IP 的服务器,再通过这台服务器转发外部请求。
FRP 由两个程序组成:
1️⃣ frps(服务端)
- 部署在 有公网 IP 的服务器 上(云服务器)
- 负责监听公网端口、转发流量
2️⃣ frpc(客户端)
- 部署在 内网机器 上
- 主动连接 frps,并把内网服务映射到公网
二、搭建流程
第一步:检查服务器架构
在服务器终端运行:
arch
- 如果输出
x86_64,下载 amd64 版本(绝大多数云服务器都是这个)。 - 如果输出
aarch64,下载 arm64 版本。
第二步:下载并解压
前往 FRP GitHub Releases 获取最新版链接,或者通过wget下载到服务器。
以 v0.61.0 为例:
# 下载
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.61.0_linux_amd64.tar.gz
# 进入目录
cd frp_0.61.0_linux_amd64
第三步:配置服务器端并启动
文件中已经包含客户端frpc与服务端frps两个文件,
服务端只需要 frps 这个程序和 frps.toml配置文件。
-
修改配置文件:
vim frps.toml -
输入以下基础配置:
bindPort = 7000 # 服务端与客户端通信的端口 # 可选:如果你想查看后台面板 webServer.port = 7500 webServer.addr = "0.0.0.0" webServer.user = "admin" webServer.password = "123456" # 可选:设置连接密钥,增加安全性 # auth.token = "你的安全令牌"
第四步:设置 systemd 后台运行(推荐)
为了让 frps 在后台稳定运行,并随系统自动启动,我们可以其设置为系统服务systemd。
可以请在当前终端输入:
pwd
记下显示的路径(例如:/root/frp_0.61.0_linux_amd64)。
我的安装路径为/root/frp_0.61.0_linux_amd64
按照以下步骤操作即可:
1. 创建服务文件
在终端执行:
sudo vim /etc/systemd/system/frps.service
2. 复制并粘贴以下内容
我已经根据你的路径替换好了所有参数:
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
# 使用你的绝对路径
ExecStart=/root/frp_0.61.0_linux_amd64/frps -c /root/frp_0.61.0_linux_amd64/frps.toml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
3. 激活并启动服务
依次执行以下四条命令:
# 重载系统服务列表
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable frps
# 启动 frps
sudo systemctl start frps
# 查看状态
sudo systemctl status frps
4. 验证运行情况
如果看到绿色的 active (running),说明服务端已经成功化身为后台守护进程在运行了。
如果以后想看 frps 运行得怎么样,可以用这个命令查看实时日志:
sudo journalctl -u frps -f
5.确保端口放行
放行防火墙:放行端口7000,如果你想外网访问控制台也可以放行7500端口
既然你已经在服务器上成功运行了 frps(服务端),现在我们需要在你的 Windows 电脑上配置 frpc(客户端)。
第五:配置客户端运行
由于你的服务器版本是 0.61.0,客户端也必须使用对应的 Windows 版本(通常是 windows_amd64)。
- 前往 FRP GitHub Releases 下载
frp_0.61.0_windows_amd64.zip。 - 将其解压到本地一个方便的目录,例如
D:\frp。
在解压后的文件夹里找到 frpc.toml(如果没有就新建一个),用记事本打开,粘贴并修改以下内容(以windows远程桌面为例):
serverAddr = "你的服务器公网IP"
serverPort = 7000 # 必须与服务器 frps.toml 中的 bindPort 一致
# 如果你在服务端设置了 auth.token,这里必须加上
# auth.token = "你在服务端设置的令牌"
[[proxies]]
name = "remote-desktop"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389 # Windows 远程桌面默认端口
remotePort = 27582 # 你在服务器上放行的那个端口
不要直接双击运行 frpc.exe!它是一个命令行程序,双击会闪退。
-
在
D:\frp文件夹的空白处,按住 Shift + 鼠标右键,选择“在此处打开 PowerShell 窗口”或“在终端中打开”。 -
输入以下命令并回车:
.\frpc.exe -c .\frpc.toml -
检查日志:
- 如果看到
start proxy success,恭喜你,内网穿透已经建立成功!
- 如果看到
最后,同样要在服务器放行配置的27582端口,同时需要在window防火墙打开3389端口,如有其他服务只需要在客户端添加proxies和服务器放行端口即可。

《使用VPS等公网服务器进行内网穿透》留言数:0