自建 p2p VPN 如何突破运营商的 UDP 限制

328 天前
 huyomi
想写一个类似于 VPN 的项目来练手熟悉一下网络原理,类似于 zerotier
暂时的架构是 1 server 非转发模式,仅打洞, n client 。。

想请教一下运营商的 UDP 限制到底是基于什么,怎么绕过?打洞的成功率靠什么。
2437 次点击
所在节点    程序员
9 条回复
vfs
328 天前
直接建议放弃,没有服务器中转肯定不行
cleanery
328 天前
因为 UDP 无状态, 易伪造, 所以很多地方对 udp 的限制都比较多, 主要体现在丢包, 限速
udp 的限制一般都是有时效性的, 针对 ip 和端口号进行限制
NAT 穿透简单过程可以参考 https://www.cnblogs.com/yorkyang/p/9995441.html
成功率主要取决于 NAT 类型和防火墙限制
AoEiuV020JP
328 天前
一个核心是,双方列出自己所有 ip ,包括服务器看到的 remote ip port ,然后各自监听端口,对方一个一个 ip 尝试发送 udp 包看这边能不能收到能不能回复,能就打洞成功了,
udp 二元组,本该是与 source 无关的,但运营商可能会去判断,这个入网 udp 的 source 不是刚才出网 udp 的 destination ,那就不给转发,这就是限制了,具体不同的限制罗辑就表现不同的 nat 级别,
dianso
328 天前
可以的

成本太高了

UPnP 靠穷举是可以连接的
dode
328 天前
运营商 UDP 限制,大概是 UDP 通信随机丢包&限速
Acoffice
328 天前
买下运营商
yulon
328 天前
丢包策略要写好,不能太暴力,异常流量会被盯上,也不能太弱,不然包全丢了,可能还是得看当地情况
ac169
328 天前
用 tcp

另外, 你准备弄新项目, 所以建议应该侧重考虑基于 v6 环境下来做!
cnbatch
328 天前
打洞?那不如造个 STUN Server / Client 程序吧,有现成的标准可以参考

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

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

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

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

© 2021 V2EX