前言

刚装好 Kali,准备 apt update 装工具,结果报错?ping 8.8.8.8 显示 Destination Host Unreachable?浏览器打不开网页?

别急着重装系统,90% 是 VMware NAT 网络配置问题。本文用大白话讲清楚原理,并给出完整排错流程。


一、先搞懂 VMware NAT 的网络结构

想象你住在一栋宿舍楼(VMware 创建的虚拟网络):

表格

角色 类比 IP 地址
Kali 虚拟机 你的宿舍房间 192.168.184.10
VMnet8 虚拟网卡 宿舍楼本身 192.168.184.0 这个网段
网关(.2) 宿舍门卫 192.168.184.2
VMware 适配器(.1) 宿主机在宿舍楼的办公室 192.168.184.1
百度/谷歌 校外世界 14.215.x.x 等

关键点:所有设备必须在 同一栋楼(同一网段)才能直接敲门,要出校门必须找门卫(网关)。


二、为什么必须"同网段"?

一句话解释

VMnet8 本质上是个虚拟交换机,交换机不认识路,只会喊广播。如果你和网关不在同一层,交换机找不到人。

错误场景演示

假设 VMware 自动分配了 192.168.184.0 网段,但你给 Kali 配了老地址:

bash

复制

# Kali 配置(错误的)
address 192.168.3.10      # 还在用之前的网段!
gateway 192.168.3.2

数据包走向

plain

复制

Kali: "我要找 192.168.3.2 这个网关"
VMnet8 交换机: "192.168.3.x?我这栋楼是 192.168.184.x,不认识!"
结果: Destination Host Unreachable(找不到路)

正确配置

bash

复制

# /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.184.10      # 和 VMnet8 同网段!
    netmask 255.255.255.0
    gateway 192.168.184.2         # 网关必须是 .2
    dns-nameservers 223.5.5.5    # 公共 DNS,别用自动的

三、完整排错流程(收藏备用)

Step 1:确认 VMware 子网

Windows 宿主机操作

plain

复制

编辑 → 虚拟网络编辑器 → 更改设置 → 选中 VMnet8 (NAT 模式)

子网 IP 是多少,比如 192.168.184.0

💡 点"还原默认设置"后,这个地址会变!每次还原都要重新配 Kali!

Step 2:配置 Kali 静态 IP

bash

复制

sudo vim /etc/network/interfaces

必须和 Step 1 看到的网段一致

plain

复制

address 192.168.184.10    # 倒数第二位必须一致!
gateway 192.168.184.2       # 固定是 .2

Step 3:重启网络并验证

bash

复制

sudo systemctl restart networking

# 验证三部曲
ip addr show eth0           # 看 IP 对不对
ip route show               # 看有没有 default via 192.168.x.2
ping 192.168.184.2          # ping 网关,必须通!

Step 4:解决 DNS 问题

能 ping 通网关,但 ping www.baidu.com 报错?

原因/etc/resolv.conf 自动生成的 DNS 和当前网段不匹配。

修复

bash

复制

sudo tee /etc/resolv.conf << 'EOF'
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 8.8.8.8
EOF

防止被覆盖(NetworkManager 会捣乱):

bash

复制

sudo tee /etc/NetworkManager/NetworkManager.conf << 'EOF'
[main]
dns=none
EOF

sudo systemctl restart NetworkManager

Step 5:最终测试

bash

复制

ping www.baidu.com          # 通了就完事!
sudo apt update             # 可以装 Docker 了

四、常见坑汇总

表格

现象 解决
还原 VMware 默认设置 子网变了,Kali 连不上 重新配 /etc/network/interfaces 网段
iface 拼成 ifcae networking 服务启动失败 检查拼写,严格缩进
DNS 用自动生成的 能 ping IP,不能 ping 域名 手动写公共 DNS 到 resolv.conf
网关写成 .1 ping 网关不通 必须是 .2,.1 是 VMware 适配器
NetworkManager 覆盖 DNS 重启后 DNS 又失效 配置 dns=none

五、核心口诀(背下来)

交换机内同网段,要出网找网关,网关固定是 .2,DNS 别用自动的


六、我的环境参考

  • 宿主机:Windows 11 + VMware Workstation 17

  • Kali:2026.1 滚动更新版

  • 网络模式:NAT(VMnet8)

  • 最终配置

    • IP:192.168.184.10/24

    • 网关:192.168.184.2

    • DNS:223.5.5.5

成功部署 Docker + Nessus + AWVS 扫描环境。


结语

VMware NAT 网络问题本质是 IP 规划问题,不是 Kali 系统问题。理解"虚拟交换机 + NAT 网关"的模型,5 分钟就能排错。

如果还有问题,按本文 Step 1-5 检查,99% 能解决。


参考命令速查表

bash

复制

# 查看 IP
ip addr show eth0

# 查看路由
ip route show

# 查看 DNS
cat /etc/resolv.conf

# 重启网络
sudo systemctl restart networking

# 测试网络层次
ping 192.168.x.2      # 测网关(二层)
ping 223.5.5.5        # 测外网 IP(三层,绕过 DNS)
ping www.baidu.com    # 测完整网络(含 DNS)
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