环境

主机:Windows 11
VMware Workstation: 17.5.2
虚拟机:Ubuntu 24.02 LTS

注: 主机系统和VMware Workstation版本无影响,只有Ubuntu配置固定IP方式略有不同。

问题

最近本地部署服务就装了VMware Workstation,创建了5台Ubuntu 24的虚拟机,默认网络的配置是NAT模式(N): 用于共享主机的IP地址(如下图),每次重新启动都会对虚拟机自动分配IP地址,使用SSH远程连接时每次都需要修改IP,极其不便。
在这里插入图片描述
因此,想到可以通过设置固定IP来解决此问题,但设置固定IP的过程中,出现了主机PING不通虚拟机或虚拟机无法访问外部网络等问题,经过查询资料,研究配置,终于解决。为了避免有同样问题的兄弟们走弯路,在此记录一下完整的配置过程供参考。

配置过程

省略安装VMware Workstation和创建虚拟机过程。

配置虚拟机网络适配器

将虚拟机网络适配器设置为VMnet8(NAT 模式)。

1.在VMware Workstation主界面,选中要配置的虚拟机,双击网络适配器,进入虚拟机设置->网络适配器,如下图所示:
在这里插入图片描述
2.勾选设备状态下的启动时连接,设置网络连接为自定义(U): 特定虚拟网络->VMnet8(NAT 模式),设置完成点击确认保存,如下图所示:在这里插入图片描述
3.如有其他虚拟机,按照如上两个步骤依次设置。

配置虚拟机网络

将虚拟机网络设置为NAT模式,并设置虚拟网络的网段。

1.在VMware Workstation主界面,点击菜单中的 编辑->虚拟机网络编辑器(N)… 进入编辑界面,如下图所示:
在这里插入图片描述
2.选中VMnet8,如下图中步骤“1”。

3.点击更改设置,更改为管理员权限才能进行修改(如管理员权限运行VMware Workstation,略过此步骤),如下图步骤“2”。

3.VMnet信息设置,选中NAT模式(与虚拟机共享主机的IP地址)(N),如下图中步骤“3”。

4.VMnet信息设置,勾选将主机虚拟机适配器连接到此网络(V),如下图中步骤“4”。

5.设置子网IP和子网掩码,子网IP一般为192.168.xxx.0(此处为192.168.227.0,记住此IP),子网掩码为255.255.255.0,如下图中步骤“5”。

6.以上步骤都配置完成后如下图所示,确认无问题后点击NAT设置(S)…,下图中步骤“6”:
在这里插入图片描述
7.设置网关IP,将网关IP设置为192.168.xxx.2(192.168.xxx和步骤5一致),设置完成后点击确认保存,如下图所示:
在这里插入图片描述

配置虚拟网卡网络适配器

将VMnet8设置为192.168.xxx网段的固定IP,否则默认分配的可能为其他网段IP,导致主机无法连通虚拟机。

1.进入主机的系统设置,选中网络和Internet->高级网络设置,如下图所示:
在这里插入图片描述
2.进入VMware Network Adapter VMnet8更多适配器选项的编辑页,如下图所示:
在这里插入图片描述
3.双击Internet 协议版本 4 (TCP/IPv4)进入属性设置页面,如下图所示:
在这里插入图片描述
4.将
VMware Network Adapter VMnet8
设置为固定IP,IP地址为192.168.xxx.1(需和虚拟机网络的子网IP、网关IP的前缀192.168.xxx一致,此处为192.168.227.1),子网掩码为255.255.255.0,默认网关为192.168.xxx.2(需和虚拟机网络的网关一致,此处为192.168.227.2),DNS服务器可按照下图配置为114.114.114.114、8.8.8.8(国内三大运营商通用的114.114.114.114,备用的选的是Google的8.8.8.8)。全部配置完成后,点击确认保存。
在这里插入图片描述

配置虚拟机固定IP

上述配置全部完成之后,就可以配置虚拟机的IP了,此处以Ubuntu 24.02 LTS系统的配置作为演示,其他系统可以自行搜索配置固定IP的方式。
1.启动虚拟机,切换root权限,使用命令vim /etc/netplan/50-cloud-init.yaml(配置文件名称可能有所不同,但是netplan下的唯一文件)编辑网络配置文件,根据之前配置的IP网段192.168.xxx将配置内容修改为如下:

network:
    ethernets:
        ens33:
            dhcp4: no
            addresses:
              - 192.168.227.100/24 # ip地址192.168.xxx.xxx/24,自己根据需要分配最后的IP,此处为100,之后的虚拟机会如101、102等递增,避免冲突
            routes:
              - to: default
                via: 192.168.227.2 # 网关地址192.168.xxx.2
            nameservers:
              addresses: [114.114.114.114,8.8.8.8] # DNS服务器
    version: 2

在这里插入图片描述
2.执行命令netplan apply使修改生效。

结果验证

到此,所有配置就完成了,对配置结果进行验证。

1.主机是否可PING通虚拟机,如下图收到回复即验证成功:
在这里插入图片描述
2.虚拟机是否可PING通主机,如下图收到回复即验证成功:
在这里插入图片描述
3.虚拟机是否可访问外部网络(命令wget www.baidu.com),响应为200 OK即验证成功,如下图所示:
在这里插入图片描述

结束语

感谢参考中的文章撰写者,解决了我困扰的问题,此外虚拟机三种网络模式的介绍也可以阅读参考中的链接文章,在此就不再赘述。另,配置过程中如遇到问题可以留言咨询。

参考

1: 超详细虚拟机与主机网络连接以及互Ping不通问题的解决

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