我是网络小白,最近在使用得到一个任务是搭建线上环境,并且使用vagrant进行打包。
线上环境是Centos6.6,Apache2.4.4,PHP5.5.3,我下载的软件是CentOS6.6的ios镜像
并在搭建好环境后使用vagrant将环境打包成了.box
使用box启动新的虚拟机时遇到了如下问题
问题一: 在Vagrantfile文件中配置添加config.vm.network "private__network",ip:"192.168.10.35",在vagrant up启动虚拟机后ip绑定失效。
在遇到以上问题后我就去网上下载了一个centOS的box文件并也使用Vagrantfile配置静态Ip,启动后发现ip成功绑定,然后查看配置,发现vagrant创建了一张新的网卡,eth4,网卡使用hots-only模式,并且主机是可以ping通该网卡的ip的。看到这些后我就在自己的虚拟机中也手动创建了一张网卡eth1_,也是采用的_host-only模式,并启成功启动了该网卡,然后出现 了第二个问题
问题二:发现主机无法ping通该网卡,在反复对比两台主机配置后都没有发现差异。但是无意间发现了virtualbox启动界面的差异,如下图所示:
图一,我的虚拟机_
图二,成功绑定ip并平通的虚拟机
问题二已经解决了,原来VirtualBox在设置网卡为host-only后会默认把这张网卡挂在一个名字为VirtualBox Host-Only Ethernet Adapter的适配器上,
个人猜测这个适配器相当于网桥的作用,自己配置的静态网卡和这个适配器不在一个网段,所以主机ping不通该虚拟机,
这个配置相当于是做了地址转换,可以访问转换后的地址,但是原地址是不能直接访问的