我已经使用 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