免责声明
本脚本及教程仅供学习、研究和内部测试使用。请勿将其用于任何违法违规用途,否则一切后果由使用者本人承担。作者对因脚本或教程使用造成的任何直接、间接损失概不负责。请遵守当地法律法规和相关服务商政策,合理合规使用内网穿透技术。
一、原理简介
FRP是一套开源内网穿透方案,分为服务端(frps)和客户端(frpc)两部分。
服务端部署在有公网IP的服务器(VPS、云主机等)。
客户端部署在需要“被外网远程访问”的内网/家宽/路由器等设备上。
通过 FRP,任何人在外网都可以访问内网机器的 SSH、Web、远程桌面等服务,无需公网IP。
二、准备条件
一台有公网 IP 的服务器(用来做 FRPS 服务端)
一台需要被穿透访问的设备(如家里的软路由、内网服务器等)
两台机器都可联网、可用 ssh/root 权限
三、服务端(公网服务器)部署 FRPS
执行一键脚本
在你的公网服务器上运行:
bash <(curl -fsSL https://raw.githubusercontent.com/nuro-hia/nuro-frp/main/install.sh)
选择角色
首次运行时脚本会自动检测并提示:
请选择本机角色:
1) FRPS 服务端 (用于公网VPS)
2) FRPC 客户端 (用于内网/被穿透设备)
输入 1 或 2 并回车:
输入 1 回车。
一键安装/升级 FRPS
菜单选项 1。
初始化配置并启动(菜单选项 2)
按提示依次输入监听端口(建议默认7000)、管理面板端口(默认7500)、用户名(默认admin)、密码、token(可自定义加强安全)。
建议记下面板端口、用户名、密码、token。
初始化成功后,面板会自动输出访问信息,例如:
面板访问地址:http://你的服务器IP:7500
用户名:admin
密码:admin123
Token: 123456
此时,FRPS 已在后台运行。
四、客户端(被穿透设备)部署 FRPC
执行一键脚本
在你的内网目标设备(如软路由、家宽机器等)上运行同样的脚本:
bash <(curl -fsSL https://raw.githubusercontent.com/nuro-hia/nuro-frp/main/install.sh)
选择角色
首次运行时输入 2 回车。
一键安装/升级 FRPC
菜单选项 1。
初始化配置并启动(菜单选项 2)
按提示输入服务端公网 IP、端口(默认7000)、token(与服务端一致)。
新增端口转发规则
菜单选项 3(新增端口转发规则)
规则名称:自定义(如 ssh、web80)
协议类型:按菜单提示选择 tcp/udp
本地 IP:默认 127.0.0.1(通常不用改)
本地端口:比如 22(SSH),80(Web),3389(远程桌面)
VPS端口:如 6000、8000、9000(尽量用未被占用的端口)
例子:
SSH 穿透,选择 TCP,本地端口22,VPS端口6000
HTTP穿透,选择 TCP,本地端口80,VPS端口8000
可以添加多条规则,支持多个端口。
重启 FRPC 使规则生效
脚本会自动重启 FRPC。
五、远程访问与面板查看
远程访问示例
远程 SSH(假设 VPS端口为6000):
ssh 用户名@你的服务器IP -p 6000
(用户名就是客户端机器上的 ssh 用户)
远程 Web(假设 VPS端口为8000):
在浏览器打开 http://你的服务器IP:8000
查看面板
浏览器访问 http://你的服务器IP:7500
使用你设定的用户名和密码登录
可实时查看已穿透端口、客户端在线情况、流量统计等信息
六、常见问题排查
远程端口连接超时/拒绝?
检查 VPS 的防火墙和云主机安全组,务必放行你映射的所有端口(如6000、8000等)
检查客户端机器本地端口是否有服务在监听(用 netstat、ss、ps 等命令)
检查 frpc/frps 日志,是否有 token 错误、配置错误
面板打不开?
检查 7500 端口是否开放
检查服务端菜单状态是否 running
七、更多说明与扩展
支持多条端口规则、一机多穿透、批量穿透
支持 OpenWrt、X86、ARM、MIPS 架构,自动适配
管理脚本支持日志查询、规则增删、配置可视化管理
快速指引总结
公网服务器选 1(服务端),初始化后记录面板和token信息
被穿透机器选 2(客户端),输入服务器IP、token,新增穿透规则
远程 ssh/Web/RDP 访问时,连的是“服务器IP + 你配置的端口”
面板可随时查状态、流量、代理详情
有问题多半是端口没开放/服务没启动/配置输错,反复核查配置和日志即可! 大部分主流 Linux 和 OpenWrt 固件都已自带
bash/curl/wget/tar,无需单独安装依赖,直接运行脚本即可。如果运行脚本时报错“命令未找到”,可按需用
apt/yum/opkg 临时安装所缺依赖。