Доступ к виртуальной машине

Содержание

Настройка сети VirtualBox

Доступ к виртуальной машине

Виртуальные машины VirtualBox очень часто используются для тестирования различного программного обеспечения и его взаимодействия между собой. Обычно, таким программам необходим доступ к интернету. Время от времени возникает необходимость протестировать работу программ по сети или даже создать небольшую тестовую лабораторию из виртуальных машин.

В этой инструкции мы рассмотрим как выполняется настройка сети VirtualBox различными способами. Вы узнаете как объединить машины в одну локальную сеть, как дать им доступ к интернету и как связать их с основной системой. Но сначала поговорим о том, как может работать сеть.

Виды сетевых адаптеров VirtualBox

Существует несколько способов как настроить сеть в virtualbox, и каждый из них подходит для лучше для решения одной задачи и меньше для другой. Рассмотрим основные:

  • NAT – этот способ используется по умолчанию. Для каждой машины создается отдельная внутренняя локальная сеть, в которой машина получает ip 10.10.0.1. Машина может связаться с интернетом, используя технологию NAT, и вы можете обратиться к машине, используя проброс портов VirtualBox, но если у вас будет две виртуальные машины, то вы уже не сможете между ними так взаимодействовать. И если из основной системы к гостевой можно обратиться, то к основной ни гостевой уже никак не получится;
  • Виртуальный адаптер хоста – создается виртуальный сетевой адаптер, к которому можно подключить несколько виртуальных машин, тем самым объединив их в локальную сеть. Доступа к интернету нет, но зато машины находятся в одной сети и каждая имеет свой ip адрес, теперь они могут взаимодействовать между собой. Основная система тоже доступна по ip 192.168.56.1. Машины доступны не только между собой, но и из основной системы;
  • Сетевой мост – при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Машина использует сетевой интерфейс чтобы получить адрес у роутера и становится доступна для других устройств, как и основной компьютер по своему ip адресу.
  • Внутренняя сеть – почти то же самое, что и виртуальный адаптер хоста, только без возможности доступа к виртуальной сети из основной системы, доступа к интернету нет.
  • Универсальный драйвер – позволяет использовать драйвер из расширений VirtualBox для связи между машинами, расположенными на разных физических хостах.

Теперь рассмотрим каждый вариант настройки более подробно.

1. Настройка сети NAT

Здесь почти нет о чем говорить. Получение доступа к сети через NAT включено по умолчанию. Проброс портов я рассматривал в отдельной статье. Но если вы раньше отключали сетевые адаптеры, то чтобы включить NAT обратно достаточно открыть настройки нужной машины:

Перейти на вкладку “Сеть”:

Выбрать один из адаптеров. К виртуальной машине можно подключить несколько адаптеров и это очень удобно, так как вы можете комбинировать вместе адаптер виртуального хоста и NAT чтобы получить преимущества обоих режимов. Дальше вам нужно выбрать пункт “NAT” в списке “Тип подключения”.

На вкладке “Дополнительно” вы можете настроить марку устройства адаптера и MAC адрес:

Если вы собираетесь устанавливать туда в Windows, то лучше будет работать Intel PRO/1000 MT Desktop, а для Linux можно оставить AMD PCNet FAST III, так как он поддерживается всеми операционными системами.

2. Настройка сети NAT

В версии Virtualbox, начиная с 4.

3 была добавлена поддержка сетей NAT, это работает очень похоже на виртуальный адаптер хоста, все машины, подключенные к одной сети могут получить доступ друг к другу, а доступ в интернет выполняется через NAT, но основная система доступа к гостевым не имеет.

Чтобы настроить такое подключение нужно сначала создать сеть NAT. Для этого откройте “Файл” ->“Настройки”, “Сеть”. Здесь перейдите на вкладку “Сети NAT”. Дальше нажмите кнопку с зеленым плюсом, чтобы создать новую сеть:

Нажмите “Ok” и закройте это окно. Дальше откройте настройки для виртуальной машины, перейдите на вкладку “Сеть” ->“Адаптер 1”:

