VMware安装多虚拟机与网络配置互通指南

1,182 阅读10分钟

在一些情况下,我们需要在本地做一些模拟集群或者分布式应用部署测试、调试等工作,这时我们可以借助在本地安装多台虚拟机完成。

今天就以VMware Workstation Pro 17.6.1版本安装Debian 12操作系统的虚拟机为例,讲解一下安装多台可互相访问的虚拟机的通用流程,并完成它们的常用系统和网络配置,使多台机器之间可以互通。

在开始本章节之前,请先准备好下列软件和系统镜像:

  • VMware Workstation Pro虚拟机软件
  • Debian 12系统镜像:传送门

自2024年5月开始,VMware Workstation Pro开放个人免费使用,详情可查看官网说明:传送门

大家注册一个Broadcom账户,登录后通过上述说明页面中下载地址进入即可免费下载VMware虚拟机软件,这里不再赘述上述下载过程。

1,虚拟机NAT网络配置

我们的虚拟机使用默认的NAT网络模式即可,我们需要先打开网络配置查看NAT网关的IP地址范围、网关IP、子网掩码等等信息,因为后续我们需要给虚拟机配置静态IP地址,需要这些信息

点击上栏编辑 - 虚拟网络编辑器如下:

image-20241125145735970

选中模式为NAT的虚拟网络(默认是VMnet8),查看下面的子网IP子网掩码

image-20241125145850660

根据上图我们可以得知NAT虚拟网络的下列信息:

  • 子网IP为192.168.233.0,那就代表该网络下虚拟机的IP范围是192.168.233.1 ~ 192.168.233.255
  • 子网掩码为255.255.255.0

上述子网IP可以修改,可以修改第三位(上图中233)为自定义的值,只要不和本地其它虚拟网卡或者物理网卡的子网IP冲突即可。

继续点击NAT设置,查看NAT网关地址:

image-20241125150335354

image-20241125150431886

可以看到网关IP为192.168.233.2,也可以自定义最后一位(上图中2)为其它值,也不能和现有的虚拟机或者其它虚拟设备等冲突,当然默认情况下无需修改。

到此,我们总结我们的NAT虚拟网络信息如下:

  • 网关IP:192.168.233.2
  • 子网掩码:255.255.255.0
  • 子网IP(范围):192.168.233.0

需要先记录下这些信息,后续我们需要用这些网络信息来配置虚拟机静态IP地址。

2,创建虚拟机并安装系统

需要注意的是,我们先只安装一台虚拟机,并且注意不要安装GUI桌面环境,并且勾选SSH服务端安装。安装并配置完成后,我们将其克隆为三台虚拟机。

(1) 创建虚拟机

① 虚拟机创建

首先创建一台虚拟机:

image-20230817163753609

选择典型,下一步:

image-20230817163817718

选择稍后安装操作系统,下一步:

image-20230817163844038

选择Debian 12.x 64位,下一步:

image-20241125150914382

虚拟机名称自取,下一步:

image-20230817163934788

磁盘空间设定为50GB(或者根据自己实际情况设定),并设定使用单个文件,下一步:

image-20230817164018211

直接点击完成:

image-20230817164033203

② 虚拟机设置

这时,我们就完成了虚拟机的创建,在左侧列表选择我们虚拟机后,点击编辑虚拟机配置:

image-20230817164110973

在硬件这一栏,保证内存为2GB及其以上,处理器核心数为2个及其以上(或者根据自己实际情况设定):

image-20230817164140890

在CD/DVD那里,设定你的Debian 12安装镜像文件位置:

image-20230817164227470

然后在选项栏中,选择高级,固件类型设定为UEFI,最后确定:

image-20230817164254569

现在,启动虚拟机,即可进入安装界面。

(2) 安装操作系统

① 进入安装

启动虚拟机,进入系统安装界面,使用键盘上下键控制,选择第二个Install选项,回车确定

image-20230817164416726

② 配置语言与地区

语言和地区都选择为中国、汉语等:

