欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

关于修复 DHCP 无法在 VMware 虚拟机桥接网络中获取 IP 的问题

最编程 2024-07-02 19:19:41
...

一、内容说明:

本文简要扫盲了VMware/VirtualBox虚拟机的网络连接方式及相关知识,并介绍了桥接模式下本人在设置桥接网络时遇到的问题及解决办法。

系统:win10主机+VMware® Workstation 16 Pro 版本:16.1.2 build-17966106/VirtualBox 图形用户界面

版本 6.1.14 r140239 (Qt5.6.2)+虚拟机Ubuntu 22.04。

二、VMware/VirtualBox三种网络连接方式:

VMware提供了三种网络连接方式,VMnet0, VMnet1, Vmnet8,分别代表桥接,Host-only及NAT模式。在VMware的编辑-虚拟网络编辑器可看到对应三种连接方式的设置(如下图1)。

图1

上图中每一个VMnet均代表一个虚拟交换机,用于真实主机和虚拟主机构成对应的局域网络。VMware实际可支持更多虚拟交换机,包括VMnet0-9,均可与真实主机相连;此外还可扩展更多虚拟交换机,这些则不再与主机相连。

2.1 桥接模式

VMnet0代表"桥接模式"的虚拟交换机,该交换机上连接真实主机及使用桥接模式的虚拟主机,虚拟主机与真实主机地位完全相同,因此必须给虚拟主机配置相应的IP地址等,当然也可以使用DHCP服务器动态分配IP地址。桥接模式下,虚拟主机与真实主要在VMnet0构成的局域网内通信,同时通过真实主机中的网关与外网通信。由上表可看出,VMnet0直接连接到真实主机的某块真实网卡上。

2.2 Host-only

VMnet1代表"仅主机模式"的虚拟交换机,该交换机建立一个仅连接真实主机和虚拟主机的网络,虚拟主机无法连接外网,因此称为仅主机模式。此种模式下,VMnet1包括一个无路由功能的DHCP服务器,它是VMnet1的一部分。VMnet1连接虚拟主机和VMware分配给真实主机的虚拟网卡VMware Network Adapter VMnet1(如下图2),其地址就是对应虚拟主机的默认网关地址,但该网卡是不具备网关功能的,因此无法与外网通信。

图2

2.3 NAT模式

VMnet8代表“NET”模式的虚拟交换机,该交换机用于虚拟主机需要访问外网而不希望被外网访问的情形下,也是实现虚拟机外网访问的最简单模式。此模式下,VMnet8包括一个NAT服务器。VMnet8连接虚拟主机和真实主机的虚拟网卡VMware Network Adapter VMnet8,该网卡地址就是此模式下虚拟主机的默认网关地址。此时真实主机通过NAT服务执行路由器功能,实现NAT模式的外网访问。

三、桥接模式下出现的网络设置问题:

3.1 安装Ubuntu 22.04时不能自动获取IP(如下图3-1)。

图3-1

3.2 已经安装完成Ubuntu 22.04后,由于更换了上网方式(有线—无线 或更换了路由器)而不能自动获取IP(如下图3-2)。

图3-2

解决3.2问题的方法:1.如果VMware虚拟机,此时只须将图6中的第二步,由桥接模式的默认“自动”方式改变为具体的实际网卡上网方式即可!2.如果VirtualBox虚拟机,只须将图4中的界面名称改成相应网卡即可。

图4

四、解决3.1问题的步骤:

4.1 更新主机主板、网卡驱动程序(同学们自行下载解决。如果主板、网卡驱动程序正常,则此步可省略);

4.2 将主机网卡中 VMware Bridge Protocol 卸载(如下图4);

图5

4.3 打开虚拟机—编辑—虚拟机网络编辑器—1.还原默认设置-—2.选择上网的网卡—3.确定(如下图5);

图6

4.4 重启主机电脑(完成)。