Выберите “Тип подключения”“Сеть NAT”, а “Имя” – только что созданную сеть.

Теперь все машины, подключенные к этой сети, будут доступны друг другу, как в VMWare.

3. Настройка адаптера виртуального хоста

Теперь задача немного интереснее – нам нужна локальная сеть virtualbox между несколькими виртуальными машинами и хостом. Для того чтобы все это заработало в Linux, нам нужно чтобы были загружены модули ядра vboxnetadp и vboxnetflt:

lsmod | grep vbox

Возможно, для их правильной работы вам придется установить пакет net-tools. Дальше нужно создать сам виртуальный адаптер. Для этого откройте меню “Файл”, затем “Настройки” ->“Сеть”.

 Затем нажмите кнопку с зеленым значком плюс, а затем “Ok”, все параметры можно оставить по умолчанию. В VirtualBox 5.2 и выше интерфейс был изменен.

Теперь вам нужно открыть меню “Инструменты” ->“Менеджер сетей хоста”:

Нажмите кнопку “Создать”, затем, в появившемся адаптере, напротив пункта DHCP установите галочку “Включен”.

Теперь вернитесь к списку виртуальных машин, зайдите в настройки машины, “Сеть”:

Выберите “Тип подключения”“Виртуальный адаптер хоста”, а имя vboxnet0, тот, который вы создали раньше.

Для всех машин, которые вы хотите объединить в одну сеть нужно выбирать один и тот же адаптер хоста. Если вы захотите добавить машинам также доступ в интернет, просто перейдите на вкладку “Адаптер 2”, включите его и настройте NAT, как описано в первом пункте.

4. Настройка сетевого моста VirtualBox

Режим сетевого моста позволяет виртуальной машине выступать в роли реального сетевого устройства с отдельным ip адресом. Чтобы это настроить откройте это же меню – настойки виртуальной машины, затем “Сеть”. Здесь выберите “Тип подключения”“Сетевой мост”:

В поле “Имя” вам необходимо выбрать сетевой интерфейс, который будет использоваться для связи с внешним миром. Минус такого способа в том, что внешние компьютеры смогут получить доступ к виртуальной машине, а это не очень хорошо с точки зрения безопасности.

5. Внутренняя сеть VirtualBox

Режим внутренняя сеть Virtualbox похож на “Виртуальный адаптер хоста”, за тем лишь исключением, что из хостовой системы доступа к гостевым не будет, и настроить все немного проще.

Достаточно выбрать “Тип подключения” “внутренняя сеть”, а затем просто выбрать нужную сеть в поле “Имя”, или создать новую, просто изменив имя текущей.

Как видите, существует тип подключения NAT – где только интернет, Мост – где машина становится членом внешней сети, а все остальные – это настройка виртуальной сети virtualbox, где машины могут видеть друг друга.

Выводы

В этой небольшой статье мы рассмотрели как выполняется настройка сети VirtualBox, как видите, это не так уж сложно, как может показаться на первый взгляд, несмотря на операционную систему, которую вы используете. В большинстве случаев достаточно сети NAT, но иногда может понадобиться виртуальный адаптер хоста, все же остальные режимы используются намного реже.

(7 5,00 из 5)
Загрузка…

Источник: https://losst.ru/nastrojka-seti-virtualbox

Как удалённо подключиться к виртуальной машине по RDP и SSH

Доступ к виртуальной машине

Как подключиться к виртуальной машине в VMware vCloud Director? Сначала нужно настроить доступ к ней через механизм NAT. Он преобразовывает скрытые локальные IP-адреса сети во внешние.

Настройка доступа к виртуальной машине зависит от того, какую операционную систему вы на неё установили:

  • для операционных систем Windows нужно настроить доступ по RDP;
  • для ОС Linux нужен доступ по SSH.

Настройка доступа к виртуальной машине по RDP

