Kali下载与简单使用/MariaDB安装/Docker安装/MySQL镜像安装

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),则启动它:

    bash 复制代码
    sudo systemctl start ssh
  • 设置开机自启:

    bash 复制代码
    sudo 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                 # 查看启动日志,寻找错误原因
相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.2 小时前
MySQL主从复制实战配置详解,以及企业级相关优化说明
android·mysql·adb
光泽雨2 小时前
mysql体系结构
数据库·mysql
成为你的宁宁2 小时前
【docker镜像加速器配置】
运维·docker·容器
M-Ellen2 小时前
从零搭建 Windows + WSL2 + Docker + GitLab CI/CD 完整手册
ci/cd·docker·gitlab
风向决定发型丶2 小时前
K8S中Pod驱逐介绍
docker·容器·kubernetes
Zhu7582 小时前
【软件部署】用docker部署Apache Kafka 集群架构isolated模式带SSL
docker·kafka·apache
CV艺术家3 小时前
java原mysql切换国产达梦数据库
数据库·mysql
qq_396153453 小时前
docker ddns-go 忘记密码
docker·容器·golang
Zhu7583 小时前
【软件部署】用docker部署Apache Kafka 集群架构的isolated模式
docker·kafka·apache