虚拟机网络无法连接

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 Service和VMware 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 Tools或VirtualBox增强功能)。

第一步(必做):重置 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)或检查虚拟机软件版本兼容性。

相关推荐
Apipi*23 分钟前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
西飘客36 分钟前
vs 怎么根据dll 生成lib文件
c++·qt
不像程序员的程序媛1 小时前
检测网络的命令mtr详解
网络
天启HTTP1 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
程序员老陆2 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
运维行者_2 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
全栈练习生3 小时前
AI Agent 沙箱
python·ai
hz567894 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育4 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php