分析virtrualBox虚拟机的网络状态

打开virtrualBox虚拟机管理界面查看当前的网络状态

打开主界面,找到设置:

虚拟机QoS设置 虚拟机端口设置_IP


2.左侧菜单找到网络,展开高级选项,可以看到目前虚拟机的网络状态为端口转发

虚拟机QoS设置 虚拟机端口设置_linux_02


这里补充下端口映射的概念

虚拟机QoS设置 虚拟机端口设置_linux_03


如上图所示,我们在VirtrualBox 虚拟机中安装了mysql和RabbitMQ服务,此时假定外面的用户想访问虚拟机中的Mysql服务,则需要在虚拟机配置一个端口映射,将虚拟机内部的3306端口映射到宿主机的3333端口上。

此时用户若想访问mysql服务,则需要访问宿主机的3333端口,由于配置了端口映射,则宿主机3333端口被访问时,会转发到虚拟机中的3306端口,从而使用户得以访问虚拟机中的mysql服务。配置端口映射方法:

选择端口转发

虚拟机QoS设置 虚拟机端口设置_虚拟机QoS设置_04


点击+号位置配置端口映射规则即可

虚拟机QoS设置 虚拟机端口设置_linux_05


通过上面的端口转发例子我们可以看出,端口转发存在诸多的不便,比如每次在虚拟机中新增一个服务后,都到去配置端口映射才能正常访问,非常麻烦,因此我们采用下面的方案,直接为虚拟机分配一个单独的IP地址。

基于Vagrant 分配虚拟机IP地址

由于虚拟机是由vagrant创建的,因此下面我们用修改vagrant配置文件的方式来分配IP地址

找到创建vagrant虚拟环境的目录
若不清楚vagrant方式搭建虚拟环境,请参照我另一篇博文:

虚拟机QoS设置 虚拟机端口设置_网络_06


在安装目录下可找到Vagrantfile这个文件,用NodPad++打开,这个文件就是虚拟机的配置信息,找到下面对应的虚拟机私有网络配置,放开这段注释,在ip:后面为虚拟机分配一个IP地址,这个IP地址如何选择,看下文。

虚拟机QoS设置 虚拟机端口设置_网络_07


选择IP地址,打开命令行窗口,输入ipconfig命令查看IP情况

虚拟机QoS设置 虚拟机端口设置_centos_08

可以看到当前虚拟环境的IP分配为192.168.56.1

在分配IP时可以分配如下IP:192.168.56.*最后一位可任意分配

例:分配IP为 192.168.56.8

修改配置为:

虚拟机QoS设置 虚拟机端口设置_网络_09


修改之后重启虚拟机,输入命令:vagrant reload

虚拟机QoS设置 虚拟机端口设置_linux_10


重启之后登录虚拟机,输入 ip addr 查看当前 IP

虚拟机QoS设置 虚拟机端口设置_虚拟机QoS设置_11


此时可以看到已经成功分配了IP

接下来测试下虚拟机与主机是否可以相互Ping通

另外打开一个window的命令窗口,ping 虚拟机的IP

虚拟机QoS设置 虚拟机端口设置_centos_12


可以看到主机可以成功ping通虚拟机

再查看下主机IP,用虚拟机Ping主机

虚拟机QoS设置 虚拟机端口设置_linux_13


虚拟机QoS设置 虚拟机端口设置_虚拟机QoS设置_14


可以看到虚拟机也成功Ping通了主机,说明网络已经畅通。