VMware虚拟机没有网络的解决
作者:硕子鸽
一、问题描述
在安装 Ubuntu19.1 的时候 install 过程特别特别慢,感觉他在动但是安装的特别慢,其实这并不是电脑或者虚拟机的问题,而是网络的问题,因为网络不好,所以特别慢。安装完成之后进入系统了,打开浏览器却访问不了网页,ping 也 ping 不到,这也是虚拟机网络分配的问题。
二、问题解决
1、如果是安装虚拟机系统的时候没有网络
打开虚拟机设置,选择仅主机模式:
2、如果是进入到虚拟机系统后没有网络
打开虚拟机设置,选择桥接模式,然而这并不是最佳解决方案,详情见后文:
保存退出,问题即可解决,下面我们来分析一下这是为什么?
三、原理分析
先来简单的总结一下。
本质上就是:
- 桥接模式:虚拟网络内的虚拟机都可以互相访问且能与物理机及外网设备访问,相当于一台独立的主机;
- NAT模式:外网设备都无法访问虚拟机,但是虚拟机可以访问;
- 仅主机模式:虚拟机无法访问外网,只能与物理机之间通信。
现在来解释一下原因:
- 因为当我们在安装虚拟机的时候使用的是存储在电脑硬盘中的 iso 文件,所以虚拟机在出生的时候只会和电脑通信,这里假设我们的电脑是虚拟机的母亲,所以我们选择仅主机模式,代表只能与物理机通信;
- 当安装完成之后,也就是当孩子长大了,不需要依赖于母亲了,他独立了,就是一台独立的主机了,那么这个时候我们就要让他独立发展了,让他去外面的世界看看,毕竟孩子大了,管也管不住,这个时候就给他桥接模式,这时电脑相当于一个桥梁,连接外面的世界,而虚拟机就可以作为独立的电脑了。
当我们安装完虚拟机之后,可以看到会有 4 中方式连接网络:
分别是:
- 桥接模式
- NAT 模式
- 仅主机模式
- LAN 区段
其中:桥接、NAT能够满足虚拟机连接外网的需求,而仅主机模式则不能连接外网,但是能实现与物理机之间的通信。
安装完 VMware 之后,会自动生成两个虚拟网卡:
分别是 VMnet 1 和 VMnet 8。
VMnet1用作 hostonly 模式,VMnet8用作 NAT 模式。
- VMnet1是host网卡,用于host方式连接网络;
- VMnet8是NAT网卡,用于NAT方式连接网络的,并且它们的 IP 地址是随机生成的。
四种连接方式的区别:
1、桥接模式
桥接模式可以分为两种方式连接:
第一种就是直接选择把虚拟机的网卡接到物理网络:
但是不建议那么做,这种方法是虚拟机的网卡直接与物理机网卡进行通信。
- 对于 Windows 的虚拟机而言可能非常方便,不用考虑太多;
- 用在 Linux 虚拟机中同样也行,但是不建议采用这种方法,因为不利于维护,有时候虚拟机可能无法连接到互联网。
所以如果你看到了这里,那么恭喜你是幸运的,你找到了最佳连接方式:
第二种方式为:
选择特定虚拟网络
打开虚拟网络编辑器:
点击更改配置(需要管理员权限):
选择桥接模式就可以了:
这种方法是通过一个虚拟网络进行桥接。
该种方式相当于在虚拟机网卡与物理机物理网卡直接加一个虚拟网络VMnet0,VMnet0可以选择桥接的网卡是有线网卡还是无线网卡,或者是自动选择。
比如物理机是通过无线网卡上网的,此时VMnet0选择了有线网卡,肯定就不能实现联网。
个人经验是选择“自动”,让VMnet0自动选择能够上网的网卡。
“桥接”是虚拟机的网卡直接把数据包交给物理机的物理网卡进行处理;
虚拟机必须有自己的IP地址、DNS、网关等信息。
注:校园网采用桥接模式可能会出现问题。
2、NAT模式
NAT(Network Address Translation),网络地址转换:
相当于说在虚拟机与物理机直接添加一个交换机,相当于拥有 NAT 地址转换功能,能够自动把虚拟机的IP转换为与物理机在同一网段的IP。
实际上VMnet8是NAT模式,自带DHCP功能,能够给虚拟机分配 IP 地址。
能够实现虚拟机与物理机之间相互通信、虚拟机到外面的网络通信,但是外面的网络不能到虚拟机通信,如果你想让虚拟机作为服务器的话肯定不能选择该模式。
3、仅主机模式(hostonly)
该模式是内部虚拟机连接到一个可提供 DHCP 功能的虚拟网卡VMnet1上去,VMnet1相当于一个交换机,将虚拟机发来的数据包转发给物理网卡,但是物理网卡不会将该数据包向外转发。所以仅主机模式只能用于虚拟机与虚拟机之间、虚拟机与物理机之间的通信。
4、LAN区段
LAN 区段相当于说模拟出一个交换机或者集线器出来,把不同虚拟机连接起来,与物理机不进行数据交流,与外网也不进行数据交流,构建一个独立的网络。没有 DHCP 功能,需要手工配置 IP 或者单独配置 DHCP 服务器。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。