Для настройки доступа по RDP (Remote Desktop Protocol) нужно открыть порт 3389 через NAT.

  1. 1. Войдите в панель управления виртуальным дата-центром vCloud Director по инструкции.
  2. 2.

    В разделе Datacenters выберите нужный виртуальный дата-центр и кликните на него.

  3. 3.

    Во вкладке Edges выберите нужный Edge и кликните на него. После этого нажмите Configure Services, чтобы приступить к настройке.

  4. 4.

    В появившемся окне Edge Gateway добавьте DNAT-правило. Нажмите на + DNAT Rule.

  5. 5.

    В появившемся окне введите данные для настройки доступа:

    • Applied On — выберите внешнюю сеть.
    • Original IP/Range — внешний IP-адрес или диапазон IP-адресов.

    Как найти внешний IP-адрес?

    Во вкладке Edges выберите нужный Edge. Внизу появятся настройки шлюза Edge Gateway. Выберите любой адрес из диапазона Sub-allocated IP Pool.

    • Protocol — выберите протокол TCP.
    • Original Port — выберите порт TCP 3389.
    • Translated IP/Range — внутренний IP-адрес или диапазон адресов виртуальных машин. Например, 192.168.100.0.
    • Translated Port — выберите порт TCP 3389.

    После ввода настроек нажмите Keep.

  6. 6.

    Добавленное правило появится в списке NAT44 Rules.

Готово, доступ к виртуальной машине по RDP настроен.

Удалённое подключение к виртуальной машине с ОС Windows

Как удалённо подключиться к виртуальной машине с операционной системой Windows:

  1. 1.

    Подключитесь к ВМ. По RDP загрузка виртуальной машины осуществляется через консоль по инструкции. Введите логин и создайте пароль администратора.

    Виртуальная машина должна быть включена (статус Powered On).

  2. 2. Откройте удалённый рабочий стол виртуальной машины. Для этого запустите терминал Windows «Подключение к удаленному рабочему столу». Введите внешний IP-адрес из диапазона Sub-allocated IP Pool. Для входа используйте логин и пароль администратора.

Готово, вы настроили удалённый доступ к виртуальной машине с ОС Windows.

Настройка доступа к виртуальной машине по SSH

Для настройки доступа по SSH (Secure Shell) нужно открыть порт 22 через NAT.

  1. 1. Войдите в панель управления виртуальным дата-центром vCloud Director по инструкции.
  2. 2.

    В разделе Datacenters выберите нужный виртуальный дата-центр и кликните на него.

  3. 3.

    Во вкладке Edges выберите нужный Edge и кликните на него. После этого нажмите Configure Services, чтобы приступить к настройке.

  4. 4.

    В появившемся окне Edge Gateway добавьте DNAT-правило. Нажмите на + DNAT Rule.

  5. 5.

    В появившемся окне введите данные для настройки доступа:

    • Applied On — выберите внешнюю сеть.
    • Original IP/Range — внешний IP-адрес или диапазон IP-адресов.

    Как найти внешний IP-адрес

    Во вкладке Edges выберите нужный Edge. Внизу появятся настройки шлюза Edge Gateway. Выберите любой адрес из диапазона Sub-allocated IP Pool.

    • Protocol — выберите протокол TCP.
    • Original Port — выберите порт TCP 22.
    • Translated IP/Range — внутренний IP-адрес или диапазон адресов виртуальных машин. Например, 192.168.100.0.
    • Translated Port — выберите порт TCP 22.

    После ввода настроек нажмите Keep.

  6. 6.

    Добавленное правило появится в списке NAT44 Rules.

Готово, доступ к виртуальной машине по SSH настроен.

Удалённое подключение к виртуальной машине с ОС Linux

В VMware удалённое подключение к виртуальной машине с операционной системой Linux можно настроить так:

  1. 1.

    По умолчанию для подключения используется логин root. Пароль генерируется, когда вы первый раз запускаете виртуальную машину. Пароль отображается в свойствах виртуальной машины.

  2. 2.

    Подключитесь к ВМ по SSH по инструкции, используя логин root и пароль.

    Виртуальная машина должна быть включена (статус Powered On).

Готово, вы удалённо подключились к виртуальной машине с ОС Linux.

Виртуальный дата-центр VMware

Гибкое решение для создания собственного виртуального дата-центра.

Подробнее Помогла ли вам статья?

