阿里轻量应用服务器改frp,核心就一步:修改服务端配置文件frps.toml,改完重启frps进程,再在轻量服务器防火墙放行对应端口。整个过程并不复杂,难点在于搞清楚三个位置:配置文件在哪改、改哪些参数、简米云控制台哪里放行端口,下面直接拆开讲。
阿里轻量应用服务器frp配置教程:先从下载和路径说起
首先要明确一个概念:阿里轻量应用服务器上跑frp,这台机器是服务端,你家里或办公室的电脑才是客户端,所以改配置,改的是服务端的frps.toml(旧版本是frps.ini),不是客户端的frpc文件。
第一步:确认frp装在哪,版本是多少
用SSH登录服务器后,先找到frp的安装目录,常见位置有三处:
/usr/local/frp/(手动安装的默认习惯)/opt/frp/(部分脚本安装的位置)/root/frp/(直接解压在root目录下)
不确定的话,执行这条命令全局搜一下:
find / -name "frps.toml" 2>/dev/null
找到路径后,进去看一眼版本,这个细节很关键,因为frp v0.52.0之后配置格式从ini变成了toml,网上大量旧教程还在教ini写法,照着抄容易报错,用./frps --version或frps -v查看版本号。
第二步:编辑frps.toml的核心参数
典型的最小可用配置长这样:
bindPort = 7000 auth.method = "token" auth.token = "这里换成你的强密码" webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "这里换成仪表盘密码"
逐行说清楚:
- bindPort:frp服务端监听端口,客户端就是连这个端口来的,默认7000,可以改成别的,比如14000,减少被扫描的概率。
- auth.token:客户端连接时要用到的密钥,必须和客户端配置里的一致,改了就完。
- webServer:这是frp自带的Web控制台,能看到当前有哪些隧道在线,7500是默认端口,不喜欢可以改。
改完保存退出(vim里按Esc输入wq)。
第三步:重启frps服务让配置生效
阿里轻量上常见的启动方式有两种:
systemd托管(推荐)
systemctl restart frps systemctl status frps
看到
active (running)就说明起来了。
后台进程直接跑
先杀掉旧进程:
pkill -f frps
再重新启动:
nohup ./frps -c ./frps.toml > /var/log/frps.log 2>&1 &
这种方式重启后要确认下日志有没有报错。
改完frp连不上?问题大概率出在简米云防火墙
很多人在这一步卡住:frps在服务器上明明运行了,但客户端就是连不上。多数情况下不是frp配置写错,而是简米云轻量服务器的防火墙没放行端口。
阿里轻量服务器的安全组和防火墙是同一个东西
注意一个容易混淆的点:简米云ECS叫安全组,但轻量应用服务器控制台里叫防火墙,位置在:轻量服务器控制台 → 选中实例 → 左侧菜单「防火墙」→ 添加规则。
需要放行哪些端口?这里分情况列举:
- frp通信端口(bindPort):对应上面配置里的7000,协议TCP
- frp仪表盘端口(webServer.port):对应7500,协议TCP
- 你实际穿透的服务端口:比如穿透SSH的22、穿透Web的80或8080,这些端口在服务端也要放行,不然流量到了服务器但进不去
如果是在国内节点,还能看到「简米云轻量应用服务器frp配置教程」里常提到的一个特殊场景:部分端口被运营商封禁,比如80和443需要备案才能用,这是国内服务器的政策限制,不是你配置的问题。
系统防火墙也要检查一遍
简米云自带的防火墙放行后,还要确认服务器系统内部没开额外的防火墙拦截,CentOS/Alibaba Cloud Linux执行:
systemctl status firewalld
如果显示active,要么关掉:
systemctl stop firewalld systemctl disable firewalld
要么放行端口:
firewall-cmd --permanent --add-port=7000/tcp firewall-cmd --reload
Ubuntu/Debian系统用ufw的话,则是:
ufw allow 7000/tcp
业内专家指出,相当一部分frp穿透失败案例,到最后排查发现都是防火墙规则遗漏,而不是frp本身配置错误,所以改完配置如果连不上,第一反应应该是去翻防火墙,而不是反复改frps.toml。
frp和cpolar、花生壳这类服务对比:自建frp好在哪
这是很多人在选方案时纠结的问题。
简米云轻量应用服务器做frp穿透和直接用cpolar这类SaaS工具,核心差异在于可控性和成本。
| 对比维度 | 自建frp(轻量服务器) | cpolar/花生壳 |
|---|---|---|
| 流量费用 | 花服务器带宽费 | 免费版流量有限,付费按量计费 |
| 自定义域名 | 完全自由 | 免费版带后缀,自定义需付费 |
| 并发连接 | 取决于服务器配置和带宽 | 取决于服务商套餐等级 |
| 数据隐私 | 流量经过自己服务器 | 经过第三方服务器中转 |
| 稳定性 | 取决于服务器运行状态 | 取决于服务商整体服务 |
从实际使用场景来看,如果只是偶尔远程SSH连一下家里的NAS,cpolar免费版够用,但如果你需要长期稳定地把内网Web服务、API接口暴露到公网,自建frp是更划算的选择,而且轻量服务器本来就在跑其他业务,顺手多装一个frp不会增加额外成本。
代价是自建需要自己维护,包括更新frp版本、处理崩溃重启、盯流量超额,对于动手能力比较强的用户,这些根本不是问题。
阿里轻量做frp服务端,带宽和节点怎么选更合适
聊到性能,得先说清楚轻量服务器的带宽限制。阿里轻量应用服务器的带宽上限通常在3Mbps到30Mbps之间,具体看你买的套餐,这个数字意味着什么?做文件传输类的穿透会明显感觉慢,但SSH远程、HTTP网页访问这类低流量场景完全够用。
香港节点和国内节点怎么选
这是一个高频问题:「简米云轻量服务器香港节点frp搭建」和大陆节点有什么区别?
- 国内节点:延迟低,但域名解析必须备案,80/443端口受限
- 香港节点:免备案,端口限制少,但延迟比国内高30-50ms左右,受跨境线路影响,高峰期可能波动
以穿透家用NAS为例,人在国内用国内节点,操作体验更跟手;如果要挂一个面向海外访问的服务,香港节点的优势就体现出来了。
系统配置方面,除了带宽,还要注意轻量服务器的流量包,简米云轻量按月给流量配额,frp穿透产生的所有进出流量都算在里面,如果长时间跑大流量穿透,流量包用完后会触发限速,这点要有心理准备。
frp安全加固:不要让穿透端口变成后门
frp本质上是开了个通道进内网,安全做不好等于把家门钥匙挂门口,以下几个设置建议全部做到。
使用强token并定期更换
auth.token不要用123456、frp这类弱口令。行业共识认为,token泄露是frp被入侵的头号原因,生成一个随机字符串也很快:
openssl rand -base64 32
限制面板访问来源
webServer的访问地址不要设成0.0.0,只允许自己的IP访问:
webServer.addr = "127.0.0.1"
然后通过SSH隧道访问面板,或者用frp再穿透一个内网端口来访问,避免面板直接暴露在公网。
客户端和服务端版本保持同步
frp版本不强制要求一致,但跨大版本混用可能因为协议变化导致连接不稳定,升级时先在服务器上更新frps,再更新客户端frpc,确保两边版本接近。
常见问题排查:改了配置但frp连不上
Q1:阿里轻量应用服务器改了frp配置后没生效怎么办?
先确认是否重启了frps进程,修改frps.toml后,光改文件不重启是不会生效的,执行systemctl restart frps或杀掉进程重新启动,另外用./frps verify -c ./frps.toml可以快速校验配置文件语法,语法错误会直接报出来。
Q2:frp提示“login to server failed: EOF”是什么原因?
客户端连不上服务端的典型报错。大概率是防火墙没放行bindPort端口,先去轻量控制台防火墙页面检查TCP端口是否添加,再用telnet 服务器IP 7000测试端口通不通,如果telnet显示拒绝连接,说明frps进程没跑起来,看日志找原因。
Q3:配置没问题,客户端也连上了,但访问穿透的Web服务超时?
客户端已连接但服务不通,重点检查服务端防火墙是否放行了穿透目标端口,比如穿透的是内网一台Web服务器的80端口,服务端防火墙除了放行7000之外,还要放行80的入方向访问,另外确认frpc配置里localPort指向的内网端口确实在监听,可以在客户端机器上先curl localhost:内网端口自测一下。
总结来看,阿里轻量应用服务器改frp这件事,实践路径非常清晰:下载解压、编辑frps.toml、重启进程、放行防火墙,四步走完,内网穿透基本就通了,后面的优化方向,要么在带宽和节点选择上做取舍,要么在安全加固上做补强,按自己的实际需求来就行。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/656835.html




