前言
了解虚拟机不同网卡模式,并能正确使用网卡连接模式来处理工作学习上的问题,有时候是非常重要的。也许,你也有过使用虚拟机过程中,在网络上花费不少时间的情况,那么这篇文章可能适合你。
一、区别
如上图,在虚拟机中,网络适配器可以设置为多种模式,每种模式都有不同的特点和用途。以下是几种常见的虚拟机网络适配器模式及其区别:
1、桥接模式(Bridge Mode)
在桥接模式下,虚拟机的网络适配器将与宿主机的物理网络适配器连接到同一个网络中,并与宿主机共享同一个 IP 地址段。虚拟机就像宿主机所连接到的网络中的另一个物理设备一样。虚拟机可以直接与网络中的其他设备通信,而不需要进行网络地址转换(NAT)或端口转发等额外配置。这种模式适用于需要虚拟机与局域网中其他设备进行通信的情况,例如在企业网络中进行开发和测试。
2、NAT 模式(Network Address Translation Mode)
在 NAT 模式下,虚拟机通过宿主机的 IP 地址进行网络访问。虚拟机的网络活动被 NAT 路由器转换为宿主机的 IP 地址,并通过宿主机的网络适配器访问外部网络。外部网络无法直接访问虚拟机,虚拟机的网络活动对外部网络是不可见的。这种模式适用于需要虚拟机能够访问外部网络,但不需要外部网络访问虚拟机的情况,例如在开发环境中进行软件下载和更新。
3、主机模式(Host-Only Mode)
在主机模式下,虚拟机可以与宿主机进行通信,并且虚拟机之间也可以互相通信,但是无法访问外部网络。虚拟机的网络流量仅限于宿主机和其他虚拟机之间。这种模式适用于需要创建一个隔离的网络环境,用于开发和测试局域网应用程序或进行安全性测试。
每种模式都有其独特的用途和限制,选择合适的网络模式取决于你的具体需求和网络环境。
二、使用
1、我使用了桥接模式,但我连不上网?
现象描述如下图所示,目前知道的信息是虚拟机与物理机通信正常,物理机与外部网络通信正常,但虚拟机无法与外部网络进行通信。要解决这个问题,我们需要进一步了解桥接模式,也可以直接跳转到步骤4先解决这个问题。
2、桥接模式下,我桥接了哪个网卡?
主机有两个网卡(一个有路由,一个没有路由),虚拟机在桥接模式下,则虚拟机是哪个网段的
因为有了“一个有路由,一个没有路由”这个信息,其实挺好判断网卡的。因为在桥接模式下,虚拟机会和宿主机所连接到的同一个网络中,虚拟机会使用宿主机的一个物理网卡来连接到网络。因此,如果主机有两个网卡,那么虚拟机将连接到其中一个网卡所连接的网络,即它将处于相应的网段中。
要确定虚拟机所在的网段,需要查看宿主机各个网卡所连接的网络和其对应的 IP 地址、子网掩码等配置信息。通常情况下,虚拟机的网络配置将与宿主机的网络配置相同,但也可以通过虚拟机的网络设置进行自定义配置。
在本问题中,虚拟机自动获取不了IP,那使用的网卡就是没有路由的那个。
3、主机中的虚拟网卡分别是干什么的?
在 VMware Workstation 中,VMnet0(通常不显示)、VMnet1 和 VMnet8 是常见的虚拟网络接口,它们各自扮演不同的角色(详见第4步图一,三者网卡对应的类型):
VMnet0:
VMnet0 是 VMware Workstation 中的一个特殊虚拟网络接口。它通常用于桥接模式,将宿主机的物理网络适配器连接到虚拟机网络中。在桥接模式下,虚拟机与宿主机共享同一个网络,虚拟机会分配到与宿主机相同网络中的一个 IP 地址。这使得虚拟机可以直接与宿主机所连接到的网络中的其他设备进行通信。
VMnet1:
VMnet1 是 VMware Workstation 中的另一个虚拟网络接口。它通常用于自定义虚拟网络,并且在默认情况下没有特定的用途。用户可以使用 VMware Workstation 的网络编辑器自定义 VMnet1 的配置,包括设置 IP 地址范围、子网掩码、DHCP 设置等。因此,VMnet1 可以用于创建专用的虚拟网络,以满足特定的网络需求和场景。
VMnet8:
VMnet8 是 VMware Workstation 中的默认虚拟网络接口,通常用于 NAT(网络地址转换)模式。在 NAT 模式下,VMnet8 充当一个虚拟的 NAT 路由器,将宿主机的网络连接共享给虚拟机。虚拟机可以通过 VMnet8 访问外部网络,但外部网络无法直接访问虚拟机。VMnet8 会为虚拟机分配一个私有的 IP 地址,并通过 NAT 转换实现与外部网络的通信。
总的来说,VMnet0 用于桥接模式,VMnet1 可用于自定义虚拟网络,而 VMnet8 则用于将宿主机的网络连接共享给虚拟机。这三个虚拟网络接口在 VMware Workstation 中扮演着不同的角色,用于满足不同的网络配置和需求。
我们禁用掉VMnet1、VMnet8发现桥接模式没有收到影响,因此VMnet0虽然不显示,但真实存在。
4、指定网卡进行桥接
如下图操作,可以指定网卡,现在指定的是接了路由的网卡,我们重启虚拟机看看效果。
经过上述操作,已经自动获取到IP,也能够连接外网,问题解决。
5、我想桥接两个物理网卡该怎么办?
如图所示,第一步:添加一个桥接网卡;第二步:增加一个虚拟网卡并选择自定义,将添加的桥接网卡加入。
6、我想上网的同时,不去跟主机上同网段设备交互该怎么办?
直接使用NAT模式。
7、我只想跟其他主机和虚拟机通信该怎么办?
直接使用主机模式。