一、前言
作为一个开发人员,为了提升自身能力,需要不断学习新技术和模拟问题场景尝试解决问题。
使用虚拟机作为演练环境是个不错的方案,默认情况下宿主机与虚拟机不能正常通信,本篇将介绍具体步骤解决通信问题。
二、宿主机设置
安装好 VMWare Workstation 时会自动在宿主机中安装 2 块虚拟网卡:VMnet1 和 VMnet8。
VMnet1 用于主机模式,VMnet8 用于 NAT 模式,它们的区别请读者自行百度。
这里我们使用 VMnet8 网卡进行设置,如下图:
我们给虚拟网卡设置 192.168.2 网段配置。
三、虚拟机设置
主界面 -> 编辑 -> 虚拟网络编辑器
同样的,此处我们也选择 VMnet8 进行网段设置。
由于我们在宿主机的虚拟网卡中设置默认网关为 192.168.2.1,因此为了可以正常通信,虚拟机的网段必须在 192.168.2 网段。
如果上边截图步骤3无法修改网关,那么需要修改图中左下角子网的网段。
四、虚拟机系统设置
测试使用 Centos 7 系统
4.1 设置静态 IP
1 | vim /etc/sysconfig/network-scripts/ifcfg-ens33 |
注意:ifcfg-ens33 中,ens33 为网卡名称,读者可通过 ifconfig 查看。
向文件添加/修改如下内容:
1 | BOOTPROTO=static |
其中,子网掩码和默认网关的值与宿主机设置的一致;IP 地址设置在 2 网段即可。
保存文件,重启网卡:
1 | systemctl restart network.service |
五、测试
在宿主机 ping 虚拟系统 ip 或反向 ping 。
如果 ping 通,说明设置成功,宿主机和虚拟机系统可以正常通信。
如果 ping 不通,可尝试关闭防火墙:
1 | chkconfig iptables off 或 systemctl stop firewalld.service |
六、补充
1)如果配置多台虚拟机系统,还需要修改主机名:
1 | vim /etc/hostname |
修改名称保存即可。
2)将主机名和 IP 进行绑定:
1 | vim /etc/hosts |
3)命令行和桌面模式切换
1 | # 切换成命令行模式 |
执行命令后重启系统即可。