经过了 NAT VPS 的 KCP 数据流丢失了什么东西?

2021-08-18 04:13:38 +08:00
 cathedrel
大佬们,帮我看一下这个情况:

●国内要和国外联系,主要是用的 whatsapp 和 tg 这些墙内不能直接用的 IM,语音沟通的需求是一直有的;

●几年了,一直是用的原版的 SS ( 2.8.2 和 2.9.1 )和 kcptun,从来没有过语音接不了的问题;

●最近换了网络环境后直连那几个跳板非常痛苦,白天甚至大段的时间连不上。听人劝,上了“国内的 NAT VPS”做中转,网速和稳定性都一下子上来了;

●本来很满意的,谁知道前几天突然发现 whatsapp 不能接听电话了,表现为能呼出或者能看到来电,点击接听后一直停在“connecting”,就这样持续大概十几秒后失败;

●尝试在夜间网络比较好的时候在不经过 NAT VPS 的直连方式(就是之前的连接方式)下通话,可以成功接听,排除了中转之外的设置问题;

●我试过两家的 NAT,一家是 NAT VPS,一家是 NAT 端口转发,都是一样的问题;

●NAT VPS 设置了 KCPTUN 的服务端和客户端,SS clinet--KCPTUN clinet----NAT VPS KCPTUN server-- KCPTUN clinet----FREEDOM VPS KCPTUN server--SS server,NAT 的公共地址:端口 到 内网地址:端口 的这一段是设置的 UDP 转发,公共地址的端口是随机的,不能指定 TCP 也用同一个公共端口;

●NAT 端口转发 是 SS clinet--KCPTUN clinet----端口转发 UDP 数据流----FREEDOM VPS KCPTUN server--SS server,可以增加一条转发规则设置同一公共端口走 TCP,但是一样不能通话;

●另外做了一个实验:外面的两台 VPS 做了和 NAT VPS 一样的转发,是可以接听 whatsapp 电话的,外面的 VPS 都是有公网 IP 的;

●以上所有的设置里面 KCPTUN 的设置都是“mode=fast2”,没有其他参数了;

所以现在的问题就是:KCP 数据流在经过 NAT VPS 的时候,从 公共地址:端口 进入到 内网地址:端口 的这一段路程丢了什么数据以至于通话不能成功接听??我该如何设置可以解决这个问题??先谢谢了
807 次点击
所在节点    程序员
0 条回复

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

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

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

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

© 2021 V2EX