image-20230817164527703

image-20230817164551495

image-20230817164556890

③ 主机名

主机名先配置为master或者其它自定义值,回车确定,域名不用填直接回车跳过:

image-20230817164634316

④ 用户配置

然后输入root账户密码,并进行确认,设定好后回车:

image-20230817164738575

然后创建普通账户,填写普通账户名和显示名以及密码:

image-20230817164814617

image-20230817164833778

然后等待时钟等进行自动配置完成。

⑤ 磁盘分区

出现下列界面即为磁盘分区,这里我们先不创建交换分区,因此我们手动设定:

image-20241125151834851

1. 创建分区表

选择我们的虚拟磁盘按下回车,先创建分区表:

image-20241125151915268

image-20241125151937843

2. 创建启动分区

然后选择空闲空间,先创建一个启动分区,大小100MB即可:

image-20241125152027686

image-20241125152122887

image-20241125152130296

image-20241125152136080

设定分区类型为EFI启动分区:

image-20241125152207896

image-20241125152228992

image-20241125152249856

3. 创建系统EXT4分区

方式和创建EFI分区一样,只不过类型设定为EXT4,挂载点为/如下:

image-20241125152457876

image-20241125152533555

image-20241125152558251

4. 完成分区

最后,选择完全分区操作并将修改写入磁盘即可:

image-20241125152625437

选择否确定不使用交换分区:

image-20241125152719327

确定格式化:

image-20241125152741079

⑥ 系统安装

完成分区后,等待系统核心组件安装,直到出现下列界面,选择否:

image-20230817165205576

网络镜像站点也选择否:

image-20230817165228068

流行度调查也选择否:

image-20230817165249749

在软件选择界面,取消掉桌面环境以及GNOME的选择,然后选择SSH服务器,使用上下键控制,空格键选择或者取消选择,前面带星号的选项就是被选中的,最后回车键确认进行下一步:

image-20230817165357775

等待安装完成,重启系统:

image-20230817165519176

重启后,看到这个界面,就说明已经进入系统了!这是Linux命令行界面的登录界面:

image-20230817165550419

(3) 登录操作系统

首先登录系统,在登录界面输入root表示要登录root账户:

image-20230817165712974

回车然后输入密码,注意密码是不会显示的,然后回车:

image-20230817165736391

出现下列界面则登录成功:

image-20230817165756618

(4) 配置静态IP地址

我们需要对虚拟机网络进行配置,以便我们能够在后续使用SSH连接上虚拟机,把虚拟机作为本地服务器使用。直接在虚拟机命令行进行操作是非常困难的,例如无法进行复制粘贴等等。

因为默认情况下虚拟机使用的是动态IP地址,即每一次都会自动变化,所以我们要将其配置一个静态的IP地址。

上述我们已经通过虚拟机虚拟网络设置查看了NAT虚拟网卡的相关网络配置信息,这里我们就直接开始配置。

然后登录并进入虚拟机系统,登录root账户,通过下列命令编辑网络配置文件:

nano /etc/network/interfaces

可以看到文件内容如下:

image-20230817213709584

我们使用nano命令进行文件编辑,打开文件后,就直接是编辑模式,键盘上下左右键可以移动光标,可以直接输入。

找到iface ens33 inet dhcp这一行(ens33是我们虚拟机系统中的默认网卡),将dhcp改成static,并在这一行下方加入下列几行配置IP地址、子网掩码和网关:

address 192.168.233.3
netmask 255.255.255.0
gateway 192.168.233.2

可见该地址根据我们上述查看的NAT网络地址信息配置,分别是:

  • address表示这台虚拟机的IP地址,前面三位要和上面我们在NAT网络设置中看到的一致,后面一位大家可以自行设定为1 ~ 255间的任何一个数字,但是注意不要和网关重复了,我这里配置为192.168.233.3
  • netmask表示子网掩码,配置为上面在NAT网络设置中看到的一致
  • gateway表示网关,配置为上面在NAT网络设置中看到的一致

