确保virtualbox拥有两张网卡:
- 一张用作网络地址转换(NAT);
- 一张用作
private_network
,即 仅主机(hostOnly)网络;
- 选择其中一张网卡,假如这张网卡的ipv4地址为
192.168.57.1
,那么你就可以从
192.168.57.11
到192.168.57.255
的范围选择一个作为private_network
; 假如我选择了
192.168.57.15
作为private_network
,那么 Vagrantfile就修改为:# vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| config.vm.box = "centos7-box" config.vm.network "private_network", ip: "192.168.57.15" config.vm.synced_folder "../data", "/vagrant_data" end
重启两次虚拟机后,登录虚拟机,就可以通过命令
ip addr
查看到你设置的private_network
:enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:4f:ad:ae brd ff:ff:ff:ff:ff:ff inet 192.168.57.15/24 brd 192.168.57.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe4f:adae/64 scope link valid_lft forever preferred_lft forever
这个时候,基本就可以从主机ping通vagrant虚拟机了。
另外,为了防止访问虚拟机里面的服务而出现以下问题:
curl: (7) Failed connect to 192.168.57.15:8080; Connection refused
建议关闭防火墙:
$ sudo systemctl status firewalld.service # 查看得到“active(running)”,表示防火墙已经被打开了
$ sudo systemctl stop firewalld.service # 关闭防火墙
$ sudo systemctl disable firewalld.service # 永久关闭防火墙
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。