背景 自从 Speedtest.net 在 2 年前增加了下载与上传时的 ping 测试后,我们往往会在 LTE / 5G 上观测到其下载和上传占满空口带宽后出现了延迟大幅飙升的情况,而这一情况在使用 WiFi 时影响非常小,但在使用基于 10G EPON / XGPON的有线ISP(有限速)中几乎不存在。这就导致我们使用…
让树莓派4 WireGuard 性能从 400Mbps 飞涨到 1Gbps
背景 由于学校机房依然需要网络认证,因此我采用了使用 WireGuard 从别处接入网络的方式。为了评估放在学校机房的软路由需要什么样的性能才足够跑满千兆大包 WireGuard ,上周末写了个 WireGuard Benchmark 脚本 来评估 CPU 以及 Kernel 网络栈处理 WireGuard 的性能。为了方便评估以取得更多的结果,我采用 network namspace…
自己家的全屋光纤与无线覆盖布网实战
原则与实战结果 自己家今年搬入了新居,对于我来说一件十分重要的事情就是规划网络布线了。 我计划按照以下原则布置网络: 每个房间都有 4 芯光纤,确保以太网使用 2 芯之后还有 2 芯可用,从而可以接 HDMI 光端机等设备以及出现断芯等情况后可以替换。 有人活动的位置 5GHz WiFi RSSI <= -65…
第一次在国内航班体验机上WiFi
于 2023 年 8 月 3 日乘坐了厦门航空的 MF8208 从西安飞往厦门,执飞飞机是一架 BOEING 787-8 宽体型客机,上飞机后惊奇地发现座位旁有 WiFi 图标,而在地面上我拿手机搜索了一圈并没有看到任何非个人热点的 SSID 。但我依然非常期待,因为距离上一次在空中上网已经是2013年在美国使用 gogoinflight 了。…
使用CONNMARK解决Linux上源进源出问题
FWMARK是啥? FWMARK是Linux在处理网络数据包的时候给数据包加上的一个标识,我们可以根据fwmark配置不同的转发规则。 作用域 FWMARK作用于单个数据包。 比如我们可以采用ip rule add fwmark 0x1234 lookup 456这样,让被mark为0x1234的数据包查询路由表456出去。 由于FWMARK是针对单个PACKET而言的,因此在下文中我们所指的Packet Mark与这里的FWMARK相同。 如何给出去/进来的数据包设置FWMARK? 如果要对服务器外出连接设置fwmark,可以使用socket,可以通过setsockopt来设置数据包的MARK,详见这里。 如果要对于某个Wireguard网卡的流入数据包设置fwmark,可以使用wg set $WG_IFACE…