Vagrant 代理适用于 `apt-get` 但不适用于 `ping`

Vagrant proxy works for `apt-get` but not for `ping`

在Ubuntu Xenial guest 机器中,我无法运行 apt-get update,也无法ping www.google.com。然后我设置 /etc/apt/apt.conf 代理设置:

Acquire::http::proxy "http://my.proxy.com:80";
Acquire::https::proxy "https://my.proxy.com:80";

然后我就可以运行apt-get了。然后我试了

export http_proxy=http://my.proxy.com:80
export https_proxy=https://my.proxy.com:80

可是我还是做不到ping www.google.com。它只是挂起这条消息

PING www.google.com (74.125.202.105) 56(84) bytes of data.

所以我尝试使用 vagrant-proxyconf 插件,版本 1.5.2。我在 ~/.vagrant.d/Vagrantfile

中设置了代理设置
Vagrant.configure("2") do |config|
    if Vagrant.has_plugin?("vagrant-proxyconf")
        config.proxy.http     = "http://my.proxy.com:80"
        config.proxy.https    = "https://my.proxy.com:80"
        config.proxy.no_proxy = "localhost,127.0.0.1,.example.com"
    end
    # ... other stuff
end

但我仍然无法 ping www.google.com,无论是 export http_proxy 设置还是取消设置。

我也尝试了一些其他答案的建议,例如

config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

config.vm.provider 'virtualbox' do |vb|
    vb.customize ['modifyvm', :id, '--cableconnected1', 'on']
end

但是 none 这行得通。有人有什么想法吗?

谢谢!

ping 正在使用 ICMP 协议(​​参见 RFC 792)因此您应该检查您的防火墙是否未阻止该协议。