-
確保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 # 永久關閉防火牆