虚拟机网络无法连接

1. 检查虚拟机网络配置

  • 查看网络适配器设置

    • 确保虚拟机已启用网络连接(如NAT模式、桥接模式)。
    • 检查虚拟网络编辑器(如VMware的虚拟网络设置)是否正常配置。
  • 验证IP地址分配

    bash 复制代码
    ifconfig  # Linux/Mac
    ipconfig  # Windows
    • 若未获取到IP(如192.168.x.x),尝试重启网络服务:

      bash 复制代码
      sudo systemctl restart network-manager  # Ubuntu
      sudo service network restart           # CentOS

2. 检查宿主机网络

  • 宿主机网络状态

    • 确保宿主机可正常访问互联网(如ping 8.8.8.8)。
    • 若宿主机无网络,检查物理网卡、路由器或防火墙设置。
  • 虚拟网络服务状态

    • 对于VMware:确认VMware NAT ServiceVMware DHCP Service正在运行(Windows服务管理器)。
    • 对于VirtualBox:检查主机网络管理器中的虚拟网卡是否启用。

3. 排查防火墙与路由

  • 禁用防火墙临时测试

    bash 复制代码
    sudo ufw disable          # Ubuntu
    sudo systemctl stop firewalld  # CentOS
    • 若恢复连接,需配置防火墙规则放行流量。
  • 检查路由表

    bash 复制代码
    route -n
    • 确认默认网关(如0.0.0.0指向宿主机的网关地址)。

4. 重置虚拟网络

  • 重新生成网络配置

    • 在虚拟机软件中:
      1. 禁用再启用虚拟网卡。
      2. 重启虚拟机。
      3. 重置虚拟网络设置(如VMware的"还原默认设置")。
  • 手动分配IP(若DHCP失效):

    bash 复制代码
    sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0
    sudo route add default gw 192.168.1.1

5. 高级故障排除

  • 检查DNS解析

    bash 复制代码
    nslookup google.com
    • 若失败,编辑/etc/resolv.conf添加DNS服务器(如8.8.8.8)。
  • 抓包分析

    bash 复制代码
    sudo tcpdump -i eth0  # 检查是否有进出流量
    • 若无流量,可能为驱动问题(重装VMware ToolsVirtualBox增强功能)。

第一步(必做):重置 VMware 虚拟网络

关闭虚拟机

VMware 上方 → 编辑 → 虚拟网络编辑器

右下角 还原默认设置

等待完成,再开机虚拟机

第二步:虚拟机里重新获取 IP

开机后执行:

复制代码
sudo dhclient -r
sudo dhclient

然后查看 IP:

复制代码
ip addr

必须有 192.168.x.x 的地址

第三步:查看路由(关键)

复制代码
ip route

必须看到:

复制代码
default via 192.168.xxx.2 dev ...

没有这一行,就一定会报 Network is unreachable

如果还是没有路由,手动加

(把下面的网关改成你 NAT 网段的网关,一般是 192.168.182.2)

复制代码
sudo ip route add default via 192.168.182.2

然后再 ping:8.8.8.8

复制代码
┌───────────────────── 宿主机 (Windows/macOS) ──────────────────────┐
│                                                                   │
│  能上网 ← 物理网卡 (有线/WiFi)                                    │
│        ↑                                                          │
│  VMware NAT 服务 (虚拟路由器)                                      │
│        ↑                                                          │
│  虚拟网卡 VMnet8 (192.168.182.1)                                   │
└───────────────────┬───────────────────────────────────────────────┘
                    ↑
┌───────────────────┼──────────────────┐
│   虚拟机 (Linux)   │                  │
│                    ↓                  │
│  虚拟网卡 eth0/ens33                  │
│  IP: 192.168.182.xxx                 │
│  网关: 192.168.182.2  ←【你现在缺失这个】│
│  DNS: 223.5.5.5                      │
└───────────────────────────────────────┘

总结流程图

plaintext 复制代码
虚拟机IP配置 → 宿主机网络 → 防火墙/路由 → 重置虚拟网络 → DNS/驱动

若仍无法解决,尝试更换网络模式(如桥接改为NAT)或检查虚拟机软件版本兼容性。

相关推荐
小九九的爸爸1 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
顺风尿一寸1 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
阿耶同学2 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
XIAOHEZIcode8 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫9 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
花酒锄作田18 小时前
Pydantic校验配置文件
python
hboot18 小时前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi1 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi1 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry