虚拟机网络无法连接

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)或检查虚拟机软件版本兼容性。

相关推荐
Sylvia33.15 分钟前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想16 分钟前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈2 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
鼹鼠SDN3 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
2601_962299245 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
小诗懂技术6 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
学术 学术 Fun6 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
琥珀色糖6 小时前
Linux守护进程
linux·终端·守护进程·会话·进程组
2601_962100547 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
二进制漫游记7 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding