我有一台 Debian 8 客户机 VirtualBox (4.3.26_Ubuntur98988) VM,在 Ubuntu 15.04 上运行,由 Vagrant 1.7.4 管理。每当主机系统挂起时,它都无法 ping 客户机或通过端口 80 连接到它(可能还有其他问题,但这些是我注意到的)
端口 22 似乎仍然可以访问,因为 SSH 不受影响(直到/etc/init.d/networking restart
在客户机上运行,此时在[....] Restarting networking (via systemctl): networking.service
连接似乎丢失之前会打印。进一步尝试通过vagrant ssh
挂起进行连接)。
我尝试在恢复后重新启动主机上的网络和网络管理器服务,但没有效果。在我的 Vagrantfile 中禁用 NAT 也失败了。
将专用网络切换为使用 DHCP 而不是静态 IP 地址做过允许连接在暂停期间持续存在,但这很不方便,因为我使用 hosts 文件中的条目来允许使用 mysite.dev 样式的主机名,而我的应用程序需要该主机名才能正常工作。在我切换到 Debian 之前,这个问题并不是什么大问题(我之前一直在使用 Ubuntu Server 14.04),在我的 MacBook 上根本不是问题。
我的 Vagrantfile 的相关部分:
VAGRANTFILE_API_VERSION = '2'
IP = '192.168.10.10'
CPUS = 2
MEMORY = 2048
VM_NAME = 'vagrant'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.network :private_network, ip: IP
# config.vm.network :private_network, type: 'dhcp' # "works"
config.vm.provider 'virtualbox' do |vb|
vb.name = VM_NAME
vb.customize ['modifyvm', :id, '--memory', MEMORY]
vb.customize ['modifyvm', :id, '--cpus', CPUS]
vb.customize ['modifyvm', :id, '--natdnsproxy1', 'on']
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
vb.customize ['modifyvm', :id, '--ostype', 'Debian_64']
end
config.vm.network 'forwarded_port', guest: 80, host: 8000
config.vm.network 'forwarded_port', guest: 443, host: 44300
end