使用 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)