Источник: https://www.REG.ru/support/vydelennyye-servery-i-dts/virtualnyj-datatsentr-vmware/sozdanie-i-nastrojka-virtualnyh-mashin/kak-udalenno-podkljuchitsja-k-virtualnoj-mashine-po-rdp-i-ssh

Как настроить сеть с виртуальными машинами VirtualBox

Доступ к виртуальной машине

Со временем, когда “виртуальный парк” разрастается довольно значительно, возникает необходимость объединять несколько машин в сегменты локальных сетей по определённому признаку. Причём, как мы разберём ниже, делать это можно весьма гибко.

Для начала определим терминологию, чтобы не путаться.

Принятые термины

  1. Хостовая машина, HOST – наш сервер или десктопная машина, “реальная”, на которой и работает гипервизор с виртуальными машинами.
  2. Гостевая машина, VM – собственно, сама виртуальная машина, которых, к слову, может быть несколько.

    Создавал как-то конфигурацию с одновременно работающими 6-ю гостевыми машинами. Ну вот нужно было )

  3. Мост, Bridge – механизм объединения двух сетевых интерфейсов. Условно, как патчкорд, соединяющий два порта. Может быть программным.

  4. NAT – механизм трансляции сетевых адресов, когда на хосте работает специальная служба, которая занимается самой трансляцией – отображением виртуального (частного) адреса или группы адресов в один реальный и обратно.

  5. Сегмент – некое подобие VLAN, чисто на программном уровне, объединение различных виртуальных интерфейсов в один домен коллизий.

Мост

Используется в случаях, когда нужно организовать сопоставление физического интерфейса хостовой машины и виртуального интерфейса гостевой машины. Хостовая машина при этом будет выступать как бы коммутатором. Можно назначить IP-адрес на виртуальную машину из той же сети, что и хостовая.

NAT

Используется в случаях, когда нужно отобразить целую подсеть из частного диапазона (RFC 1918) на IP-адрес хостовой машины. При этом на хостовой – работает служба от гипервизора, которая занимается трансляцией адресов. Хостовая машина при этом выступает как бы в роли маршрутизатора.

Виртуальная сеть

Используется в случаях, когда нужно разграничить сегменты, в которых находятся гостевые машины между собой. Что-то типа именованных VLAN-ов. Сетевое соединение не будет иметь выход на реальную машины, но это не всегда и нужно. Удобство в том, что эти VLAN-ы можно именовать, что позволяет упростить последующую настройку и отладку. Хостовая машина при этом не участвует.

Виртуальный адаптер хоста

И ещё один тип сетевого подключения – в хостовой машине создаётся виртуальный сетевой интерфейс (а то и несколько) и на него бриджуется сетевое соединение гостевой системы. Отличие от моста, что используется не физический интерфейс, а виртуальный, дополнительный.

Рассмотрим несколько типовых сценариев:

Типовые сценарии

Сейчас распишу типовые сценарии. Самое главное, что тут нужно запомнить – эти сценарии можно комбинировать между собой, т.к. у виртуальной машины в VirtualBox имеется возможность использования 4-х виртуальных сетевых адаптеров, которые могут иметь различные настройки.

1. Выход VM в сеть Интернет

Типовой сценарий, на нашу хостовую машину подаётся Интернет (любым способом, пусть кабель или WiFi), на хосте запущена гостевая VM и нужно на гостевую подать Интернет. Здесь возможно несколько вариантов.

Если у нас “выше по течению” есть маршрутизатор с DHCP – можно сделать сетевое подключение типа “Сетевой мост” и связать его с нашим реальным сетевым интерфейсом (на скрине это Realtek PCIe GBE). В этом случае наша виртуальная машина запросит по DHCP адрес и получит его с роутера.

Адрес в той же самой подсети, что и хостовая машина, со всеми вытекающими плюсами.

Альтернативным способом можно сделать выход через NAT.

Заходим в настройки VirtualBox и идём в раздел “Сеть”:

Добавляем новую сеть NAT, даём ей имя (я обычно указываю подсеть, чтобы не запутаться, если их будет несколько).

