
1. 什么是 FRP 内网穿透FRPFast Reverse Proxy是一个高性能的反向代理应用主要用于内网穿透。它可以将内网服务暴露到公网让你在外网也能访问到内网的 Web 服务、SSH、远程桌面等。FRP 的核心优势开源免费社区活跃配置简单上手快速支持 TCP、UDP、HTTP、HTTPS 等多种协议跨平台支持Windows、Linux、macOS2. 准备工作2.1 硬件与网络要求一台 Windows 电脑作为客户端一台具有公网 IP 的服务器作为服务端推荐 1核1G 以上配置没有公网IP的服务器可以不用往下看了稳定的网络连接2.2 软件下载访问 FRP 官方 GitHub 仓库下载最新版本https://github.com/fatedier/frp/releases根据你的系统架构选择Windows 64位frp_*_windows_amd64.zipWindows 32位frp_*_windows_386.zip这里也可以通过百度网下载通过网盘分享的文件frp_0.69.1_linux_amd64.tar.gz链接: https://pan.baidu.com/s/1LcUcnLHYyxH-m6mZVipggQ?pwdviwd 提取码: viwd通过网盘分享的文件frp_0.69.1_windows_amd64.zip链接: https://pan.baidu.com/s/1wZrsJbFei8n_PeOlF784bA?pwdncqe 提取码: ncqe3. 服务端配置Linux 服务器3.1 安装 FRP 服务端# 下载最新版本以 v0.52.3 为例wgethttps://github.com/fatedier/frp/releases/download/v0.69.1/frp_0.69.1_linux_amd64.tar.gz# 解压tar-zxvffrp_0.69.1_linux_amd64.tar.gzcdfrp_0.69.1_linux_amd64# 查看文件ls-la3.2 配置 frps.toml注意较新版本的 FRP 推荐使用 toml 格式的配置文件而非旧的 ini 格式使用文本编辑器如 vim编辑 frps.toml 文件vimfrps.toml一个最基础的配置模板如下[common] # frps 与 frpc 通信的端口防火墙和安全组需要放行此端口 bind_port 7000 auth.token your_strong_password # 用于查看 frp 状态的可视化面板可选但推荐 # web 服务端口防火墙需放行 # Web 管理面板独立块 [webServer] addr 0.0.0.0 port 7500 user admin password your_strong_password如果不需要 Web 面板可以完全删掉 [webServer] 部分不影响核心功能。参数说明bind_port服务端与客户端通信的端口。webServer:port管理面板端口访问 http://你的服务器IP:7500 可查看连接状态。auth.token用于客户端认证的密码。保存并退出文件在 vim 中按 ESC输入 :wq 回车。3.3 启动 FRP 服务端方式一前台启动用于测试# 前台运行测试用./frps-cfrps.ini# 后台运行生产环境nohup./frps-cfrps.inifrps.log21# 查看运行状态psaux|grepfrps如果看到类似 start frps success 的日志说明启动成功。按 Ctrl C 可以停止服务。方式二后台启动推荐用于生产推荐使用 systemd 将 FRP 注册为系统服务实现后台运行和开机自启1创建服务文件sudovim/etc/systemd/system/frps.service2写入以下内容[Unit]Descriptionfrp serverAfternetwork.target[Service]Typesimple# 请将路径替换为你的 frps 实际所在位置ExecStart/root/frp_0.69.1_linux_amd64/frps-c/root/frp_0.69.1_linux_amd64/frps.tomlRestarton-failure[Install]WantedBymulti-user.target注意ExecStart 中的路径必须是你服务器上 frps 和 frps.toml 的绝对路径3启动并设置开机自启# 重新加载 systemd 配置sudosystemctl daemon-reload# 启动 frps 服务sudosystemctl start frps# 设置 frps 开机自启sudosystemctlenablefrps# 查看 frps 运行状态sudosystemctl status frps如果修改了配置下面是重启命令# 重启服务sudosystemctl restart frps3.4 配置防火墙和安全组为了让外部能访问你需要放行相关端口。1Linux 防火墙firewalld/iptables如果开启了系统防火墙需要放行端口# 以 firewalld 为例放行 7000 和 7500 端口sudofirewall-cmd--permanent--add-port7000/tcpsudofirewall-cmd--permanent--add-port7500/tcpsudofirewall-cmd--reload2云服务商安全组这是最关键的一步。你需要登录云服务器管理后台如阿里云、腾讯云等在安全组规则中添加入方向规则放行 TCP 端口 7000通信端口和 7500管理面板端口注意重点提醒Web 面板不是 FRP 隧道必需的如果你只是为了暴露代理服务即使 7500 端口不通也不影响 FRP 客户端连接 7000 端口建立隧道。你可以先完成客户端配置和隧道测试面板只是一个辅助监控工具。4. 配置 Windows 客户端frpc服务端通后你需要在 Windows 电脑上配置 frpc将本地的代理服务如 127.0.0.1:8081映射到云服务器的公网端口。4.1 解压 FRP 客户端下载 Windows 版 FRP同样版本解压。编辑 frpc.toml或 frpc.ini取决于版本[common]# 云服务器公网 IPserver_addrxxx.xx.xxx.xxxserver_port7000# 与服务端 bind_port 一致auth.tokenyour_strong_token# 与服务端 token 一致[[proxies]]nameweighbridgetypetcplocal_ip127.0.0.1local_port8081# 你的地磅代理服务端口remote_port18081# 云服务器上对外暴露的端口需安全组放行4.3 启动 FRP 客户端打开命令提示符CMD或 PowerShell切换到 FRP 目录cd D:\frp\frp_0.69.1_windows_amd64启动客户端.\frpc.exe -c frpc.toml如果看到类似 start proxy success 的日志表示隧道建立成功。云服务器安全组放行端口登录云控制台在安全组规则中添加入方向 TCP 端口 18081授权对象 0.0.0.0/0或限制特定 IP。4.3 验证访问在云服务器本地测试隧道转发1登录云服务器Linux执行curlhttp://127.0.0.1:18081/uic-system/api/weigh/latest?limit5如果返回 JSON 数据说明隧道转发正常。1在外网如手机流量访问http://xxx.xx.xx.xxx:18081/uic-system/api/weigh/latest?limit5如果返回 Connection refused 或 timeout则说明 18081 端口未被监听或未成功转发。如果公网访问不通请检查云服务器的防火墙和安全策略确认 18081 端口已在系统防火墙开放你已经开放了 7500 和 7000但 18081 是否开放firewall-cmd --list-ports如果没有 18081则添加firewall-cmd--permanent--add-port18081/tcp firewall-cmd--reload温馨提示首次配置建议先在测试环境验证生产环境务必修改默认密码和端口定期检查 FRP 官方文档获取最新功能加入 FRP 社区获取技术支持通过本教程你应该已经掌握了在 Windows 上使用 FRP 进行内网穿透的完整流程。从基础配置到高级应用FRP 都能满足你的内网穿透需求。