Kali下载
因为只需要Linux服务,故选择的是不带桌面版的镜像(内存也小),下载地址:
https://kali.download/base-images/kali-2025.4/kali-linux-2025.4-installer-netinst-amd64.iso
Kail设置静态ip
目前在vmware安装好Kali后,查看ip地址,发现ip初始化失败,并且网卡都没激活

编辑正确的配置文件
bash
sudo nano /etc/network/interfaces
写入正确的内容
bash
# 环路接口(必须这样配置)
auto lo
iface lo inet loopback
# 你的网卡 ens33 配置
auto ens33
iface ens33 inet static
address 192.168.88.88 # 你想要的静态IP
netmask 255.255.255.0
gateway 192.168.88.2
dns-nameservers 192.168.88.2
按下
Ctrl+O保存,Ctrl+X退出。
手动激活网卡并重启网络
bash
sudo ifup ens33 # 激活网卡
sudo systemctl restart networking
检查配置是否生效
bash
ip a # 应该能看到 ens33 现在有了 IP 192.168.88.88,且状态为 UP
处理 NetworkManager 干扰(重要)
Kali 桌面版通常运行着 NetworkManager,它会和你手动配置的网络服务打架,导致配置失效。建议关闭它:
bash
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
目前是非桌面版,该步骤可以跳过
验证网络连通性
bash
ping 192.168.88.2 # 测试网关
ping 8.8.8.8 # 测试外网
再次查看ip地址

ssh连接
确认宿主机与 Kali 的网络是否互通
首先,在 宿主机(Windows) 的命令行里 ping 一下 Kali 的 IP:
bash
ping 192.168.88.88

检查 SSH 服务是否在运行
在 Kali 终端执行:
bash
sudo systemctl status ssh
-
如果显示
active (running),则服务已启动。 -
如果显示
inactive (dead),则启动它:bashsudo systemctl start ssh -
设置开机自启:
bashsudo systemctl enable ssh
如果显示如下错误:
>
说明 Kali 系统中没有安装 SSH 服务
bash# 更新软件包列表(确保能获取最新软件包) sudo apt update # 安装 OpenSSH 服务器 sudo apt install openssh-server -y
检查 SSH 服务监听的地址和端口
bash
sudo netstat -tlnp | grep :22
你应该看到类似这样的输出:
text
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
- 关键点 :
0.0.0.0:22表示监听在所有网络接口上,这是正常的。如果只看到127.0.0.1:22,说明只监听本地,需要修改 SSH 配置文件。
安装mariadb
bash
# 编辑软件源列表
sudo nano /etc/apt/sources.list
# 指定国内镜像(阿里云)
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# 更新软件包列表
sudo apt update
# 1. 安装 MariaDB 服务器和客户端
sudo apt install mariadb-server mariadb-client -y
# 2. 启动服务并设为开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 3. 验证安装 (你会看到的是 MariaDB 的版本信息,但完全兼容 MySQL)
sudo mysql -V
# 4. 确认服务状态
sudo systemctl status mariadb
# 如果显示 active (running),说明数据库服务正常,可以进行手动配置。
# 以 root 身份登录 MariaDB:
sudo mysql
# 然后在 MariaDB 提示符(MariaDB [(none)]>)下依次执行以下 SQL 命令(将 'your_password' 替换为你想要设置的 root 密码):
# sql
# 1. 设置 root 密码(如果之前未设置)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# root 允许远程(不推荐,仅测试用)
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
# 2. 删除匿名用户
DELETE FROM mysql.user WHERE User='';
# 3. 禁止 root 远程登录(如果你不需要远程用 root 连接数据库)
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
# 4. 删除测试数据库
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
# 5. 刷新权限使设置生效
FLUSH PRIVILEGES;
执行完这些命令后,输入 exit 退出 MariaDB。这样就完成了安全配置,效果和 mysql_secure_installation 脚本完全一样。
# 验证
# 用新密码登录测试:
sudo mysql -u root -p
# 输入你设置的密码,如果能进入,说明一切正常
# 需要远程连接:如果你想从宿主机或其他机器连接 Kali 里的 MariaDB,则需要:
# 1、开放防火墙的 3306 端口。
# 2、修改 MariaDB 配置,允许监听外部连接(默认只监听 127.0.0.1)。编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address = 127.0.0.1 改为 bind-address = 0.0.0.0,然后重启 MariaDB:sudo systemctl restart mariadb
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
sudo systemctl restart mariadb
# 检查 MariaDB 监听地址
sudo ss -tlnp | grep 3306
# 允许3306端口
sudo ufw allow 3306/tcp
# 设置防火墙
# 安装 ufw(可选)
sudo apt update
sudo apt install ufw -y
# 安装后即可使用 sudo ufw status 查看状态。注意:启用 ufw 前,如果通过 SSH 连接,务必先允许 SSH 端口,避免断开:
sudo ufw allow 22/tcp
sudo ufw enable
# 查看规则是否生效:
sudo ufw status verbose
# 创建一个可以从任何主机连接的新 root 用户
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
# 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;
安装docker
shell
# 方法一:
wget -qO- https://linuxmirrors.cn/docker.sh | sudo bash
# 方法二:
sudo apt update
sudo apt install -y curl
curl -fsSL https://linuxmirrors.cn/docker.sh | sudo bash
# ✘ GPG 密钥下载失败,请检查网络或更换 Docker CE 软件源后重试!异常解决:
# 1. 备份当前源配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 2. 编辑源列表文件
sudo nano /etc/apt/sources.list
# 3. 将文件内容替换为以下任一国内源(如中科大或阿里云),然后保存退出 (Ctrl+O, Ctrl+X)
# 中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
# 阿里云源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# 4. 更新软件包列表
sudo apt update
# 验证安装
docker --version
docker compose version
# 检查 Docker 服务本身的开机自启:
sudo systemctl is-enabled docker
# 如果结果显示不是 enabled,执行以下命令:
sudo systemctl enable docker
# 检查 Docker 服务状态:
systemctl status docker
# 确保 Docker 守护进程已经启动(状态应为 active (running))。如果未启动,执行:
sudo systemctl start docker
sudo systemctl enable docker # 确保开机自启
使用docker安装mysql8
shell
# 一键部署 MySQL 8 社区版(将本机的3307端口映射到docker内部mysql的3306端口)
docker run -d \
--name mysql8 \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v mysql8-data:/var/lib/mysql \
--restart unless-stopped \
mysql:8
# permission denied while trying to connect to the docker API at unix:///var/run/docker.sock异常解决:
sudo usermod -aG docker $USER
newgrp docker
# 连接 MySQL 8
docker exec -it mysql8 mysql -uroot -p
# 开放3307端口
sudo ufw allow 3307/tcp
# 检查 MySQL 容器状态:
docker ps -a | grep mysql8
# 预期结果:状态列为 Up(例如 Up 2 minutes),说明容器随系统自动启动成功。
# 如果状态为 Exited 或 Created:说明容器没有自动启动,或者启动后又退出了。
# 如果容器没有自动启动,手动启动并查看日志:
docker start mysql8 # 手动启动
docker logs mysql8 # 查看启动日志,寻找错误原因
>