В настройках можно включить DHCP или настроить проброс портов:

Теперь в настройках виртуальной машины можно выбрать тип подключения “Сеть NAT” и в выпадающем списке найти нашу сеть:

Т.к. у нас настроен DHCP, получим адрес автоматически и убедимся, что всё работает:

# dhclient eth0# ifconfig eth0 | grep inet

# ping -c 1 ya.ru

2. Соединение двух (и более) виртуальных машин

Вариантов масса, можно банально всем выставить мост с реальным интерфейсом и выделить каждой IP-адрес из той же сети.

Но можно пойти иным путём:

Выбрать тип подключения “Внутренняя сеть”, задать ему имя. И у всех остальных виртуалок выставить то же самое имя в выпадающем списке. Ну и на гостевые машины, соответственно, задать адреса из произвольной подсети.

3. Различные гостевые машины в разных сегментах

Источник: https://litl-admin.ru/virtualizaciya/kak-nastroit-set-s-virtualnymi-mashinami-virtualbox.html

Настройка локальной сети между компьютером и виртуальной машиной virtualbox

Доступ к виртуальной машине

Настройка локальной сети между компьютером и виртуальной машиной virtualbox является довольно легкой, просто нужно знать некоторые ньюансы, о которых я и расскажу в этой статье.

Первый шаг — настройка сети в virtualbox. Виртуальная машина должна быть выключена. Идем в «Настройки -> Сеть», выбираем неиспользуемый адаптер, включаем его и выбираем тип подключения — «виртуальный адаптер хоста»:

Далее загружаем виртуальную машину и проверяем сеть.

В windows сеть можно проверить командой «ipconfig»:

На ОС Linux из терминала сеть можно проверить так:

ifconfig

В ответ вы должны увидеть работающие сетевые интерфейсы:

По ip можно догадаться, какой интерфейс отвечает за организацию  локальной сети между компьютером и виртуальной машиной, по умолчанию (если вы сами не настраивали ip в virtualbox) такой ip должен выглядеть так: 192.168.56.* (вместо * обычно бывает 101 или 102 и т. д.).

Этот ip и нужно использовать для доступа к виртуальной машине.

По умолчанию ip выдается dhcp сервером virtualbox. Для удобства можно задать статический ip адрес в самой виртуальной машине. Например в windows это делается редактированием свойств сети. В интерфейсе linux все аналогично, а вот как это сделать в терминале, без графической оболочки, будет показано ниже, на примере добавления нового сетевого интерфейса в ubuntu server.

В linux бывает, что интерфейс локальной сети между компьютером и виртуальной машиной по умолчанию не задействован, и как следствие, отсутствует локальная сеть. В этом случае необходимо поднять интерфейс локальной сети между компьютером и виртуальной машиной вручную. Далее будет описан процесс задействования сетевого интерфейса в ubuntu server.

Сначала нужно найти название сетевого интерфейса, который нам нужен. В терминале набираем:

ip a

В результате вы получите список всех сетевых интерфейсов.

Находим нужный интерфейс, он чаще всего последний. Возможно скорее всего это либо eth1 (для ubuntu server 14.04), либо enp0s8 (для ubuntu server 16.04), все зависит от количества подключенных сетевых адаптеров к виртуальной машине.

Далее редактируем файл /etc/network/interfaces

nano /etc/network/interfaces

Файл /etc/network/interfaces для ubuntu server 14.04:

# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp

В конец файла добавляем строку (для ip, задаваемого динамически):

auto eth1 iface eth1 inet dhcp

Для статического ip:

auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0

Вместо eth1 может быть другое название интерфейса, в зависимости от вашей конфигурации.

После этого нужно перезагрузить виртуальную машину и снова набрать команду:

ifconfig

В списке должен появиться интерфейс eth1, или тот, который прописали вы.

Настройка файла /etc/network/interfaces для ubuntu server 16.04:

# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet dhcp

Здесь интерфейс называется enp0s3 вместо eth0. Согласно данным, полученным командой «ip a», в моем случае в конец файла нужно добавить:

