Я часто получаю такие ошибки при запуске Vagrant:
VBoxManage: error: A NAT rule of this name already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component NATEngine, interface INATEngine, callee nsISupports
VBoxManage: error: Context: "AddRedirect(Bstr(strName).raw(), proto, Bstr(strHostIp).raw(), RTStrToUInt16(strHostPort), Bstr(strGuestIp).raw(), RTStrToUInt16(strGuestPort))" at line 1524 of file VBoxManageModifyVM.cpp
Я хотел бы удалить все правила пересылки портов перед тем, как сделать vagrant up
, но у меня возникли проблемы с правилами LISTING natpf. Есть ли способ сделать это с помощью vboxmanage
или через некоторые объекты в Vagrant?
Обновление: бродячая версия 1.3.4. Я могу реплицировать проблему следующим образом: запустить vm обычным способом (vagrant up
) и принудительно отключить vm во время установки (это, например, имитирует, например, неудачную установку). Затем в системе остается правило перенаправления портов natpf1. Единственный способ его очистки - это как vboxmanage modifyvm #{vmid} --natpf1 delete rule_name
, но вы должны знать имя правила заранее... Кроме того, правило остается после vagrant destroy
, и кажется, что моя функция очистки natpf1 Ruby, присутствующая в Vagrant.configure
, является не работает, а это означает, что устаревшее правило по-прежнему сталкивается с "новым", которое пытается создать Бродяга.