使用 bypass4netns 加速无根网络
bypass4netns 是一个用于无根网络的实验性加速器。
在 macOS 主机上,强烈建议同时使用 vzNAT 网络以减少 Lima 用户模式网络的开销:
limactl start --network vzNAT
要启用 bypass4netns,守护进程(bypass4netnsd)必须按如下方式安装到虚拟机中:
lima containerd-rootless-setuptool.sh install-bypass4netnsd
然后使用注解 nerdctl/bypass4netns=true 运行容器:
# 192.168.64.1 是 macOS 主机上 "bridge100" 接口的 IP 地址
lima nerdctl run --annotation nerdctl/bypass4netns=true alpine \
sh -euc 'apk add iperf3 && iperf3 -c 192.168.64.1'
基准测试结果:
| 模式 | 吞吐量 |
|---|---|
| 无 bypass4netns 的无根模式 | 2.30 Gbits/sec |
| 有 bypass4netns 的无根模式 | 86.0 Gbits/sec |
| 有根模式 | 90.3 Gbits/sec |
基准测试环境
- Lima 版本:2.0.0-alpha.2
- nerdctl 2.1.6
- containerd 2.1.4
- bypass4netns 0.4.2
- 容器:Alpine Linux 3.22.2
- iperf 3.19.1-r0 (apk)
- 客户机:Ubuntu 25.04
- 主机:macOS 26.0.1
- iperf 3.19.1 (Homebrew)
- 硬件:MacBook Pro 2024 (M4 Max, 128 GiB)