环境
主机 :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/netpaln/50-cloud-init.yaml
(配置文件名称可能有所不同,但是netplan下的唯一文件)编辑网络配置文件,根据之前配置的IP网段192.168.xxx将配置内容修改为如下:
yaml
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 即验证成功,如下图所示:
结束语
感谢参考中的文章撰写者,解决了我困扰的问题,此外虚拟机三种网络模式的介绍也可以阅读参考中的链接文章,在此就不再赘述。另,配置过程中如遇到问题可以留言咨询。