Openstack Kali Linux镜像制作

1.环境准备

  • 安装virsh  libvirt-bin
apt-get install libvirt-bin qemu-kvm  qemu-utils -y
  • 下载kali-linux镜像

下载地址为:https://cdimage.kali.org/

这里下载了最新的2021发布的版本,下载地址为

https://cdimage.kali.org/kali-2021.1/kali-linux-2021.1-installer-amd64.iso

下载后的镜像存放到 /var/lib/libvirt/ 目录下

2.创建img磁盘

qemu-img create -f qcow2 /var/lib/libvirt/kali-2021.qcow2 15G

由于kali预装了大量软件,网上说经过测试测试 10G的基础磁盘大小是较为合适的,这里给了15G的大小。

3.开始制作

virt-install --virt-type kvm --name kali2021 --ram 1024 \
    --cdrom=/var/lib/libvirt/kali-linux-2021.1-installer-amd64 \
    --disk /var/lib/libvirt/kali-2021.qcow2 \
    --network network=default \
    --graphics vnc,listen=0.0.0.0 --noautoconsole \
    --os-type=linux --os-variant=debianwheezy

4.使用vnc客户端连接vnc

在vnc客户端输入宿主机的IP连接,按照正常的流程安装此虚拟机,磁盘分区不要使用lvm分区,将所有文件放入一个分区即可,使用整个磁盘,因为openstack在创建虚拟机时默认是自动分区,剩余的磁盘空间可以自动的加入此分区,如果选择了lvm或者分了多个分区可能会导致自动分区无法正常工作。安装完成后,镜像会关机退出。

使用virsh list --all来查看当前运行的所有机器,并使用virsh start kali2021 来启动该机器并再次使用vnc连接。

5.安装 cloud-init 

cloud-init 脚本将在虚拟机启动的时候搜寻元数据服务获取公钥。公钥将会放在镜像默认用户内。

apt-get install cloud-init

6.配置数据源

在创建 Ubuntu 镜像时,cloud-init 必须明确的配置元数据源。OpenStack 元数据服务仿效 Amazon EC2 元数据服务。运行 dpkg-reconfigure 命令设置镜像 cloud-init 软件包使用的元数据源。当屏幕出现提示时,选择 EC2 数据源。

dpkg-reconfigure cloud-init

7.配置账户

kali的cloud-init安装后默认的用户是debian,编辑/etc/cloud/cloud.cfg文件可以进行配置,修改default_user配置项:

image.png

 配置完成后,关闭虚拟机。

8.清理(删除 MAC 地址相关信息)

操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址,但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。

virt-sysprep 工具可以完成清理虚拟机镜像内的 MAC 地址相关的信息。

apt-get install libguestfs-tools
virt-sysprep -d kali2021

9.删除 libvirt 虚拟机域

现在可以上传虚拟机镜像到镜像服务了,不再需要 libvirt 来管理虚拟机镜像。

virsh undefine kali

10.完成

之前创建的镜像 kali-2021.qcow2 可以上传到服务器了。

11. 用户名密码

kali2021@:0~yea9v!t

参考博客:

https://blog.csdn.net/EvanNian/article/details/79324370

猜你喜欢

转载自blog.csdn.net/weixin_47614014/article/details/119480845