Windows 2016 使用 VMware 安装 Ubuntu 虚拟机后,从其他机器可以顺利 ping 该 Ubuntu 主机,但是 Ubuntu 主机自身无法上网。
第一步:修改虚拟机IP地址
使用命令: sudo nano /etc/netplan/00-installer-config.yaml 修改内容如下:
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 192.168.11.129/24
gateway4: 192.168.11.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
重点说明:ens33 是虚拟机用于上网的那个网卡名称。使用 sudo ip a 命令可以查询虚拟机上的网卡列表。有一个ip地址为 127.0.0.1 的那个网卡是虚拟机自用的回环网卡,千万不要设置那个网卡。设置其他名称给看上去比较正常的网卡,比如我的这个虚拟机网卡名称是 ens33 (不知道这个名字什么来头)
第二步:重启网络配置
使用命令 sudo netplan apply 让刚才的网络配置生效。在此过程中,如果有错误产生,可能是刚才配置文件中有语法错误,仔细查看错误信息,对症下药。
第三步:设置虚拟机网络连接方式
这一步是最要命的一步。在 VMware Workstation 中打开虚拟机设置窗口,在网络适配器设置中,选择“桥接模式”。如下图:
确定保存后,在 Ubuntu 中,使用 sudo curl -I www.eagsen.com 命令验证是否可以获得鹰信首页的返回值。
特别地,如果以上都不好使。请再检查一项:
在上面图示中,“桥接到”列表框中,选择一个你的宿主机中能够访问互联网的那个网卡。比如我的服务器上,只有 #38 这个网卡能够访问外网。所以,默认值虽然是“自动”选择,但是有时候会选择一个无法访问互联网的网卡,导致一切努力化为泡影。