发布于2025年12月5日12月5日 受到最近社区博客文章的启发,我们决定为我们的社区添加一种使用Kali 的新官方方式。从现在开始,您可以在Vagrant Cloud 中找到官方维护的Kali Linux 镜像。 什么是 Vagrant? 来自Vagrant 网站: Vagrant 是一个用于在单个工作流程中构建和管理虚拟机环境的工具。 简而言之,使用单个配置文件,您可以下载一个基本“盒子”并应用其他配置,例如添加额外的网络接口、设置CPU 核心和内存的数量,或在首次启动时运行脚本。更重要的是,所有这些都包含在一个配置文件中,与跨多个GB 的虚拟机相比,该配置文件非常容易共享。 开始使用 首先,首先安装Vagrant 和VirtualBox。然后创建一个空目录并从那里运行以下命令: $ vagrant init kalilinux/滚动 一个“Vagrantfile”已放置在该目录中。你现在是 准备好‘vagrant up’你的第一个虚拟环境了!请阅读 Vagrantfile 中的评论以及文档 有关使用Vagrant 的更多信息,请访问“vagrantup.com”。 这将创建一个名为Vagrantfile 的文件,其中包含虚拟机的所有配置选项。每个“vagrant”命令都必须从包含该文件的目录运行。默认情况下,它仅包含框名称以及许多注释的常用选项。我们稍后会回顾其中的一些内容,但这里是摘录: $ cat Vagrantfile # -*- mode: 红宝石-*- # vi: 设置ft=ruby : # 所有Vagrant 配置都在下面完成。 Vagrant.configure 中的“2” # 配置配置版本(我们支持旧样式 # 向后兼容性)。除非您知道什么,否则请不要更改它 #你正在做的事。 Vagrant.configure('2') 执行|config| # 下面记录并注释了最常见的配置选项。 # 如需完整参考,请参阅在线文档: #https://docs.vagrantup.com。 # 每个Vagrant 开发环境都需要一个盒子。您可以搜索 # 盒子位于https://vagrantcloud.com/search。 config.vm.box='kalilinux/滚动' . # 创建转发端口映射,允许访问特定端口 # 从主机上的端口在机器内。在下面的例子中, # 访问“localhost:8080”将访问访客计算机上的端口80。 # 注意: 这将启用对开放端口的公共访问 # config.vm.network 'forwarded_port', guest: 80, host: 8080 . 结束 接下来,确保有足够的磁盘空间。 vagrant“盒子”(你可以将其视为一个模板)使用大约4GB,而旋转的虚拟机将占用大约10GB 或更多,具体取决于你在里面安装的内容。然后运行这个命令: $ 流浪者 将机器“默认”与“virtualbox”提供商一起使用. ==default: 无法找到框“kalilinux/rolling”。正在尝试查找并安装. default: Box Provider: virtualbox 默认:盒版本:=0 ==default: 加载框“kalilinux/rolling”的元数据 默认: URL: https://vagrantcloud.com/kalilinux/rolling ==default: 为provider: virtualbox 添加框“kalilinux/rolling”(v2018.3.1) default: 下载: https://vagrantcloud.com/kalilinux/boxes/rolling/versions/2018.3.1/providers/virtualbox.box . ==default: 机器已启动并准备就绪! ==default: 正在检查虚拟机中的来宾添加. ==default: 正在挂载共享文件夹. 默认: /vagrant=/Users/woodbine/vagrant-boxes/kali Vagrant 将首先下载box 文件(如果它不在缓存中),然后创建Kali VM 并启动它。您将看到VirtualBox UI 弹出,这样您就可以通过root/toor 凭据正常使用Kali。 Vagrant 老手可能会注意到,与大多数其他Vagrant 盒子不同,VM 并不是无头的。我们决定默认显示GUI,因为许多Kali 工具都需要它。如果不需要GUI,可以在Vagrantfile 中禁用它(请参阅下面的示例配置),并以vagrant user: 身份运行以下命令通过SSH 连接到计算机 $ 流浪者ssh Linux kali 4.18.0-kali1-amd64 #1 SMP Debian 4.18.6-1kali1 (2018-09-10) x86_64 Kali GNU/Linux 系统中包含的程序是自由软件; 每个程序的确切分配条款在 /usr/share/doc/*/copyright 中的各个文件。 Kali GNU/Linux 绝对不提供任何保证 适用法律允许。 流浪者@kali:~$ 根据Vagrant 约定,该用户具有使用密码vagrant 配置的无密码sudo。 配置 VM 附带预配置的NAT 接口,因此您无需编辑配置即可从VM 内部访问Internet。此外,Vagrant 会默认创建一个共享文件夹:主机上的当前目录(包含Vagrantfile 的目录)可在来宾的/vagrant 目录中找到。该目录允许您保留主机上保存的数据,但访客可以轻松访问。这是一个很好的做法,因为它可以让您快速重置Vagrant 机器并且永远不会丢失数据。 让我们看看只需一点配置我们还能做些什么: # -*- mode: 红宝石-*- # vi: 设置ft=ruby : Vagrant.configure('2') 执行|config| config.vm.box='kalilinux/滚动' # 创建转发端口 config.vm.network'转发端口',guest: 80,host: 8080 # 创建专用网络。在VirtualBox 中,这是一个Host-Only 网络 config.vm.network'私有网络',ip:'192.168.33.10' #VirtualBox具体设置 config.vm.provider 'virtualbox' 做|vb| # 启动机器时隐藏VirtualBox GUI vb.gui=假 # 自定义VM:上的内存量 vb.内存='4096' 结束 # 使用shell 脚本配置机器 config.vm.provision 'shell', inline: -SHELL apt-get 更新 apt-get install -y 撬棍 壳牌 结束 添加/取消注释Vagrantfile 中的选项,然后使用以下命令重新启动计算机以使更改生效: 流浪者重新加载 配置脚本只会在机器第一次启动时运行,但您可以使用其中一个命令来重新运行它: vagrant provision # 配置已启动的虚拟机 vagrant up --provision # 当虚拟机关闭时,打开电源然后配置 vagrant reload --provision # 重新启动虚拟机然后配置 请注意,虽然可以添加桥接网络(在Vagrant 中称为“公共网络”),但这可能是一个坏主意,因为Vagrant 默认情况下是不安全的。 总结 我们希望您发现这个新产品很有用。我们已经展示了您可以使用Vagrant 执行的一些简单操作,但请务必查看官方文档以获取更多配置选项,并查看Vagrant Cloud 以获取更多功能!
创建帐户或登录后发表意见