auto enp0s8 iface enp0s8 inet dhcpПосле внесения изменений так же необходимо перезапустить виртуальную машину, либо можно перезапустить только службу networking:
sudo service networking restart

На ubuntu server 14.04 у меня она не всегда перезапускается, просто продолжает работать, с ubuntu 16.04 в этом плане все впорядке, но для полной уверенности я считаю что лучше все таки перезапустить виртуальную машину.

После перезапуска машины и набора в терминале команды ifconfig в полученном списке сетевых интерфейсов должен появится интерфейс enp0s8.

Что делать, если сетевой интерфейс так и не заработал?

Тут два основных варианта: либо вы указали неправильный интерфейс в файле /etc/network/interfaces — в таком случае еще раз внимательно посмотрите список всех доступных сетевых интерфейсов командой «ip a» и выберите нужный.

Либо виртуальная ОС вообще не видит сетевой адаптер. В этом случае скорее всего в ОС нет подходящих драйверов для этого адаптера.

Эту проблему можно решить сменой типа адаптера, например на «паравиртуальная сеть (virtio-net)»:

Можете поэксперементировать с типом адаптера для достижения нужного результата.

ssh-доступ к виртуальной машине в virtualbox

После успешной настройки локальной сети между компьютером и виртуальной машиной можно к ней подключиться, например по ssh. Для этого набираем ip адрес, про который я писал вначале статьи, в ssh клиенте и радуемся успешному подключению)

Источник: https://webistore.ru/administrirovaniye-unix/nastrojka-lokalnoj-seti-mezhdu-kompyuterom-i-virtualnoj-mashinoj-virtualbox/

Опыт использования виртуализации на VirtualBox

Доступ к виртуальной машине
Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.

Причины, по которым я тогда выбрал VirtualBox

Причины представлены ниже:

  • Простота использования
  • Отличное руководство, подробно описывающее все аспекты работы VirtualBox
  • Наличие отличных графического, консольного и web-интерфейса
  • Возможность предоставления доступа к консоли гостевой ОС про протоколу RDP
  • Удобство использования

Полное руководство пользователя VirtualBox доступно на сайте производителя.

Причины, по которым я не выбрал бы его сейчас

  • Отсутствие хороших web-морд.

    Имеющийся web-интерфейс, несмотря на то, что он позволяет совершать с виртуальными машинами большинство требуемых действий (создание, снимки, удаление, создание виртуальных сетей), и реализован очень качественно, обладает следующими ограничениями:

    • Не позволяет назначать права на виртуальные машины (предоставления доступа разработчиками по списку только к своим машинам)
    • Не позволяет управлять несколькими физическими серверами из одной панели управления
    • Не отображает статистику по загрузке сервера
    • Пишется сторонними разработчиками, не имеющими отношения к VirtualBox, в их свободное время, из-за чего вызывает опасение возможность прекращения его развития
  • Более медленная работа при большом количестве запущенных виртуальных машин по сравнению с KVM.
  • Оговорка в лицензии

Подготовка ОС для работы с виртуальными машинами

VirtualBox можно установить практически на любую ОС, однако стабильная работа и все его возможности (например, RDP-подключение к консоли гостевой системы) доступны только на Линуксе, поэтому был выбран Debian Linux.

Для самого VirtualBox специальной настройки ОС не требуется, достаточно выделить отдельный раздел для хранения образов дисков гостевых систем и образов установочных дисков для чистой установки гостевых систем. Однако для управления VirtualBox через Веб-интерфейс (phpvirtualbox) требуется веб-сервер (выбран Apache 2) и PHP 5.

В Debian конфигурация по умолчанию PHP 5 и Apache 2 удовлетворяет требованиям phpvirtualbox, специальным образом настраивать ничего не нужно. Описание конфигурации сервера для виртуалок:

  • cервер имеет имя virtbox.site и адрес 10.0.0.7 (кстати, поищите почему не нужно использовать .

    local)

  • Раздел для хранения образов гостевых ос создан на отдельном жестком диске и примонтирован в /srv/vdi
  • Установлены пакеты Apache 2 и PHP 5: virtbox# apt-get install apache2 php5

