Kali-linux一直是网络安全学习和应用中最普遍也是最常用的的操作系统,但是因为linux系统的生态和桌面化并没有windows做的好,所以大多数人使用kali都是在虚拟机中安装,但是这样做又会对电脑的性能有一定要求,而且操作上会因为性能原因导致很多意料之外的情况,我便考虑使用window中内置的linux子系统(wsl)来解决对电脑性能要求的降低以及快速打开kali的目的,于是这篇wsl-kali的配置文章便横空出世

为什么要使用WSL2

之所以在wsl刚出的时候我没有使用它,便是因为wsl第一代存在很多兼容性问题,因为在wsl第一代的时,wsl还只是一个用于访问Linux环境的兼容层,而在wsl2中基于windows的Hyper-V功能成功虚拟化真正的linux内核,并且wsl2还完美支持了Windows10家庭版,因此之前家庭版不能用 Docker Desktop 的情况也已经成了历史。 这对于习惯使用 Linux 环境,又需要windows娱乐的有志青年是一个非常赞的选择,来一张我的效果图

image.png

升级到WSL2

首先将你的windows版本要升级到windows10的2004版本及以上,可以在win10官网下载易升工具将系统升级至高版本。

下面的所有命令均需在有管理员权限的 PowerShell 中执行

A. 安装WSL2功能模块

  1. 如果之前没有用过 WSL,那么首先需要安装 Windows 10 的 WSL 功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 安装 WSL2 功能模块:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 上面的命令执行完毕后,重启电脑完成 WSL2 的安装,如果安装完成后仍然报错,则按照错误提示下载WSL2的内核文件。
  2. 在 PowerShell 中,将 WSL 默认版本设置为2,这样之后安装的 Linux 发行版才会都安装在 WSL2 中。若没有安装上一步中的内核,此时系统会提醒你到对应的网址下载内核并安装。
wsl --set-default-version 2

安装Linux发行版

接下来就是在Microsoft Store 安装对应的linux发行版,我们这里选择的是Kali,安装完成后我们打开power shell输入wsl –list –verbose查看kali系统的wsl版本,如果wsl版本显示的仍然是1的话,再使用wsl –set-version Kali 2 将版本更换为WSL2。

网络问题

在搭建完成后使用kali工具对本地靶机进行测试时发现无法使用127.0.0.1或者local host访问到win上的环境,于是在查阅资料后发现是因为wsl2会生成一个虚拟网卡,与windows环境组成一个局域网来进行网络交互于是我们获取到虚拟网卡的IP地址后使用此IP地址进行测试便能够正常使用。