Свой «VBoxManage list ip» — список адресов запущенных виртуалок

от автора

Дело было вечером, делать было много чего. И почти все — в VirtualBox. Используя headless виртуалки.

Я уже давно оценил плюсы виртуальных машин для разработки, и повсеместно их использую. В результате имею парк в 5-10 виртуальных машин, с разными ветками и проектами. Несколько из которых постоянно запущены.

90% из них запускаются в headless режиме. И берут IP динамически. Так как статику контролировать постоянно невозможно, и она имеет другие ограничения. Отсюда результат — достоверно неизвестно с каким адресом запустится виртуалка. Думаю вы с таким сталкивались. Если нет — можете перейти к следующему посту. 🙂

Если знакомо — прошу под кат.

В этом случае у меня такой порядок запуска виртуалки:
1. запуск в нормальном режиме
2. смотрим внутри нее ifconfig / ipconfig на предмет адреса
3. гасим ее
4. запускаем в headless и надеемся, что адрес будет таким же

На VB трекере есть соответствующий feature request. Но он закрыт как «works for me» с решением Linux only. Что меня не устраивает. Других красивых решений не нашлось, тч было решено написать свое.

Небольшой скрипт для node.js, который перечисляет все запущенные виртуалки и все их сетевые адреса.

Запускается с помощью «node vmip» и показывает что-то типа:
J:\sites\vmip>node vmip
SomeMachine
192.168.13.188

U3
10.0.2.15
192.168.13.29
192.168.56.101

XP
192.168.56.102
10.0.2.15

192.168.13.* адреса — из реальной сети, 192.168.56.* — host-only сеть vbox’а, 10.* — натовский адрес vbox’а, по сути — отсутствие доступа из вне.

Скрипт проверен на используемых Windows / OS X. Полностью лишен красоты и наполнен суровой практичностью. Если будет спрос — будет дополняться.

ссылка на оригинал статьи http://habrahabr.ru/post/211124/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *