如何在 Vagrant 中启用互联网访问?

问题描述 投票:0回答:5

如果我运行

curl google.com
,我看不到输出,只有一个空白页。我的 Vagrantfile 包含:

Vagrant.configure("2") do |config|
  config.vm.box = "trumobi"
 #config.vm.box_url = "http://192.168.136.129/package.box"
  config.ssh.default.username = "trumobi"
  config.vm.network :public_network
  config.vm.network :forwarded_port, host: 8000, guest: 8000
end
vagrant vagrantfile
5个回答
66
投票

如果您使用的是 Vagrant + VirtualBox + Ubuntu,您可能需要将以下块添加到 VagrantFile 中:

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

如果您使用的是 ubuntu,并且您认为您的防火墙是

on
,那么关闭防火墙的方法如下:

sudo ufw disable

34
投票

如果我切换主机网络连接,例如断开笔记本电脑以太网电缆并开始使用无线网络,有时会发生这种情况。 我发现重新启动 Vagrant 虚拟机(vagranthalt、vagrantup)可以修复问题。


4
投票

禁用防火墙对我有帮助。 在我的 CentOS 访客框中我做了:

# sudo service iptables save
# sudo service iptables stop
# sudo chkconfig iptables off

4
投票

我尝试了以上所有方法但没有成功(Vagrant+Virtualbox+Ubuntu 14.04)。 Virtualbox 显示“适配器 1 (NAT):电缆已断开”。将以下内容添加到我的 Vagrantfile 修复了它:

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

在这里找到:https://github.com/mitchellh/vagrant/issues/7648


0
投票
Vagrant.configure("2") do |config|
            config.vm.define "ansible-controller" do |controller|
            controller.vm.hostname = "controller"
            controller.vm.network :public_network
      end
    end

如果

curl "www.google.com"
不起作用,请尝试将 vagrant 文件中的网络更改为
public_network
。然后尝试运行
curl "www.google.com"
。这对我有用:)

© www.soinside.com 2019 - 2024. All rights reserved.