Leo の Blog

Leo の Blog

Blog 网络折腾爆改篇(一)

145
2024-06-23

熟悉我的小伙伴肯定都知道,我的博客已经鸽了很久,而且长期处于暴毙状态,鉴于本人实在过于摆烂,直到最近终于有时间来修 (shan) 复 (ku) 一下了,这次服务器直接从日本东京某 HE Transit 服务器搬到了位于德国的法尔肯施泰因 Hetzner,上游选择了 来自专业团队的 BGP Player 萌鸽 MoeDove 组织(bushi

服务器硬件配置非常强悍,没啥好说的,是目前市面上少见可以独占 Ryzen 9 5950X CPU 的 VDS 解决方案提供商,超大 Nvme 固态硬盘、DDR4 内存以及只计出站流量的 1Gbps 网络(超量限速 不停机),基本能给的都到位了,同款配置可以戳这里

不过 Hetzner 的网络情况下到我目前现有的节点可就不太友好了,虽然 Hetzner 接入了大量的 Tier-1 ISP 作为自己的 Transit,但是大部分 ISP 亚太到欧洲的骨干网可是相当的糟糕,Qos 限速是少见多怪,更多的在晚高峰会有明显的丢包,导致博客的访问体验明显有降级,采用 BBR2 + FQ_PIE 可以缓解一部分,但是总会存在卡顿感,这就有点令人不爽了。

先看看默认自家 STUIX VM 到 Falkenstein 的路由情况

root@leo-stuix:~# birdc s r 2a01:4f8::/32
BIRD 2.0.7 ready.
Table master6:
2a01:4f8::/32        unicast [he 2024-06-16] (100) [AS24940i]
        via 2a0f:5707:ffe3::30 on ens19
                     unicast [moeDove 03:30:46.893] * (100) [AS24940i]
        via 2a0f:5707:ffe3::113 on ens19

只有一共2条路由,分别是 MoeDove、HE 的 Transit 发来的路由表,默认是走 HE 了,不过考虑到 MoeDove 本身应该有基础设施部署在 Hetzner 上,试着直接走一下 MoeDove 吧

# ... 省略
import filter {
    if net ~ [2a01:4f8::/32+] then {
        bgp_local_pref = 120;
    }
    
	# ... 省略
    accept;
};

在对 MoeDove Import 的路由表中,略微调大 bgp_local_pref,让 bird 选择该路由的优先级变高

root@leo-stuix:~# birdc c
BIRD 2.0.7 ready.
Reading configuration from /etc/bird/bird.conf
Reconfigured

root@leo-stuix:~# mtr 2a01:4f8:162:3007:8300::a -rz
Start: 2024-06-23T21:18:07+0800
HOST: leo-stuix                   Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS44324  c1.tpe.tw.network.m  0.0%    10    1.0   0.4   0.2   1.0   0.2
  2. AS44324  c1.nrt.jp.network.m  0.0%    10   30.5  30.7  30.4  32.1   0.5
  3. AS44324  c2.nrt.jp.network.m  0.0%    10   31.9  32.0  31.8  32.2   0.1
  4. AS44324  c1.hkg.hk.network.m  0.0%    10   78.6  78.9  78.2  81.6   1.1
  5. AS44324  c5.hkg.hk.network.m  0.0%    10   77.2  77.5  77.1  79.1   0.6
  6. AS44324  2602:f9f6:2:0:52:34  0.0%    10   78.3  78.3  77.9  79.7   0.5
  7. AS44324  fsn-de-clients.pige  0.0%    10  237.6 240.9 236.9 250.8   5.1
  8. AS44324  c1.fra.de.network.m  0.0%    10  246.0 246.1 242.4 252.3   3.7
  9. AS???    hetzner.locix.onlin  0.0%    10  251.8 252.9 251.6 262.0   3.2
 10. AS24940  core22.fsn1.hetzner  0.0%    10  257.7 258.5 257.6 264.2   2.0
 11. AS24940  2a01:4f8:0:3::5f6    0.0%    10  257.4 257.7 257.4 258.2   0.3
 12. AS24940  2a01:4f8:162:3007::  0.0%    10  258.1 258.3 257.5 262.4   1.4
 13. AS24940  2a01:4f8:162:3007:8  0.0%    10  257.6 257.9 257.5 258.9   0.4

可以看到路由发生了变化,现在这部分数据包正式由 AS44324 MoeDove Carrier,延迟是降低了一些,但是还不够,想到 STUIX 成员有 Cloudflare,Warp 应该能直连,不如直接试试走 WireGuard Warp 的表现吧

不过遗憾的是延迟更高了,IPv4 延迟要 300+ms

root@leo-stuix:~# mtr 136.243.188.195 -I warp -Tr
Start: 2024-06-23T21:30:49+0800
HOST: leo-stuix                   Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 162.158.241.52             0.0%    10    1.3   1.2   0.5   2.0   0.6
  2.|-- static.195.188.243.136.cl  0.0%    10  335.1 332.4 328.9 335.5   3.0

IPv6 稍微低一些,但是也很糟糕...

root@leo-stuix:~# nexttrace 2a01:4f8:162:3007:8300::a
NextTrace v1.2.9 2024-03-04T14:32:40Z f96c3e5
[NextTrace API] preferred API IP - 104.21.40.176 - 302.20ms - Misaka.HKG
IP Geo Data Provider: LeoMoeAPI
traceroute to 2a01:4f8:162:3007:8300::a, 30 hops max, 52 bytes packets
1   2a0f:5707:ffe3::34        AS13335  中国 台湾省  STUIX - Cloudflare - 10Gbps cloudflare.com
    as13335.ly.stuix.io                5.17 ms / 1.77 ms / 1.42 ms
2   2400:cb00:23:2::2         AS13335  中国 香港   cloudflare.com
                                       47.27 ms / 47.76 ms / 47.68 ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
3   2400:cb00:23:300::        AS13335  中国 香港   cloudflare.com
                                       49.64 ms / 47.32 ms / 55.96 ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
4   2400:cb00:22:2::1         AS13335  日本 东京都   cloudflare.com
                                       157.99 ms / 158.63 ms / * ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
5   2400:cb00:12:2::2         AS13335  美国 加利福尼亚 洛杉矶  cloudflare.com
                                       156.09 ms / 155.78 ms / 155.73 ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
6   2400:cb00:15:2::1         AS13335  美国 德克萨斯州 达拉斯  cloudflare.com
                                       290.30 ms / 297.64 ms / * ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
7   2400:cb00:16:2::1         AS13335  美国 弗吉尼亚州 阿什本  cloudflare.com
                                       206.62 ms / 205.12 ms / 204.74 ms
    [MPLS: Lbl 70019, TC 0, S 1, TTL 1]
8   2400:cb00:19:2::1         AS13335  法国 法兰西岛大区 巴黎  cloudflare.com
                                       287.01 ms / 276.77 ms / 277.10 ms
9   2001:7f8:54::1:197        AS24940  法国 法兰西岛大区 巴黎 France-IX Paris - Hetzner Online - 100Gbps hetzner.com
    hetzner-online.par.franceix.net    276.23 ms / 276.10 ms / 276.18 ms
10  2a01:4f8:0:3::769         AS24940  德国 巴伐利亚州 纽伦堡  hetzner.com
    core12.nbg1.hetzner.com            294.44 ms / 294.63 ms / 294.48 ms
11  2a01:4f8:0:3::c6          AS24940  德国 莱茵兰-普法尔茨州 法尔肯斯泰因  hetzner.com
    core23.fsn1.hetzner.com            299.08 ms / 296.70 ms / 296.78 ms
12  2a01:4f8:0:3::6a          AS24940  德国 莱茵兰-普法尔茨州 法尔肯斯泰因  hetzner.com
    ex9k2.dc7.fsn1.hetzner.com         296.91 ms / 296.87 ms / 297.93 ms
13  2a01:4f8:162:3007::2      AS24940  德国 巴伐利亚州 纽伦堡  hetzner.com
                                       297.04 ms / 296.86 ms / 296.97 ms
14  2a01:4f8:162:3007:8300::a AS24940  德国 巴伐利亚州 纽伦堡  hetzner.com
                                       296.94 ms / 296.87 ms / 296.90 ms

未完待续...