今天被 frp 上了一课,终于知道了为什么不要随便升级服务环境!

2023-10-13 19:53:50 +08:00
 cjpjxjx

在有公网的服务器上使用 Docker 搭建了 frp server ,并且使用 Watchtower 自动更新 Docker 容器;

家里的内网服务器上也用 Docker 搭建了 frp client ,并且使用 Watchtower 自动更新 Docker 容器,将内网的电脑穿透出来

使用的镜像是这个: https://github.com/snowdreamtech/frp

今天通过远程家里内网电脑,连不上,想登录 frp server 的 web 界面查看设备在线情况,发现页面打不开,ping 服务器 ip 是通的,SSH 登录服务器 docker ps ,发现 frp server 挂了,容器创建时间是四小时前,猜到了可能是容器自动更新导致的问题,尝试重启容器失败,删除容器和镜像重新运行,还是不行,然后尝试指定镜像为之前的版本 0.51.3 运行,这回没问题了!!!果然是版本问题!!!

但是 frp server 运行后 client 一直没有连上来,已经猜到也是被容器自动更新给搞挂了,回家一看果然是同样的问题,指定 client 版本为 0.51.3 就没问题了

查看了 issues 发现了这么个东西:

https://github.com/snowdreamtech/frp/issues/33

然后去 GitHub 的 frp 项目上看了下版本更新,果然:

https://github.com/fatedier/frp/releases

INI 已弃用,并将在未来版本中删除,估计就是这么个问题导致的。。。但看 Features ,好像也不是直接就不支持了吧,可能是个 BUG ?

现在的问题是,我在老家还有台服务器,常年无人值守,通过 frp 穿透出来,也使用了 Watchtower 自动更新 Docker 容器,现在失联了。。。没人能够处理,希望下一个版本自动更新后可以重新上线吧,现在已经把 Watchtower 给删了,不敢用了

5393 次点击
所在节点    宽带症候群
37 条回复
lekai63
2023-10-13 20:04:07 +08:00
我刚好是 0.51.3
前两天用的 ini 文件。。。乘早改成 toml 避免挂了。。
totoro625
2023-10-13 20:22:59 +08:00
至少备着一个 Tailscale/zerotier 吧

自从我自动 Watchtower 丢过 docker 数据之后就再也不敢自动更新了
全部改为手动 Watchtower
cjpjxjx
2023-10-13 20:30:29 +08:00
@totoro625 是准备再搞一个其他方案的,国庆回去装了新系统,还没来得及搭其他方案
thinkm
2023-10-13 20:40:11 +08:00
老哥正常情况下 FRP 稳吗?
YGBlvcAK
2023-10-13 20:42:44 +08:00
一个 frp 还自动更新什么?我都是半年到 1 年更新一次
cjpjxjx
2023-10-13 20:44:41 +08:00
@thinkm 在 Linux 下跑 frp 是很稳的,之前用过 OpenWrt 路由器上带的 frp 插件就不太稳,远程桌面时老是重连,也可能是个别情况
inframe
2023-10-13 20:49:06 +08:00
frp 不方便,现在用 wiregurad 直接连 192.168 子网还省心一点,不用管端口了;
话说你都用 docker 还更新啥,我都是写死版本,除非特别大特性升级或安全漏洞一般绝不更新
mikaelson
2023-10-13 20:59:27 +08:00
frp 的 web 面板用哪个?
cjpjxjx
2023-10-13 21:10:47 +08:00
@mikaelson 自带的
devopsdogdog
2023-10-13 22:31:38 +08:00
frp: 我也没想到 有人闲着 自动升级。
huage
2023-10-13 22:39:08 +08:00
天下第一运维真理:代码能运行就好,不要动它!
thsun
2023-10-13 22:39:30 +08:00
真搞笑,没听过稳定的环境什么都别动吗?
ldcr99
2023-10-13 22:42:26 +08:00
centos5 8 年未重启,为什么要去升级和重启?
另外,为什么不用 zerotier ?
cabbage
2023-10-13 22:43:36 +08:00
有点惨,同在老家放了台常年开机无人接触的机器,还设置了通电自动开机应付偶尔跳闸断电,也一样用 frp 打洞出来。。。虽然装了 arch ,滚系统还是万万不敢的,等哪次回去想起来了再手动上机操作,可能一两年我才给滚一次吧,除了 frp ,ssh ,wg 这些设置了带冗余的系统服务,其他日常软件就放容器随随便便更新了
BugCry
2023-10-13 23:03:21 +08:00
程序和你,有一个能跑就行
xceszzy
2023-10-13 23:10:39 +08:00
貌似 frps 和 frpc 都得同一版本号才可以。 稳住,不要动了。 哈哈哈
ysc3839
2023-10-13 23:11:38 +08:00
之前我也在用 frp ,但担心公网传输部分不安全,就改用 wireguard 了。wireguard 配合相关配置(回包原路返回),可以把访问者 IP 透传到内网服务里。
f14g
2023-10-14 11:21:38 +08:00
@totoro625 都用 Tailscale/zerotier 了,FRP 也就没啥必要了。
需要端口映射的话,在公网主机上用 iptables 做一个端口映射到 Tailscale/zerotier 局域网的主机不就好啦😄
lanwairen123
2023-10-14 16:25:38 +08:00
frp 不同版本之间也不兼容,建议这种关键的服务固定版本,不要自动更新,否则挂了很麻烦。
ttyhtg
2023-10-15 00:01:30 +08:00
我自从用了 frp 就再也没有更新过,万一整失联,就得等到过年回去整了。虽然后来版本增加了很多新功能,但是也没能够驱使我去冒险更新

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX