最近尝试在VirtualBox的Centos7虚拟机中部署Web应用,部署后发现只有主机能够访问,局域网内其他设备都不能访问。经过一番折腾,面临了一些坑,终于解决了这个问题。只是在此提下我个人所遇到的问题以及解题思路,以供参考。
问题排查:
- 将虚拟机中的war包以及Tomcat/conf/server.xml拷贝到主机,在主机中运行,发现局域网内设备都能访问。排除主机与局域网的连接问题以及Tomcat的配置问题。
- 尝试在Centos中ping主机,发现可以ping通。主机ping虚拟机也可以ping通,可以判断主机与虚拟机的连接没有问题。
- 尝试用虚拟机ping局域网内其他机器没有问题,再用局域网内机器ping虚拟机发现不能ping通。最后发现是VirtualBox选用的网络连接方式不对。一直以来使用的NAT网络进行的连接,虽然能访问外网,但是网络与局域网内其他机器并不互通。
问题原由: NAT网络连接的虚拟机只能保证与主机的连接,不能与局域网内其他设备连通。需要改成桥接网络的连接方式。
解决办法:
一、修改VirtualBox的网络为桥接网络,作如下配置:
1.VirtualBox的虚拟机网络设置:
这一步,我遇到一个坑: 桥接网卡的“界面名称”不能选择网卡,显示灰色无法指定(没有此问题的直接跳过这一步)。
解决办法:
*1.1:给连接外网的网卡安装VirtualBox的服务驱动,右击“属性”
*1.2:选择“服务”
*1.3: 选择从磁盘安装VirtualBox的驱动,驱动在VirtualBox安装路径的drivers\network\netlwf中