通过 Apple 容器在 macOS 上本地运行 Kali Linux
得益于 Apple 在 WWDC 2025 上推出的新容器化框架,Kali Linux 现在可以在 macOS 上原生运行。这是在 macOS 上原生支持开发人员和安全工作流程的更广泛举措的一部分,无需 Docker Desktop 或第三方虚拟机管理程序。
该功能目前在 macOS Sequoia 15.5 中可用,并将完全集成在 macOS“Tahoe”26 中,允许 Apple Silicon Mac 在轻量级安全虚拟机中运行符合 OCI 的 Linux 发行版,例如 Kali Linux。
什么是 Apple 容器化?
Apple 的容器系统在概念上与 Windows Subsystem for Linux 2 (WSL2) 类似。这个新工具简称为 Container,是一个命令行界面,旨在与 Apple 的新容器化框架配合使用。
在底层,它使用 Apple 的 Virtualization.framework 和 Hypervisor.framework 为每个容器启动一个微型虚拟机 (VM),提供强大的隔离、快速启动和熟悉的 Docker 风格体验 - 所有这些都使用本机 macOS 组件。然而,关键区别在于每个容器都有自己的安全虚拟机,提供更好的安全边界。
该堆栈由以下部分组成:
- 容器:用户与之交互的命令行界面。
- 集装箱化:管理容器并连接到 macOS 虚拟化 API 的框架。
- 框架:创建 VM。
- 框架:与 macOS 内核对话以处理 VM 执行。
如何在 macOS 上运行 Kali Linux
首先,您需要在 Apple Silicon (arm64) 上运行 macOS Sequoia 15.5 或更高版本的计算机上通过 Homebrew 安装 CLI 工具,并初始化 Apple 的容器框架。
酿造安装-木桶容器
容器系统启动
参见:[最新] 如何在没有管理员密码的情况下将Linux安装到Windows 10/7
然后,使用以下命令在容器中运行 Kali Linux:
容器运行 –rm -it kalilinux/kali-rolling
第一次启动容器系统时,它会安装一个最小的 Kata Containers 内核,该内核在虚拟机内部使用。完成后,您将进入功能齐全的 Kali Linux shell,其中包含最新的 Linux 内核 - 准备进行渗透测试或开发。
您还可以使用以下命令将 macOS 工作目录挂载到容器中:
容器运行 –remove –interactive –tty –volume $(pwd):/mnt –workdir /mnt docker.io/kalilinux/kali-rolling:latest
此命令允许 Kali 直接从 Mac 读取/写入文件。
已知限制
虽然该功能很有前途,但仍处于开发者预览阶段,并且有一些警告,例如 macOS Sequoia 15 中的网络接口问题:容器可能无法获取 IP 地址或失去 DNS 访问权限。
Kali 的开发团队已经承认这些限制,建议用户参考 Apple 的文档进行故障排除。
“目前容器化存在一些已知的限制,尤其是使用 macOS“Sequoia”15,例如容器的网络访问无法获取 IP 地址或无法访问网络。如果您遇到这些问题,我们建议您阅读并遵循 Apple 的建议,”写了Kali Linux 团队在博客文章中提到。
最后的想法
Apple 的新容器化标志着在 macOS 上原生支持 Linux 工作流程的重大转变,提供接近原生的性能和比 Docker 或重型虚拟机更好的隔离,从而缩小 Mac 硬件和 Linux 工具之间的差距。