Установка phpvirtualbox

Для Virtualbox существует бесплатный web-интерфейс, реализованный на PHP и использующий встроенную в virtualbox службу удаленного управления virtualbox web service. Устанавливаем phpvirtualbox:

1. На сайте разработчика смотрим последнюю версию и скачиваем ее на сервер:

virtbox# cd /var/www && wget phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip 2. Распаковываем:

virtbox# unzip phpvirtualbox-4.1-7.zip

3. Конфигурируем:

virtbox# cd phpvirtualbox-4.1-7.zip && cp config.php-example config.php && vim config.php

4. Прописываем адрес сервера, на котором работает VirtualBox, для удаленных подключений с помощью встроенного в VirtualBox RDP-plugin:

var $consoleHost = '10.0.0.7';

Внимание! Для успешных подключений на сервере должны быть открыты входящие порты, по умолчанию начиная с 3389 (TCP), по одному порту на гостевую систему. 5. Настраиваем virtualbox web service, для чего создаем файл /etc/vbox/vbox.cfg со следующим содержанием:

VBOXWEB_USER='vbox' VBOXWEB_HOST=127.0.0.1

VBOXWEB_LOGFILE=/srv/log/vboxwebservice

6. Запускаем virtualbox web service, перед этим нужно убедиться в том, что файл /srv/log/vboxwebservice доступен для чтения и записи пользователю vbox:

/etc/init.d/vboxweb-service start.

phpvirtualbox теперь доступен по адресу virtbox.site/phpvirtualbox.

Создание виртуальных машин

Создание виртуальных машины через web-интерфейс достаточно очевидно, нужно нажать в phpvirtualbox кнопку New и следовать инструкциям мастера. Ниже приводится выработанный опытным путем список настроек гостевых систем, достаточный для нормальной работы гостевых Linux и FreeBSD.

  1. System
    1. Base Memory: 512 MB
    2. Processor(s): 1
    3. Enable PAE/NX: NO — эмуляция поддержки работы с более чем 4 ГБ памяти для 32-битных систем как правило не нужна
    4. Chipset: PIIX3 — в руководстве ничего не сказано про зависимость быстродействия от типа эмулируемого чипсета, поэтому выбираем по умолчанию
    5. Extended features
      1. Enable IO APIC — без включенной эмуляции APIC некоторые клонированные сервера работать не будут
      2. Hardware clock in UTC time — как правило гостевые системы ожидают системное время в формате UTC, и эта опция отвечает за передачу гостевой ОС времени в UTC, а не в Local time сервера.
      3. Display: 2 MB — минимально возможное значение, при установке этого значения в 1 MB rdp-подключения работать не будут. При создании новых машин можно оставить значение по умолчанию, предлагаемое phpvirtualbox.
      4. Storage: где нужно создать образ диска
  2. Network
    1. Debian: Virtio — Debian с помощью гостевых расширений умеет понимать, что она работает в виртуальной машине, и использовать виртуальную сетевую карту, что дает очень большой выигрыш в производительности
    2. FreeBSD: Intep PRO/1000 MT Server network card — для FreeBSD гостевого драйвера сетевой карты нет, поэтому выбираем эмуляцию самой быстрой карты из доступных. Во FreeBSD устройство называется em0.
  3. Serial ports: Disabled
  4. USB: Disabled
  5. Shared Folders: None — возможность VirtualBox предоставлять доступ гостевой системе к файлам хост-системы как правило не нужна, проще воспользоваться scp или sftp

Для создания виртуальных машин через консоль следуют воспользоваться руководством, раздел 8.6.

Управление через веб-интерфейс

