不同物理机的虚拟机之间的通信linux Ubuntu18.04+VMware17Pro
前言
在小学期大数据开发课程中,要求实现hadoop集群的分布式管理,首先就得实现不同物理机的虚拟机之间的通信,保证能够互相ping通。但是我们在做作业的过程中,上网浏览了很多资料都没有一个完整的教程,导致花费了好几天时间在ping上,也是后来浏览了很多博客试错了很多次,终于找到了解决办法,趁着国庆假期没事,打算把它写成博客,以供以后的学弟学妹们借鉴。
软件环境
Ubuntu18.04+VMware17pro
修改网络配置
将网络适配器从NAT模式修改为桥接模式
打开虚拟网络编辑器
点击更改设置,进入管理员模式
桥接模式下,将“已桥接至”换成realtek(好像不换也行,我的队友当时没有realtek这个选项,就直接选的自动,最后还是成功了)
至此vmware的配置就结束了,就可以进入Ubuntu里面修改相关配置了(centos同理)
Ubuntu修改IP地址
打开设置
选择网络
选择IPV4-手动,在地址栏中填入相关IP信息。
题外话:强烈建议,如果是在校园网的环境下,还是改成手机热点连接比较好,我们当时在校园网环境下尝试多次都无法ping通对方的虚拟机,后来老师说可能是校园网的问题,然后我们换成手机热点之后就成功了(泪目……)
IP信息可以根据物理机的IP进行修改。物理机环境中,进入cmd,使用ipconfig命令查看本机IP。需要将虚拟机的IP更改为统同一网段中的IP,我这里的网段为192.168.43,所以选择将虚拟机的IP修改为192.168.43.131,(最后一位数字需要在128-254之间),其他的子网掩码和默认网关和物理机一致(也有博客说默认网关的最后一位需要改成2,但是我的虚拟机和物理机的默认网关一致,最后也成功了,如果有同学失败,可以尝试修改为2)
修改后截图,点击应用
重启网络后即可通过ifconfig
命令在终端查看IP已经被修改了(如果还是以前的IP,可以重启虚拟机),也可以直接在设置-网络-详细信息中查看IP
sudo systemctl restart NetworkManager.service
关闭防火墙。将虚拟机的防火墙关闭后才能互相ping
systemctl stop firewalld.service
查看防火墙状态,确保防火墙关闭。
systemctl status firewalld.service
不同物理机的虚拟机都需要配置
在每一台虚拟机上都这样做一次,确保:
- 不同物理机的虚拟机在同一网段中
- 防火墙都已经关闭
- 非校园网环境(血泪史)
应该就能实现不同物理机的虚拟机之间的通信了(所有虚拟机修改完成后可以使用ping (对方IP)试一下通信,例如ping 192.168.43.131
)。
写在最后
可能时间久远,遗漏部分细节,按照我的流程做一遍各虚拟机之间还是不能互相通信,但是大致思路就是桥接模式-修改IP为同一网段-关闭防火墙,希望能够给学弟学妹们一点参考,不要在这上面花费过多时间。