V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
huyomi
V2EX  ›  程序员

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

  •  
  •   huyomi · Jan 4, 2024 · 3679 views
    This topic created in 844 days ago, the information mentioned may be changed or developed.
    想写一个类似于 VPN 的项目来练手熟悉一下网络原理,类似于 zerotier
    暂时的架构是 1 server 非转发模式,仅打洞, n client 。。

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

    成本太高了

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

    另外, 你准备弄新项目, 所以建议应该侧重考虑基于 v6 环境下来做!
    cnbatch
        9
    cnbatch  
       Jan 4, 2024
    打洞?那不如造个 STUN Server / Client 程序吧,有现成的标准可以参考
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4599 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 01:01 · PVG 09:01 · LAX 18:01 · JFK 21:01
    ♥ Do have faith in what you're doing.