Управление виртуальными машинами через web-интерфейс тривиально, достаточно выделить нужную машину в phpvirtualbox и выбрать в интерфейсе требуемое действие, например Start, Stop (безусловное выключение, отправка сигнала о нажатии кнопки выключения питания, перезагрузка, сохранение состояние гостевой системы с возможностью впоследствии откатить ее состояние и приостановка работы гостевой системы с сохранением ее памяти на диск и возможностью впоследствии загрузки памяти с диска и продолжения работы). По щелчку на гостевой системе правой кнопкой машины доступны операции ее настроек, удаления, просмотра логов и т.д. Также стоит отметить возможность подключения к консоли гостевой системы, что аналогично подключению к реальной машине мыши и клавиатуры. Для этого нужно выделить нужную гостевую систему, выбрать вкладку Console в phpvirtualbox, задать размер экрана (для текстовых режимов работы гостевых ОС достаточно 800х600), нажать Connect и щелкнуть мышью по клиенту удаленного подключения (в котором выводится содержимое консоли гостевой системы). Управлять гостевой системой можно с момента включения.

Управление через консоль

Для управления гостевыми система в VirtualBox используются утилиты VBoxManage и VBoxHeadless, подробное описание которых доступно в руководстве.

Запускать команды нужно от пользователя vbox, под которым работает сам VrtualBox, в случае запуска от другого пользователя или root VirtualBox не сможет найти файлы конфигурации виртуальных машин, которые хранятся в домашней директории пользователя Vbox, и выдаст ошибку. Для перехода под пользователя vbox нужно сказать:

su -s /bin/bash vbox

Оболочку нужно указывать явно, потому что по умолчанию у пользователя vbox стоит оболочка /bin/false. Ниже для примера приведены команды для включения, выключения и работы с образами дисков. 1. Запуск группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):

for M in test1 test2 test3 ; do VBoxManage startvm $M –type=headless ; sleep 30 ; done

Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска. 2. Выключение группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):

for M in test1 test2 test3 ; do VBoxManage controlvm $M acpipowerbutton ; sleep 30 ; done

Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться. 3. Создание диска фиксированного размера для гостевой системы:

VBoxManage createhd –variant Fixed –size 20000 –format vdi –filename test

4. Преобразование образа диска из формата VirtualBox в формат, понятный другим виртуальным машинам:

VBoxManage internalcommands converttoraw test1.vdi test1.raw

Подключение через RDP

К консоли виртуальных машин можно подключиться через RDP. В Windows нужно открыть Пуск->Все программы->Стандартные->Подключение к удаленному рабочему столу и указать адрес virtbox.test и порт, сопоставленный конкретной гостевой системе, который можно посмотреть в phpvirtualbox.

Для удобства использования в параметрах подключения можно указать разрешение экрана 1024х768, тогда окно с подключением не будет занимать весь экран и перехватывать системные сочетания клавиш, такие как Alt+Tab.

Важное замечание: возможно одновременное подключение к одной гостевой системе нескольких пользователей. При этом все видят одно и то же, и все совершенные кем-либо действия видны остальным подключившимся.

Для включения этой настройки нужно в настройках виртуальной машины в phpvirtualbox в разделе Display на вкладке Remote Display установить галочку Allow Multiple Connections.

Создание снимков гостевых систем

Снимки дают возможность сохранения состояния гостевых систем и возврата к этому состоянию по требованию.

Что это означает на практике?

  • Можно попробовать различные запросы к базе данных на гостевой системе с возможностью после каждого запроса восстанавливать начальное системы
  • Можно попробовать различные конфигурации взаимодействия сервисов на гостевой системе без необходимости вручную откатывать изменения во многих конфигурационных файлах в случае получения нерабочей системы
  • И наконец это иногда удобный инструмент создания резервных копий, который позволяет сделать полный снимок рабочей машины и восстановить ее полностью за минимальное количество административных действий. Внимание! Не делайте этого с продукционными машинами.

При создании снимка гостевой системы занимаемое ею место на диске фактически не увеличивается, дополнительный объем будут занимать только измененные по сравнению с уже существовавшим образом диска гостевой машины данные. Например, если будет изменен файл /etc/rc.conf, измененная копия будет записана отдельно.

Для создания снимка через phpvirtualbox нужно:

  • Выделить гостевую систему, с которой нужно сделать снимок
  • Перейти на вкладку «Snapshots»
  • Нажать кнопку «Take Snapshot» (с изображением фотоаппарата)

Источник: https://habr.com/ru/post/142963/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.