[Linux 网络] 查了将近一个月, 终于找到原因

前情提要: 今年上了 IEPL 的车, 服务端部署了个人开发的 simple-rproxy (L4 proxy) 根据 SNI 分流, 用的 REALITY 偷的 Cloudflare 也需要严格限制一下 SNI (为什么不用 ss? 因为我本地环境会检测这玩意, 直接掐连接那种).

但一个多月前发现, simple-rproxy 会自己挂掉, 表现为不再监听 443 端口, 但是程序没有退出. 百思不得其解, 遂加日志.

终于, 功夫不负有心人, 今天刚刚好上服务器例行更新维护, 发现问题再次出现, lsof -i:443 提示不再监听端口, 但密密麻麻一大片 ESTABLISH, 查阅日志:

emmm? 我 ulimit 设置 65535 还不够?

随想起问题应该是出在咸蛋面板用的 tinyPortMapper 上, 但具体是为什么不知道, 之前也是经常遇到无端中断连接或者无法中转, 但合租的另一位用的 xray 生态的面板用 dokodemo-door 就没问题 (底层是 io.Copy, Linux 下 zero-copy…)

只能先改一下 simple-rproxy 失败的时候要退出, 让 systemd 自动重启它…

(嘶, 站里有无开 IEPL 车的)


忙得飞起, 虽然有计划开发个轻便开箱即用性能高的面板, 但看了眼不如 xray-core 将就吧, 持续咕咕咕中

10 Likes

fd如果上限了的话,limit可以用epoll实现更多链接吧(虽然治标不治本)
看得出来佬的本地环境挺恶劣的

2 Likes

按理说不应该会有这么多链接才对,是不是没有做复用,或者用完了没关?

复用得问 xray, REALITY 应该不行, 发起一个连接对应一个; Rust 是 TcpStream drop 的时候就自动 shutdown 的, 应该也不是这问题?

母鸡啊~

后续再慢慢查只能说()

xhttp+reality协议可以复用

效率不如 vision 吧, xhttp 主打的还是穿透 CDN, 但以牺牲一点效率为代价.

这个连接数问题其实也还不太严重, 将就用了()

这里

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。