端口转发

Lima 支持从客户机到主机的 localhost 端口自动转发。

端口转发类型

Lima 支持两种端口转发器:SSH 和 GRPC。

默认端口转发器如下表所示。

版本默认
v0.1.0SSH
v1.0.0GRPC
v1.0.1SSH
v1.1.0-beta.0GRPC

默认设置在 Lima v1.0 中曾经改为 GRPC,但由于稳定性原因在 v1.0.1 中回退到 SSH。 在 Lima v1.1 中默认设置再次改回 GRPC,因为稳定性问题已得到解决。

使用 SSH

基于 SSH 的端口转发是以前默认的传统模式。

要显式使用 SSH 转发,请使用以下命令

LIMA_SSH_PORT_FORWARDER=true limactl start

注意事项

  • 不支持基于 UDP 的端口转发
  • 在主机上生成子进程来运行 SSH 主服务器。

使用 GRPC

⚡ 要求Lima >= 1.0

在此模型中,lima 使用现有的 GRPC 通信(主机 <-> 客户机)来隧道传输端口转发请求。 对于每个端口转发请求,会创建一个 GRPC 隧道并用于传输数据

要启用此功能,请将 LIMA_SSH_PORT_FORWARDER 设置为 false

LIMA_SSH_PORT_FORWARDER=false limactl start

优势

  • 支持基于 TCP 和 UDP 的端口转发
  • 与基于 SSH 的转发相比性能更快
  • 端口转发无需额外的子进程

基准测试

用例GRPCSSH
TCP3.80 Gbits/sec3.38 Gbits/sec
TCP 反向4.77 Gbits/sec3.08 Gbits/sec

上述基准测试详情是使用以下命令获得的

Host -> limactl start vz

VZ Guest -> iperf3 -s

Host -> iperf3 -c 127.0.0.1 //TCP 基准测试
Host -> iperf3 -c 127.0.0.1 -R //TCP 反向基准测试