一、网络连接模式选择(先搞懂原理)
VMware提供三种网络模式,就像手机的不同网络套餐:
模式 | 适用场景 | 特点 | 类比 |
---|---|---|---|
NAT | 个人上网/新手首选 | 虚拟机共享主机IP,能上网但隐身 | 家用WiFi |
桥接 | 服务器/需要被局域网访问 | 虚拟机会获得独立IP,像真机一样 | 手机开热点 |
仅主机 | 完全隔离的网络测试 | 只能和主机通信,完全不上网 | 飞行模式+蓝牙 |
💡 推荐新手先用NAT模式,等熟悉了再玩桥接
二、NAT模式上网配置(保姆级教程)
步骤1:检查虚拟机设置
- 关闭Ubuntu → 右键虚拟机 → 设置
- 选择"网络适配器" → 确认已勾选"NAT模式"
- 高级设置里记下MAC地址(后面有用)
步骤2:配置Ubuntu网络(两种方法任选)
方法1:图形界面(适合鼠标党)
- 右上角点击网络图标 → 选择"有线连接"
- 点击齿轮图标 → 切换到"IPv4"标签
- 选择"自动(DHCP)" → 应用
方法2:命令行(适合键盘侠)
# 查看网卡名称(通常是ens33或ens160)
ip a# 编辑网络配置(使用上一步看到的网卡名)
sudo nano /etc/netplan/00-installer-config.yaml
写入以下内容(注意缩进!):
network:ethernets:ens33: # 你的网卡名称dhcp4: trueversion: 2
然后应用配置:
sudo netplan apply
步骤3:测试网络
ping www.baidu.com
看到类似这样的输出就成功了:
64 bytes from 220.181.38.148: icmp_seq=1 ttl=55 time=25.3 ms
三、桥接模式配置(进阶玩法)
步骤1:宿主机准备
- 查看宿主机的网络信息:
- Windows:
ipconfig /all
- Mac/Linux:
ifconfig
- Windows:
- 记录:IP地址、子网掩码、网关、DNS
步骤2:虚拟机设置
- 关闭Ubuntu → 右键虚拟机 → 设置
- 选择"网络适配器" → 切换为"桥接模式"
- 勾选"复制物理网络连接状态"
步骤3:Ubuntu静态IP配置
sudo nano /etc/netplan/00-installer-config.yaml
修改为(根据你的网络调整):
network:ethernets:ens33:addresses: [192.168.1.100/24] # 改成你局域网的可用IPgateway4: 192.168.1.1 # 你的路由器地址nameservers:addresses: [8.8.8.8, 114.114.114.114]version: 2
应用配置:
sudo netplan apply
四、共享主机VPN(打工人必备)
当主机使用VPN时,让虚拟机也能科学上网:
方法1:全局代理
- 在Ubuntu中设置 → 网络 → 网络代理
- 选择"手动" → 填入主机VPN的代理端口
- 通常为:主机IP:1080 或 localhost:1080
方法2:路由转发(以Clash为例)
# 在Ubuntu中设置路由
sudo route add default gw 192.168.x.1 # x是你的虚拟机网段
五、常见网络问题排查
1. 能ping通IP但打不开网页
# 检查DNS配置
nano /etc/resolv.conf
# 确保有nameserver如8.8.8.8# 或者直接修改永久配置
sudo nano /etc/systemd/resolved.conf
添加:
DNS=8.8.8.8 114.114.114.114
然后重启服务:
sudo systemctl restart systemd-resolved
2. 连不上网但主机正常
# 检查VMware服务是否运行(Windows)
services.msc → 确保这些服务在运行:
- VMware NAT Service
- VMware DHCP Service# 重置虚拟网络
VMware菜单 → 编辑 → 虚拟网络编辑器 → 恢复默认
3. SSH连接被拒绝
# 先确保安装了openssh-server
sudo apt install openssh-server# 检查服务状态
sudo systemctl status ssh# 如果显示inactive,启动服务
sudo systemctl start ssh
六、高级技巧:端口转发
让局域网访问虚拟机的Web服务(比如跑了个网站):
- 虚拟机设置 → 网络适配器 → NAT设置
- 添加端口转发:
- 主机端口:8888
- 虚拟机IP:192.168.x.x
- 虚拟机端口:80
- 这样访问
主机IP:8888
就能访问虚拟机的80端口服务
七、终极解决方案
如果所有方法都试过了还是不行:
# 核武器:重装VMware Tools
sudo apt reinstall open-vm-tools open-vm-tools-desktop
sudo reboot
📢 记住网络排错黄金法则:
- 先ping网关
- 再ping外网IP
- 最后ping域名
这样能快速定位是IP、路由还是DNS的问题