VMware提供三种网络模式,就像手机的不同网络套餐:
模式 | 适用场景 | 特点 | 类比 |
---|---|---|---|
NAT | 个人上网/新手首选 | 虚拟机共享主机IP,能上网但隐身 | 家用WiFi |
桥接 | 服务器/需要被局域网访问 | 虚拟机会获得独立IP,像真机一样 | 手机开热点 |
仅主机 | 完全隔离的网络测试 | 只能和主机通信,完全不上网 | 飞行模式+蓝牙 |
推荐新手先用NAT模式,等熟悉了再玩桥接
# 查看网卡名称(通常是ens33或ens160)
ip a
# 编辑网络配置(使用上一步看到的网卡名)
sudo nano /etc/netplan/00-installer-config.yaml
写入以下内容(注意缩进!):
network:
ethernets:
ens33: # 你的网卡名称
dhcp4: true
version: 2
然后应用配置:
sudo netplan apply
ping www.baidu.com
看到类似这样的输出就成功了:
64 bytes from 220.181.38.148: icmp_seq=1 ttl=55 time=25.3 ms
ipconfig /all
ifconfig
sudo nano /etc/netplan/00-installer-config.yaml
修改为(根据你的网络调整):
network:
ethernets:
ens33:
addresses: [192.168.1.100/24] # 改成你局域网的可用IP
gateway4: 192.168.1.1 # 你的路由器地址
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
应用配置:
sudo netplan apply
当主机使用VPN时,让虚拟机也能科学上网:
# 在Ubuntu中设置路由
sudo route add default gw 192.168.x.1 # x是你的虚拟机网段
# 检查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
# 检查VMware服务是否运行(Windows)
services.msc → 确保这些服务在运行:
- VMware NAT Service
- VMware DHCP Service
# 重置虚拟网络
VMware菜单 → 编辑 → 虚拟网络编辑器 → 恢复默认
# 先确保安装了openssh-server
sudo apt install openssh-server
# 检查服务状态
sudo systemctl status ssh
# 如果显示inactive,启动服务
sudo systemctl start ssh
让局域网访问虚拟机的Web服务(比如跑了个网站):
主机IP:8888
就能访问虚拟机的80端口服务如果所有方法都试过了还是不行:
# 核武器:重装VMware Tools
sudo apt reinstall open-vm-tools open-vm-tools-desktop
sudo reboot
记住网络排错黄金法则:
- 先ping网关
- 再ping外网IP
- 最后ping域名
这样能快速定位是IP、路由还是DNS的问题