tril

对上海联通限速的观察和讨论

  •  
  •   tril · 11 days ago · 4194 views

    起因

    前天在外用 WireGuard 云回家时发现游戏更新速度异常缓慢,物理回家后开始调查:

    1. 使用 speedtest.net 和全球网测 APP 的上海联通节点测速正常,排除设备问题。

    2. 使用 iperf3 和上海腾讯云对拉,宽带的 TCP/UDP 、单线程/多线程上行均只有 5 Mbps 。

    3. 重新拨号、更换 Mac 地址后重新拨号未能恢复,等到凌晨测试也未能恢复。

    基于以上情况,初步确定宽带被上海联通善意限速!😡

    测试限速策略

    iperf3 测试

    如前文所述,无论 TCP 还是 UDP 测试均会触发上行限速。

    抽测了从上海联通往香港阿里云、上海电信/联通/移动/腾讯云上传,均会触发 5 Mbps 限速。

    HTTPS 流量

    根据先前 上海电信精品网限速 的经验,自建测速网站测试 SNI 和端口限速策略。

    注:受多种原因影响,网页测试并不能完全跑满,以下将 >= 50 Mbps 的上行测试结果视为“未观察到明显限速”。不能排除限速值高于 50 Mbps 的可能性。测试网站使用 LibreSpeed 搭建,全部位于同一台服务器上。

    1. https://speedtest.xxx.yyy 未观察到明显限速。
    2. https://speedtest.xxx.yyy:11111 未观察到明显限速。
    3. https://speedtest.xxx.yyy:8080 未观察到明显限速。

    1. https://speedtest.sbcu.xxx.yyy 未观察到明显限速。
    2. https://speedtest.sbcu.xxx.yyy:11111 未观察到明显限速。

    1. https://speedtestsbcu.xxx.yyy 未观察到明显限速。
    2. https://speedtestsbcu.xxx.yyy:11111 上行限速 10 Mbps 。
    3. https://speedtestsbcu.xxx.yyy:8080 未观察到明显限速。

    1. https://sbcuspeedtest.xxx.yyy 未观察到明显限速。
    2. https://sbcuspeedtest.xxx.yyy:11111 未观察到明显限速。

    1. https://speed.sbcu.xxx.yyy 未观察到明显限速。
    2. https://speed.sbcu.xxx.yyy:11111 上行限速 10 Mbps 。
    3. https://speed.sbcu.xxx.yyy:8080 上行限速 10 Mbps 。

    可以看出,上海电信的几个白名单规则都能在上海联通复现。HTTPS 流量满足以下任意一条规则即可进入白名单绕过上行限速:

    • 目标端口 == 443 。
    • 目标端口 == 8080 ,且 SNI 包含 speedtest 字符串。
    • SNI 包含 speedtest. 字符串。

    与上海电信不同,上海联通将白名单以外的 HTTPS 流量上行限速放宽到了 10 Mbps 。

    我猜是 HTTPS 流量较为常用,为了避免上行限速 5 Mbps 会导致下行速度太差?

    虚拟局域网 / 代理流量

    以下云回家方案默认以上海联通 5G 蜂窝网络为客户端、使用全球网测进行测速:

    • WireGuard:无论在 51820 还是其他高位端口均会被限速到 5 Mbps 。

    • OpenVPN:无论是 TCP 还是 UDP 模式、无论在 8443 还是高位端口均不会被限速。

    • 裸 VLESS 无加密:无论在 8443 还是高位端口均不会被限速。

    • 裸 VMESS AES-128-GCM:无论在 8443 还是高位端口均会被限速到 5 Mbps 。

    • 裸 VMESS ZERO:无论在 8443 还是高位端口均不会被限速。

    • 裸 VMESS ZERO 作为 SS AES-128-GCM 的前置代理:被限速到 5 Mbps 。

    • 裸 VMESS ZERO:使用 speedtest.net APP 指定节点 ID=5396 进行测试,被限速到 5 Mbps 。在家直接测试节点 ID=5396 不会被限速。

    显然,使用非加密代理协议云回家不被限速的前提是上海联通能认出代理里面跑的是白名单流量,没认出来的话就只能给你限速速啦 ^^_

    既然 OpenVPN 使用 TLS 外层,那给代理也套上 TLS 会怎样呢?

    • VLESS 无加密 + TLS ( SNI:off ):无论在 8443 还是高位端口均被限速 10 Mbps 。

    • VLESS 无加密 + TLS ( SNI:speed.sbcu.xxx.yyy ):无论在 8443 还是高位端口均被限速 10 Mbps 。

    • VLESS 无加密 + TLS ( SNI:speedtest.xxx.yyy ):无论在 8443 还是高位端口均不会被限速。

    看来上海联通并不关心流量方向,与 HTTPS 流量的测试结果一样,TLS 入站流量不符合白名单规则还是会被限速。

    OpenVPN 是单独被加白了?还是正好碰到了某个隐藏的白名单规则?🤔

    测速网站

    speedtest.net 网页端测试无法有效进行,不像上海电信精品网随便选节点都能跑满,上海联通就算选取符合白名单规则的境外节点也无法测试出两位数的上行速度,更不要说特殊节点了。(特殊节点是指不符合 HTTPS 流量白名单规则的节点)

    speedtest.net 的 iOS APP 和 Linux CLI 上测试特殊节点 ID=27628 、ID=44745 、ID=74653 没有观察到明显上行限速。由于 APP 与网页版测速方式不同,APP 未使用标准 HTTPS 进行测试,可能是上海联通对这类流量做了单独的白名单处理。

    绝大部分网页测速方式都能直接匹配 HTTPS 流量白名单规则,不会触发上行限速。

    混合测试

    在同时进行 iperf3 TCP 上行测速和 WireGuard 测速过程中,iperf3 和 WireGuard 客户端并非同一 IP 地址,仍可以稳定观察到带宽竞争,意味着白名单以外的所有流量将共享 5 Mbps 带宽。

    被限速的原因?

    比起限速策略,我更关心触发限速的原因,毕竟被限速约等于被扣了个滥用的帽子,实在让人不爽。

    先介绍一下使用情况:

    • 自路由器 WAN 上次重拨之后,21 天内 WAN 下行 1.34 TB 、上行 60 GB 。
    • 自路由器上次重启后,51 天内 LAN 下行 137 GB 、上行 2.34 TB ( LAN 和 WAN 的上下行方向相反)。
    • 这条上海联通宽带上近一年内有且仅有的五个用途:
      • WireGuard 在 260 天内上行流量 56 GB 。
      • qBittorrent-Enhanced-Edition 在 256 天内下行流量 50 GB 、上行流量 140 GB 。
      • 百度网盘 30 天内上下行流量共计 7 GB 、一直未启用“优化加速”那个 P2P 功能。
      • 网络质量监测,会对国内外约 50 个公网 IP 进行 ICMP ping 测试,260 天内上行流量 17 GB 。
      • 自动下载备份,每天会从自己的网站上下载约 50 GB 备份文件。

    基于以上情况,个人观点:

    • 高上行流量是导致限速的原因的可能性较低。
    • 不能排除网络质量监测、BT 或百度网盘的行为特征是触发限速的原因,例如多连接数、异地 IP 连接次数、针对 BT 或百度网盘的流量黑名单等。
    • 不能排除上下行流量总和是触发限速的原因。
    • 上下行比例不是免死金牌。

    所以为什么会给我限速嘞?大家有啥思路不?难道是看我套餐太便宜了吗😰

    结尾

    以上是我目前能想到的所有相关测试内容,如果有更好的想法欢迎进行补充。

    之后就该去报障了,希望有投诉上海联通/解限速经验的坛友分享一下流程~

    比如这种限速会不会每月自动解封?之后要上门吗?有没有不平等条约?解完还会再限速吗?能不能要到限速原因?

    如果能像上海电信那么好解决就好了呢 :(

    32 replies    2026-05-11 19:51:24 +08:00
    mooyo
        1
    mooyo  
       11 days ago   ❤️ 1
    悄悄告诉你,如果你会折腾,用 fakehttp 配合联通云盘的抓包 + fakesip 配合微信语音的抓包可以破解。

    如果不会折腾,实测联通不会限 443 出向 + 带 SNI 特征的 TCP 流量
    hackroad
        2
    hackroad  
       11 days ago
    上海电信 wg 默认限速 5Mbps ,哪怕你不玩 PCDN 、PT 、流量正常。
    wtks1
        3
    wtks1  
       11 days ago
    魔都联通,全方向上行限速 10 兆
    sonnetbreeze
        4
    sonnetbreeze  
       11 days ago
    @hackroad 没有把
    yinmin
        5
    yinmin  
       11 days ago via Android
    宽带的 mtu 值是多少?还是 1492 吗?
    peasant
        6
    peasant  
       11 days ago via iPhone   ❤️ 1
    我遇到的是自行更换光猫后过一段时间就会被限速,换回联通给的垃圾猫就一切正常,两个猫的数据改成一样的也没用,最后没办法只能找装维小哥给我换了个有 2.5G 口的中兴光猫,现在用着一切正常
    aihttp
        7
    aihttp  
       11 days ago
    上海联通 200M 上传包,一直配合阿里云 200M 云服务器打隧道使用,

    Drop 所有外部进站,只通过阿里云服务器中转,月均 200G 上传流量算是比较保险的吧~
    czwstc
        8
    czwstc  
       11 days ago   ❤️ 1
    很奇怪,我也是上海联通,是 1000/200M 的套餐,月付 49. 时不时给我上行限速到 30M ,然后投诉后一礼拜就解除。然后过两个月继续限速
    hackroad
        9
    hackroad  
       11 days ago   ❤️ 1
    @sonnetbreeze https://www.v2ex.com/t/1135997 早就测过,但没测试跨运营商。
    tril
        10
    tril  
    OP
       11 days ago
    @hackroad 正常情况下没有限速,上海电信家宽到上海电信蜂窝网络用 WireGuard 跑个 100 Mbps 还是没问题的,只能跑 5 Mbps 那不正常。不过你也可以试试 OpenVPN ,看看在不在上海电信的白名单里 XD

    @yinmin PPPOE 接口 MTU 1492 ,用 ping -M do -s 1465 测了一下 MTU 也是 1492 。

    @peasant 我之前还想着要不要换个呢,还好偷懒没换。目前还是联通原装猫。倒是提醒我了,虽然我没动过联通的猫,但说不定是上报功能莫名其妙坏掉了之类的原因导致我被限速?

    @aihttp 你这么用不仅更保险,还不怕被限速,改改打隧道的方式就能绕过限速,就是成本有一点点高。

    @czwstc 一样的套餐,不过好几年了我还是头一次被限。投诉之后有上门处理之类的吗?还是打个电话过会儿就自动解除了?
    lyz2754509784
        11
    lyz2754509784  
       11 days ago
    @mooyo 江苏联通已经用不了你说的这种方法了,抓完之后 iperf3 打流正常了,实际上通过公网访问 nas 进行下载依旧是限速在 5mbps 相当于目前 fakehttp 和 sip 仅供 iperf3 使用了,想要实际解决限速问题可能还是得从源头下手,上个月 10 号左右举报到了通管局,目前还没有回复,等待中
    czwstc
        12
    czwstc  
       11 days ago   ❤️ 1
    @tril 投诉之后有上门拍照,然后后台会解除。去年的时候( 2025 年 3 月)我百度网盘上传了 2T 的素材,然后第二周周一后台限速,然后投诉电话回访说限速存在,拒绝解除限速,因为有 PCDN 。然后我再次投诉 10010 ,次日反馈后台不愿意解除,再次表示有 PCDN ,此为最终答复,可以帮我取消上行叠加包。然后我投诉工信部,要求恢复速率+赔偿限速期间月租费,工信部没联系我,3 日后,联通市局电话通知我上门拍照可以解除。我说拍过照片了,顺便嘲讽了下对方,然后要求退回月租,对方没直接答应。
    然后再过了 2 天,小工直接联系我说要拍照,然后上门拍照后次日帮我恢复速率了,然后退了我上行叠加包的费用。
    WizardLeo
        13
    WizardLeo  
       11 days ago
    测试一下使用 16384 端口走 udp 是仍会被限速?
    hackroad
        14
    hackroad  
       11 days ago
    @aihttp Drop 所有外部进站 不上网了么? 允许 ESTABLISHED 入站,那不是掩耳盗铃。
    tril
        15
    tril  
    OP
       10 days ago
    @WizardLeo

    使用 WireGuard 、上海联通家宽 16384/udp -> 上海联通 5G 蜂窝网络,限速 5 Mbps 。

    使用 iperf3 、上海联通家宽 16384/tcp -> 上海腾讯云,限速 5 Mbps 。

    使用 iperf3 、上海联通家宽 16384/udp -> 上海腾讯云,限速 5 Mbps 。
    mooyo
        16
    mooyo  
       10 days ago
    @lyz2754509784 上个月测试的时候还行,这个月可能就不行了。但是 443 + sni 这个还行,昨天刚测了一下 openlist 外网下载文件,能跑 70M
    fengyaochen
        17
    fengyaochen  
       10 days ago
    我上海联通新开的宽带没用过一上来跑 wireguard 或者 UDP 类型的上传测试就是 10M
    geekvcn
        18
    geekvcn  
       10 days ago via Android
    早就告诉过你们了,所以我现在工作用流量卡,用国内劣质加宽传 Github 挂啥梯子都稳定 5mbps ,根本没法用
    tril
        19
    tril  
    OP
       9 days ago
    @fengyaochen 啥时候新开的?大概多少价位的套餐?不会是统一给低价套餐限速了吧……
    weixulin
        20
    weixulin  
       9 days ago
    请教一下,上海联通是仅仅对高上行用户限速,还是所有的一视同仁,我家上行应该是 30 兆。
    tril
        21
    tril  
    OP
       9 days ago
    @weixulin 这只有上海联通自己才知道了,运营商这种偷偷摸摸的限速一直是黑箱操作。
    superhero007
        22
    superhero007  
       8 days ago   ❤️ 1
    我刚刚用 tailscale 测试了一下,tailscale 跨省跨运营商 ipv6 直连能跑满带宽。200M 上行,139 套餐。
    tril
        23
    tril  
    OP
       7 days ago
    @superhero007 很好的建议,我之后会考虑要不要进一步测试 IPv6 下的 Tailscale 。它过于智能,反而对测试造成了较大的影响,另外我的 NAT66 环境也对测试造成了不小的麻烦。目前先简单测试了一下 IPv4 网络下的 Tailscale ,限速 5 Mbps 。

    更重要的是,在测试 Tailscale 的过程中意外发现 WAN 口 IPv6 地址不会被限速,只有 IPv6-PD 地址段会被限速。目前测试了 iperf3 和 WireGuard ,只要使用 WAN 口 IPv6 地址均不会被限速。
    crime1024
        24
    crime1024  
       7 days ago
    现在上新的限速模板 udp 限速,测速没问题
    jyeric
        25
    jyeric  
       7 days ago
    @lyz2754509784 是不是高端口问题? 对端高端库就 5mbps. 你 iperf3 对端高端库测试试试?
    jyeric
        26
    jyeric  
       7 days ago
    是不是高端口问题? 对端高端口就 5mbps. 你 iperf3 对对端高端口测试试试? 电信是高端口就 5mbps, 高端口好像无解.
    tril
        27
    tril  
    OP
       6 days ago
    @jyeric 是指什么类型的流量?

    HTTPS 流量:我额外测试了一下,https://speed.sbcu.xxx.yyy:442 这种低位端口仍然会被上行限速 10 Mbps 。

    iperf3:跟上海腾讯云的 443 端口进行测试仍然会被上行限速 10 Mbps 。

    我目前没有观察到低位端口就不限速、只限速高位端口的情况。
    tril
        28
    tril  
    OP
       6 days ago
    @tril #26 订正:iperf3 是上行限速 5 Mbps 。
    fengyaochen
        29
    fengyaochen  
       5 days ago via Android   ❤️ 1
    @tril 就最近吧,上门安装好第一件事情就是连接 wg 测个速,10M
    jyeric
        30
    jyeric  
       5 days ago   ❤️ 1
    @tril 我主要是针对“抓完之后 iperf3 打流正常了,实际上通过公网访问 nas 进行下载依旧是限速在 5mbps 相当于目前 fakehttp 和 sip 仅供 iperf3 使用了”。这个问题。如果 fakehttp 和 fakesip 能解决部分问题的情况下,有可能是你连接的对方高端口导致的。

    但是如果本身 fakehttp 和 fakesip 就无效,那可能是检测协议比较强直接分析协议了。

    至少之前上海电信是开启 fakehttp ,低位端口就不限速、只限速高位端口的情况。
    tril
        31
    tril  
    OP
       3 days ago
    将 Tailscale 部署在内网的测试服务器上进行了以下试验:

    禁用 NAT66 时:分别用 “AWS + iperf3” 和 “上海联通 5G 蜂窝网络 + 全球网测” 进行了一些测试,没有观察到 Tailscale 有绕过限速的能力。

    Tailscale 、IPv6 直连、家宽端口 41641 、客户端端口 41641:限速 5 Mbps 。
    Tailscale 、IPv6 直连、家宽端口 443 、客户端端口 41641:限速 5 Mbps 。

    启用 NAT66 时:Tailscale 会使用 NAT 地址打洞进行连接,进而享受到 WAN 口 IPv6 地址不限速的待遇。同时 Tailscale 还会尝试用本机的 IPv6 地址再打一个洞作为备用链路,如果打洞成功且 Tailscale 选择使用这个备用链路则会被限速 5 Mbps 。

    如果 Tailscale 被直接安装在负责拨号的路由器上,而非我这样安装在其他内网设备上:只要 Tailscale 选择使用 WAN 口 IPv6 地址进行连接,不论是否启用 NAT66 都不会被限速。

    总结:Tailscale 本身不能触发白名单,IPv6 + Tailscale 能绕过限速的主要原因是上海联通目前对 WAN 口 IPv6 地址不限速,与 Tailscale 关系不大。

    @superhero007 如果与你观察到的情况不符还请指出。感谢你先前的分享帮助发现了 WAN 口 IPv6 地址这一白名单策略。(也有可能是漏洞?)
    superhero007
        32
    superhero007  
       3 days ago   ❤️ 1
    @tril 我的 tailscale 的确是安装在主路由的 openwrt 上的。可能误打误撞所以没有受到过限速。
    之前有段时间使用 ipv4 似乎也没有限速,可能当时策略还没有更新。
    我有空的话也测试一下使用一个 lan 设备的 ipv6 直连测速。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1043 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 18:38 · PVG 02:38 · LAX 11:38 · JFK 14:38
    ♥ Do have faith in what you're doing.