最终我这里如下:

image-20241125153322070

然后保存文件,按下Ctrl + O进行保存,这将显示一个提示询问你要保存文件,此时按下 Enter 键以确认保存。再按下Ctrl + X即可退出编辑器回到命令行。

最后重启网络:

systemctl restart networking

现在输入命令ip addr查看IP地址是否修改成功:

image-20241125153637159

然后使用ping baidu.com命令试一下能否连接外网,出现下列结果说明能够连接外网,按下Ctrl + C停止ping操作:

image-20230817214800876

如果说不能够连接外网,很可能是DNS配置出现问题,通过下列命令编辑DNS文件:

nano /etc/resolv.conf

找到nameserver这一行,检查后面的IP地址是否和上述NAT网络设置中的网关IP地址一致,若不是则修改。

image-20241125154003622

修改完成后,重启网络即可。

这时,一台机器的静态IP就配置完成了!

(5) 配置SSH服务端

编辑SSH服务端配置文件,允许root账户连接:

nano /etc/ssh/sshd_config

在文件中找到PermitRootLogin一行,默认情况下它的值是prohibit-password,将其前面的注释井号#去掉,并把后面的值更改为yes,最终如下所示:

image-20230817215417022

然后重启SSH服务:

systemctl restart sshd

现在回到你的电脑,使用FinalShell或者Tabby等工具,连接虚拟机IP地址试试,连接成功即可:

image-20241125153918935

相信大家到现在也能够深刻地感受到:直接在虚拟机内实在是难以操作。不过现在完成了SSH服务器的配置,后续其它系统配置等操作大家也可以通过SSH连接形式进行。

(6) 其它系统配置

到此,基本的网络配置完成,大家可以根据情况完成一些其它系统配置(例如软件源、中文环境等)以及安装一些软件(例如vim等),这里不再详细赘述配置,若不熟悉可以参考下列博客:

3,克隆虚拟机并配置

上述第一台虚拟机的基本配置就完成了!可见需要配置的东西还是很多的,所以这里我们把这台虚拟机配置好后,可以将其作为模板克隆出多个虚拟机,克隆出来的新虚拟机仅需要配置IP地址和主机名,防止冲突即可。

(1) 克隆虚拟机

首先关闭上述虚拟机,在左侧栏选中我们虚拟机后,点击上栏的虚拟机-管理-克隆:

image-20230817220704673

一直点击下一页,直到出现选择克隆类型页面时,选择创建完整克隆:

image-20230817220911014

两种克隆方式使用起来无差异,不过链接克隆的性能会更低,而完整克隆更占空间。

然后设定克隆的新的虚拟机名称,最后点击完成:

image-20230817220950898

克隆完成,在左侧列表就会多出我们克隆出来的虚拟机,选择并启动即可。

(2) 修改IP地址

启动并进入克隆的虚拟机,修改IP地址,保证IP地址不要和第一台虚拟机一样,同样地编辑网络配置文件:

nano /etc/network/interfaces

例如我这里最终如下:

image-20241125160554830

可见这里我们只需要修改IP地址address字段即可,仅修改最后一位(确保不要和网关以及其它虚拟机IP重复),别的就不需要修改了。

重启网络之后,尝试在自己电脑上连接该克隆虚拟机,连接成功即可。

(3) 修改主机名

然后修改一下这台虚拟机的主机名,例如这里将其修改为worker-1,首先编辑/etc/hostname文件,将其中master改成worker-1并保存即可:

image-20241125160637179

然后修改/etc/hosts文件,找到127.0.1.1这一行,把后面的master也改成worker-1,如下图:

image-20241125160721062

最后重启操作系统即可:

reboot

这样,克隆的虚拟机就配置完成了!可见虚拟机克隆之后,只需修改IP地址主机名即可。

若还需克隆虚拟机,重复上述克隆步骤即可。克隆完成后,可启动多台虚拟机,并互相ping对方的IP地址,发现是能够互通的。