网络更改后找不到 Vagrant 私有 IP

网络更改后找不到 Vagrant 私有 IP

我已经使用 Virtual Box 设置了一个简单的 Vagrant Ubuntu 虚拟机,在 Mac 上运行。

我正在使用私有网络,配置了静态私有 IP,如下所示:

Vagrant.configure("2") do |config|
    config.vm.network :private_network, ip: "10.11.12.13"
end

这很好用,除了我在 wifi 和有线网络之间来回切换时。当我这样做时,我似乎无法再使用其静态 IP 地址连接到虚拟机。我尝试过停止并重新启动虚拟机,甚至销毁并重新创建虚拟机,但都无济于事。

有没有办法重置网络连接以便恢复私有 IP?我可以直接在 VirtualBox 或其他任何设备上访问它。现在看来,唯一能让它工作的方法就是重启我的整个机器。

答案1

似乎可以通过在命令提示符下运行以下命令轻松重新启动 VirtualBox 的网络适配器(在您的系统上会略有不同)

sudo ifconfig vboxnet1 down
sudo ifconfig vboxnet1 up

请注意,您必须将vboxnet1其替换为 VirtualBox 的虚拟网络适配器,您可以通过以下方式找到它:

  • 启动 Virtual Box
  • 选择您正在运行的虚拟机
  • 查看该Network部分。您将看到列出的适配器vboxnet的名称中包含。这就是您要查找的适配器名称。

ifconfig您还可以通过在终端中运行来查看可用的网络适配器:

ifconfig

如果您希望将其包含在一个简单的 bash 脚本中,则可以使用以下命令:

重新启动_vbox_网络适配器.sh

ADAPTER=${1:-"vboxnet1"}

sudo ifconfig $ADAPTER down
sudo ifconfig $ADAPTER up

你可以像这样调用它,再次使用适合你的虚拟机的正确网络适配器:

restart_vbox_network_adapter.sh vboxnet2

答案2

ssh 进入你的 vagrant 虚拟机并执行以下命令

sudo /etc/init.d/network restart

相关内容