|
# 家庭网络中国大陆流量智能分流方案:从 TPG FTTB 到 GCP Premium WireGuard ## 【背景与痛点】 目前家庭宽带接入的是 TPG 自有的 FTTB 专有宽带基础设施,并非标准 NBN 线路。最大的优势是下行带宽的性价比极高:实际交付物理带宽为 1000 Mbps 下行 / 100 Mbps 上行,月费不足 $55 AUD。 市面上虽然有 我是牛皮癣(澳世)等提供优化回国线路的 ISP,但同等带宽的月费基本要翻倍;而且带宽又会直接降至 100 Mbps / 20 Mbps 的档位。 因此,问题并不是本地宽带带宽不足,而是访问中国大陆互联网服务时的国际路由质量不稳定。尤其是父母日常使用抖音、B 站等国内流媒体时,晚高峰经常出现缓冲、转圈和加载速度明显下降的问题。 在不牺牲现有千兆带宽和低月租的前提下,最合理的技术路线就是: > 保留 TPG 作为主宽带,通过基于目标区域(Region)的策略路由,将中国大陆方向的流量精准分流至独立的加密隧道,而其他国际流量继续走 TPG 直连。 这样既不需要更换 ISP,也不需要让全家的所有流量都经过 VPN。 --- ## 【技术探索历程】 ### 1. OpenWrt + 网易 UU 插件 最初尝试过 OpenWrt + 网易 UU 的方案,因为它会动态选择最佳服务器。 但 UU 的核心能力还是针对特定游戏进行流量识别和协议层优化,并不会接管抖音、B 站等应用的流媒体流量。 换句话说: 游戏加速可以,拿来做全局中国大陆流量优化就不太合适。 因此放弃。 --- ### 2. 5G 备用链路分流 第二个思路是利用移动网络。 测试过程中发现,Optus 移动网络访问中国大陆的国际路由质量在部分时段优于 TPG 固网,于是曾经部署一台 5G 路由器作为 Secondary WAN,再通过 UDM 的策略路由,将中国大陆方向的流量定向从移动网络出口。 实际测试结果比较尴尬: 如果使用4G 路由器:延迟尚可,但带宽明显不足; 为了带宽,特地买了个5G 路由器:带宽充足,但延迟优化并没有想象中明显; 最大问题: 稳定性和国际出口质量存在较大的时段差异;而且流量有限制。 对于偶尔访问几个网站来说没问题,但一家人长期刷 B 站、抖音、看视频,流量消耗非常快,最终很容易触发套餐限制。 因此,这个方案虽然技术上可行,但长期使用成本和体验都不理想。 --- ### 3. 商用独立 WireGuard 节点 接下来考虑直接使用 VPN 节点。 为了避免增加一台 OpenWrt 旁路由,也不希望让家里的每台设备在切换线路的时候还要重新配置静态 IP 和网关,因此最终决定: 直接在现有 UDM SE 上运行原生 WireGuard Client。 相比 OpenVPN,WireGuard 在性能、开销和配置复杂度方面都更加适合这种场景。而且可以做到只把去中国的流量通过VPN,不需要复杂的手动切换。 期间向快帆客服购买了一个点对点定制 WireGuard 节点: ¥118 RMB/月 不限流量 WireGuard 点对点连接 部署之后发现,商用节点最大的变量依然是共享服务器负载,根据用户数量的变化,延迟和掉包好的时候很好,坏的时候也很坏。 白天表现不错,但到了晚高峰,丢包率和延迟会明显波动。最终只把这个节点分配给客厅电视盒子的中国大陆流量,用来解决最迫切的电视盒B站使用需求,同时继续寻找更加稳定的方案。 --- # 【自建高优先级中转节点:GCP Premium】 最终把思路转向了: > 自己租香港服务器,自己控制出口。 这里真正关键的并不是简单地“找一台香港 VPS”,而是: 悉尼 → 香港这一段的底层网络质量。 如果服务器本身不错,但澳洲到香港的国际路由绕路、拥堵或者经过质量较差的线路,那么最终效果依然不会理想。 因此最终重点考察的是 Google Cloud 和 Microsoft Azure 这类拥有全球骨干网络的云服务商,而不是普通 VPS 商家。 最终选择了 Google Cloud 香港区域(asia-east2)。 ### 为什么选择 GCP? 首先,新用户提供的 $300 USD 免费试用额度给了这个方案非常大的测试空间。 其次,GCP 的网络层级可以选择: > Premium Tier 相比普通网络层级,Premium Tier 尽可能利用 Google 自己的全球骨干网络进行流量传输,减少对公共互联网中间链路的依赖。 当然,GCP 的成本结构也比较特殊: VM 本身按量计费; 出站流量另外计费; 香港区域的公网流量成本并不算便宜; 实际成本会根据实例规格、流量以及网络路径有所变化。 因此这个方案真正的优势并不是“永久免费”,而是: > 利用 $300 USD 试用额度,把它当作一个长期网络实验环境。 如果流量控制得好,这笔额度理论上可以支撑相当长的一段时间。也能让我通过长期测试知道大概一个月需要多少费用,判断是否划算。如果一个月流量是50G,那大概是20刀,如果用到200G,那就是45刀。 --- ## 【GCP 服务器部署】 服务器采用最精简的 Ubuntu 虚拟机,仅承担 WireGuard 中转功能。 核心配置包括: GCP Region:Hong Kong / asia-east2 Network Service Tier:Premium OS:Ubuntu VPN:WireGuard 开启 IPv4 Forwarding VPC Firewall 放行 UDP 51820 配置 NAT / IP Forwarding 然后在家里的 TPG 网络直接对 GCP 香港服务器进行路由测试。 实际测试结果非常理想: > 悉尼 → 香港服务器的往返延迟约 90ms 左右。 对于澳洲访问香港节点来说,这个延迟已经相当不错。 更重要的是,实际测试过程中发现这条线路的表现明显优于之前遇到的部分公共 VPN 节点。 --- # 【策略路由:只让中国大陆流量走 WireGuard】 服务器搭建完成之后,将 WireGuard 的: Private Key Public Key Endpoint AllowedIPs DNS 等参数写入标准 `.conf` 配置文件,并直接导入 UDM SE。 接下来真正发挥作用的是 UniFi Policy-Based Routing / Traffic Routing。 并不需要让所有家庭流量都经过香港。 最终策略是: > 只有目标为中国大陆区域的流量走 WireGuard,其他流量继续使用 TPG 直连。 因此整个家庭网络实际上形成了两条逻辑出口: ┌── 中国大陆流量 ──→ WireGuard ──→ GCP 香港 │ 家庭设备 → UDM SE ──┤ │ └── 其他互联网流量 ──→ TPG 直连 这样做最大的好处是: VPN 只承担真正需要优化的流量。 Google、YouTube、Netflix、Microsoft、Apple 等国际业务依然走 TPG 原生国际线路,不会因为开启 VPN 而增加不必要的延迟。 --- # 【进一步优化:按时间自动切换】 实际测试后又发现一个很有意思的规律: TPG 在白天非高峰期访问国际互联网时,表现其实相当不错。 部分时段访问中国大陆的延迟可以低至 95ms 左右,并没有必要全天候使用 GCP 香港中转。 真正明显的问题主要集中在: > 晚高峰。 于是方案进一步优化成了: ### 白天 中国大陆流量 ↓ TPG 国际直连 ↓ 低延迟、零额外 GCP 流量成本 ``` ### 晚高峰 中国大陆流量 ↓ WireGuard ↓ GCP Premium 香港 ↓ 中国大陆 ``` 为了实现自动切换,通过 SSH 登录 UDM SE,在系统 Cron 中加入定时任务。 每天: 17:00 自动执行: 0 17 * * * ip link set wgclt1 up 启用 WireGuard 香港出口。 24:00 自动执行: 0 0 * * * ip link set wgclt1 down 关闭 WireGuard,恢复 TPG 直连。 这样就实现了一个非常简单粗暴但有效的“晚高峰自动加速”: > 白天能直连就直连,晚上线路拥堵就切香港。 --- # 【最终方案】 整个家庭网络最终形成了这样一套架构: ┌── 中国大陆 ──→ GCP 香港 │ ↑ │ WireGuard │ ↑ 家庭所有设备 → UDM SE ───┤ │ │ │ └── 其他流量 ──→ TPG 17:00 ──→ 开启 WireGuard 24:00 ──→ 关闭 WireGuard ``` 相比最初考虑直接更换 ISP,这个方案最大的优势在于: 不动现有宽带、不牺牲千兆带宽、不增加月租型 VPN 费用,同时还能针对中国大陆流量进行精确优化。 最终实际上解决的是三个问题: 1. 保留 TPG 1000/100 Mbps 的高性价比宽带; 2. 避开晚高峰国际线路质量下降带来的中国大陆流媒体卡顿; 3. 通过时间策略控制 GCP 出站流量,尽量降低长期运行成本。 目前就剩下最后一个问题: > 看看这 $300 USD 的 GCP 体验金,究竟能撑多久。按照计算,能一个月用50G流量的话,理论能撑2年左右,一个月用200G流量的话,能撑10个月。 如果实际使用量控制得当,或许真的可以把这套“家庭回国专线”玩上一年。 抛砖引玉,希望能大家一起讨论最佳方案。 |