ubuntu16.04无法使用各种连接模式连接网络
问题概述
在一次希望通过镜像安装软件环境时,所以进行联网操作,发现无论如何设置任意一种模式,也无法连接网络。
正常情况下,应该是:只要主机可以联网的情况下,使用NAT方式,虚拟机是可以连接网络的。
但有一种办法可以联网,那就是将电脑网线进行拔出,再插入,会提示选择“将网线连接到主机还是虚拟机位置”,如下图:
选择虚拟机。此时虚拟机就可以联网了。
但这样的操作会导致主机是没有任何网络的,也无法ping通任意网络。
所以如果想要联网,就必须牺牲一个。
问题原因
寻求原因有几个阶段:
- 刚开始,怀疑网络配置没有正确配置,所以查询资料进行配置,也无法修复。
- 然后,怀疑某些配置文件因之前失误操作而导致损坏,但通过创建其它版本的虚拟机,也是存在这个问题,所以排除这一可能;
- 再之后,怀疑是vmware的问题,经过老师的指导,发现本机的vmware缺少VMware Network Adapter VMnet1网卡,并最终确定是这个问题。
如下图所示:
分析问题
首先,了解vmware两个VMware Network Adapter VMnet1和VMware Network Adapter VMnet8的作用
- VMware Network Adapter VMnet1:VMnet1对应仅主机模式。如果在网络适配器-网络连接里面选择仅主机模式,那么Linux的虚拟网卡就会接入VMnet1路由设备,应该使用VMnet1设备子网IP段,一般情况下使用DHCP获取的IP地址就在子网IP段范围。
仅主机模式网络连接可创建完全包含在主机中的网络。仅主机模式网络连接使用对主机操作系统可见的虚拟网络适配器,在虚拟机和主机系统之间提供网络连接。
当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个仅主机模式网络 (VMnet1)
- VMware Network Adapter VMnet8:VMnet8对应NAT模式。如果在网络适配器-网络连接里面选择NAT模式,那么Linux的虚拟网卡就会接入VMnet8路由设备,应该使用VMnet8设备子网IP段,一般情况下使用DHCP获取的IP地址就在子网IP段范围。
使用 NAT 模式网络时,虚拟机在外部网络中不必具有自己的 IP 地址。主机系统上会建立单独的专用网络。在默认配置中,虚拟机会在此专用网络中通过 DHCP 服务器获取地址。虚拟机和主机系统共享一个网络标识,此标识在外部网络中不可见。
当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个 NAT 模式网络 (VMnet8)。在您使用新建虚拟机向导创建新的虚拟机并选择典型配置类型时,该向导会将虚拟机配置为使用默认 NAT 默认网络。
更多内容可以前往以下的vmware使用文档网站进行查看
解决问题
为了解决这个问题,想过最简单粗暴的方式,就是卸载重新安装vmware,但是已经安装的虚拟机克隆备份工作过于繁杂。所以尝试去虚拟网络编辑器进行设置
- 进入虚拟网路编辑器
- 点击还原默认设置(注意:需要输入电脑的密码),如下图
- 等待一段时间,发现VMware Network Adapter VMnet1已恢复
总结
发现问题以及解决问题是一个能力的体现。以前都是一遇到问题,就进行浏览器搜索,逐个尝试,而忽略了处理问题的逻辑。
在平时学习中,需要逐渐培养处理问题的能力,使得处理问题的逻辑更加严密,这无疑是对能力的要求以及提升。
另外,在操作中,要学会使用快照保存当前的虚拟机环境,这样做,不仅可以避免失误操作对虚拟机环境的破坏,还可以快速恢复到前一次操作前,再次进行另一次的尝试。