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



Автор: Robin Catling
Дата публикации: май 2012 г.
Перевод: Семененко В.
Дата перевода: 5 октября 2012 г.

Все началось с того, что однажды мне потребовалось запустить экземпляр CMS Wordpress в песочнице. Начало было простым. Достаточно было создать виртуальный сервер Ubuntu 11.10 в качестве гостевой операционной системы на VirtualBox. Но затем я обнаружил, что я знаю гораздо меньше о сетях и их настройке, чем я думал до этого. В частности, о пакетах, коммутаторах и маршрутизаторах. Еще меньше я знал о настройке сетей в VirtualBox, где все аппаратное обеспечение представлено в программном виде. Несколько попыток и неудачных настроек сети, достигнутая цель - и как результат, представляю вам эту статью. Целью ее является сберечь ваши нервы на основе моих собственных проб и ошибок.

Сетевые настройки VirtualBox

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

После установки программы перейдите в меню "Настройки - Сеть". Вид открываемой вкладки соответствует настройкам по умолчанию. Любая из виртуальных машин может быть настроена на использование четырех сетевых адаптеров - в зависимости от того, какой вам необходим в конкретном случае. Но чаще всего на практике требуется только один из них. Как правило, при установке виртуальной машины, по умолчанию создается простой сетевой адаптер. Этого достаточно для выхода в Интернет.

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

Для моего web-сервера с запущенным на нем CMS Wordpress дела обстоят несколько сложнее, поэтому идем дальше... Вкладка "Тип адаптера" отвечает за настройку виртуального аппаратного обеспечения. VirtualBox прекрасно справляется с ролью связующего звена между программной сетевой платой и тем физическим интерфейсом, который установлен на реальной машине (хосте). Откройте ссылку "Дополнительно" и вам будут доступны расширенные возможности сетевого адаптера. В этой статье я детально опишу все настройки в порядке их следования, начиная с установки типа адаптера.

Тип адаптера (Adapter Type)

Виртуальная машина VirtualBox имеет встроенную программную эмуляцию большинства наиболее распространенных типов сетевых карт, под которые созданы драйвера и протоколы. Карта PCnet-FAST III является выбором по умолчанию, однако в своей практике я часто выбираю Intel PRO/1000MT. Я поступаю так, если мне необходима наилучшая совместимость с "железом" от Intel, которое установлено на моем компьютере. Если у вас возникнут проблемы в настройке сетевого соединения, можно попробовать изменить тип адаптера, выбрав другой. Для наиболее древнего оборудования подойдет сетевая карта PCnet-FAST II.

Режим (Mode)

Довольно странно звучащий "Неразборчивый режим" (Promiscuous Mode) обычно применяется для работы VM в качестве виртуального маршрутизатора в локальных сетях; как сетевой мост или же хост. В этом режиме порт виртуальной машины способен принимать любые пакеты, отправляемые для других операционных систем; и даже для хоста. То есть, принимаются сетевые пакеты, предназначенные не только для этого адаптера, но и для других сетевых устройств. В 99% случаев обычным пользователям "Неразборчивый режим" не нужен. Он используется сетевыми администраторами для диагностики проблем, возникающих в сети.

MAC адрес (MAC Address)

MAC-адрес (MAC - аббревиатура от Media Access Control) является уникальным "именем" устройства в сети, однозначно идентифицирующим и отличающим его от остальных адаптеров и узлов. Этот адрес прописывается для каждого сетевого устройства на физическом уровне в памяти самого интерфейса. При создании виртуального сетевого адаптера VirtualBox автоматически генерирует для него MAC-адрес.
Если необходимо изменить уже имеющийся MAC-адрес, то для этого служит небольшая кнопка справа, которая генерирует новое значение. В случае клонирования существующей виртуальной машины, для нее необходимо создать свой собственный уникальный MAC-адрес, который будет отличаться от адреса оригинальной машины.

Галочка напротив надписи "Кабель подключен" выполняет ту же роль, что и подключение или отключение физического кабеля в реальности. Эта настройка отвечает за подключение виртуального сетевого адаптера к сети. Не стоит путать ее с другой более важной настройкой "Включить сетевой адаптер", которая включает или выключает сам адаптер на виртуальной машине.

Кнопка "Проброс портов" открывает диалоговое окно, в котором производится настройка правил поведения трафика на конкретном адаптере; каким образом будет перемещаться трафик определенного типа между хостом и гостевой виртуальной машиной. Эти правила применяются к сетевым моделям, которые будут рассмотрены немного позже. Сами сетевые модели определяются на вкладке "Тип подключения". Эта настройка является наиболее сложным моментом в установке соединений в VirtualBox. Она доставила мне наибольшие проблемы в экспериментах.

"Подводные камни"

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

Типы подключения к сети

В VirtualBox имеются четыре готовые модели для подключения к сети:

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

Трансляция сетевых адресов (NAT)

Протокол NAT позволяет гостевой операционной системе выходить в Интернет, используя при этом частный IP, который не доступен со стороны внешней сети или же для всех машин локальной физической сети. Такая сетевая настройка позволяет посещать web-страницы, скачивать файлы, просматривать электронную почту. И все это, используя гостевую операционную систему. Однако извне невозможно напрямую соединиться с такой системой, если она использует NAT.

Принцип трансляции сетевых адресов заключается в следующем. Когда гостевая ОС отправляет пакеты на конкретный адрес удаленной машины в сети, сервис NAT, работающий под VirtualBox, перехватывает эти пакеты, извлекает из них сегменты, содержащие в себе адрес пункта отправки (IP-адрес гостевой операционной системы) и производит их замену на IP-адрес машины-хоста. Затем заново упаковывает их и отправляет по указанному адресу.

Например, в вашей домашней локальной сети хост и другие физические сетевые устройства имеют адреса в диапазоне, начинающемся с 192.168.х.х. В VirtualBox адаптеры, работающие по протоколу NAT, имеют IP-адреса в диапазоне, начинающемся с 10.0.2.1 и заканчивающемся 10.0.2.24. Такой диапазон называется под-сетью. Как правило, этот диапазон не используется для присвоения адресов устройствам в основной сети, поэтому такая система недоступна извне, со стороны хоста. Гостевая ОС может выполнять обновление программного обеспечения и web-серфинг, но остается невидимой для остальных "участников".

В руководстве VirtualBox этот момент описан более подробно:

"В режиме NAT гостевому сетевому интерфейсу присваивается по умолчанию IPv4 адрес из диапазона 10.0.х.0/24, где х обозначает конкретный адрес NAT-интерфейса, определяемый по формуле +2. Таким образом, х будет равен 2, если имеется только один активный NAT-интерфейс. В этом случае, гостевая операционная система получает IP-адрес 10.0.2.15, сетевому шлюзу назначается адрес 10.0.2.2, серверу имен (DNS) назначается адрес 10.0.2.3." (Oracle Corporation, 2012, Глава 9).

Протокол NAT полезен в том случае, когда нет разницы в том, какие IP-адреса будут использовать гостевые ОС на виртуальной машине, поскольку все они будут уникальными. Однако, если потребуется настроить перенаправление сетевого трафика, или же расширить функциональность гостевой ОС, развернув на ней web-сервер (к примеру), то необходимы дополнительные настройки. В режиме NAT также недоступны такие возможности, как предоставление общего доступа к папкам и файлам.

Сетевой мост (Bridged)

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

Адаптер в режиме "Сетевой мост" подключается, минуя хост, к устройству, которое распределяет IP-адреса внутри локальной сети для всех физических сетевых карт. VirtualBox соединяется с одной из установленных сетевых карт и передает пакеты через нее напрямую; получается работа моста, по которому передаются данные. Как правило, адаптер в модели "Сетевой мост" получает стандартный адрес из диапазона 192.168.х.х от роутера. Поэтому виртуальная машина в сети выглядит так, как будто это обычное физическое устройство, неотличимое от остальных.

На хосте могут быть активными одновременно несколько сетевых устройств; например, на моем ноутбуке имеется проводное подключение (называемое eth0) и беспроводное подключение (называемое wlan0). Поле "Имя" позволяет выбрать, какой из сетевых интерфейсов вы бы хотели использовать в качестве моста на VirtualBox.

В моем случае, я использую беспроводной адаптер wlan0 , так как он подключен к маршрутизатору. В то время как проводной интерфейс eth0 не имеет даже кабеля.

Поэтому моему хосту назначен роутером IP-адрес 192.168.0.2. Виртуальной машине в режиме "Сетевой мост" присвоен адрес 192.168.2.6. При этом не имеет значения тот факт, что VirtualBox передает и получает трафик как бы "сквозь" хост, минуя его. В результате получается, что виртуальная машина становится просто еще одним компьютером в локальной сети. Если я пересчитаю свой компьютер и три виртуальные машины (VM), работающие в режиме "Сетевой мост", то у меня получиться четыре компьютера в физической локальной сети.

Дальше - больше...

Протокол NAT полезен, потому что он защищает гостевые операционные системы со стороны Интернет. Но для того, чтобы получить доступ к ним извне (а на некоторых ОС у меня имеются установленные web-сервера), потребуется дополнительная настройка для перенаправления трафика. Тип подключения "Сетевой мост" позволяет получить доступ к ним, но системы в этом случае становятся незащищенными.

Если ваше сетевое устройство доступа (это может быть маршрутизатор, сетевой коммутатор или же настройки, предоставленные Интернет-провайдером) позволяет предоставлять только один IP-адрес для сетевого интерфейса, возможно, вам не удастся настроить "Сетевой мост".

Виртуальный адаптер хоста (Host-only)

При подключении типа "Виртуальный адаптер хоста" гостевые ОС могут взаимодействовать между собой, а также с хостом. Но все это только внутри самой виртуальной машины VirtualBox. В этом режиме адаптер хоста использует свое собственное, специально для этого предназначенное устройство, которое называется vboxnet0 . Также им создается под-сеть и назначаются IP-адреса сетевым картам гостевых операционных систем. Гостевые ОС не могут взаимодействовать с устройствами, находящимися во внешней сети, так как они не подключены к ней через физический интерфейс. Режим "Виртуальный адаптер хоста" предоставляет ограниченный набор служб, полезных для создания частных сетей под VirtualBox для ее гостевых ОС.

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

Как правило, хост имеет свой собственный сетевой адрес, который используется для выхода в Интернет. Обычно это 192.168.0.101. В режиме "Виртуальный адаптер хоста" машина-хост также выступает в роли роутера VirtualBox и обладает IP-адресом по умолчанию 192.168.56.1. Создается внутренняя локальная сеть, обслуживающая все гостевые операционные системы, настроенные для режима "Виртуальный адаптер хоста" и видимые для остальной части физической сети. Адаптер vboxnet0 использует адреса из диапазона, начинающегося с 192.168.56.101. Но при желании можно изменить адрес по умолчанию.

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

В дополнение нужно сказать, что в режиме "Виртуальный адаптер хоста" созданная им сеть не имеет внешнего шлюза для выхода в Интернет, как для хоста, так и для гостевых операционных систем. Он работает только как обычный сетевой коммутатор, соединяя между собой хост и гостевые системы. Поэтому адаптер в режиме "Виртуальный адаптер хоста" не предоставляет гостевым машинам выход в Интернет; vboxnet0 по умолчанию не имеет шлюза. Дополнительные возможности для этого адаптера значительно упрощают настройку сети между хостом и гостевыми ОС, однако все же отсутствует внешний доступ или перенаправление портов. Поэтому может потребоваться второй адаптер в режиме "Виртуальный адаптер хоста" или "Сетевой мост", который подключается к гостевой операционной системе для получения полного доступа к ней.

Внутренняя сеть (Internal Network)

Если на практике вам потребуется настроить взаимосвязь между несколькими гостевыми операционными системами, работающими на одном хосте и могущими сообщаться только между собой, тогда можно воспользоваться режимом "Внутренняя сеть". Конечно, для этой цели можно использовать режим "Сетевой мост", но режим "Внутренняя сеть" обладает большей безопасностью. В режиме "Сетевой мост" все пакеты отправляются и получаются через адаптер физической сети, установленный на машине-хосте. В этом случае весь трафик может быть перехвачен (например, путем установки сниффера пакетов на машине-хосте).

Внутренняя сеть, согласно руководству VirtualBox, является "программной сетью, которая может быть видима для выборочно установленных виртуальных машин, но не для приложений, работающих на хосте или на удаленных машинах, расположенных извне". Такая сеть представляет из себя набор из хоста и нескольких виртуальных машин. Но ни одно из вышеперечисленных устройств не имеет выхода через физический сетевой адаптер - он полностью программный, используемый VirtualBox в качестве сетевого маршрутизатора. В целом получается частная локальная сеть только для гостевых операционных систем без доступа в Интернет, что делает ее максимально безопасной. Возможное применение такой сети - сверхсекретный сервер с клиентами, предназначенный для разработки; тестирование систем на проникновение или какие-либо другие цели, преследующие создание внутренней сети для команд-разработчиков или организаций. Это идеальный способ для блокировки окружения от неавторизованной установки программного обеспечения, скачивания или закачивания файлов, посещения сервисов типа Facebook в рабочее время.

Итак, мы рассмотрели различные типы сетевых соединений. Каждый из них имеет свои собственные настройки и предназначен для определенных целей. Вернемся к тому моменту, откуда все началось - создание виртуального сервера для развертывания на нем CMS Wordpress и его тестирования.

Доступ к гостевой операционной системе

Во-первых, мне нужен доступ в Интернет из гостевой системы для установки обновлений, скачивания пакетов и других подобных задач. Мне также необходим доступ к Сети с машины-хоста. Но мне не нужно, чтобы сервер был доступен из внешней сети.

Выбираю необходимую виртуальную машину из менеджера VirtualBox и затем перехожу в меню "Настройки - Сеть".

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

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

Самый простой способ - это использовать адаптер в режиме "Виртуальный адаптер хоста", предоставляемый VirtualBox по умолчанию. Он имеет имя vboxnet0 . Можно добавить столько адаптеров подобного типа, сколько нужно (если есть необходимость в настройке нескольких отдельных сетей типа "Виртуальный адаптер хоста"). Открыв основное окно менеджера гостевых операционных систем VirtualBox, и выбрав в меню "Настройки - Сеть", вы можете конфигурировать существующий адаптер vboxnet0 или создать еще несколько подобных (vboxnet1 , vboxnet2).

Щелкните мышью на кнопке "Редактировать" - иконка с изображением отвертки (третья по счету сверху вниз). Щелчок на этой иконке откроет настройки по умолчанию. В них адрес 192.168.56.1 является тем адресом, по которому гостевые системы получают доступ к хосту. Я оставил его "как есть", не меняя.

По умолчанию, адаптер vboxnet0 динамически получает IP адрес во время сессии подключения от DHCP-сервера. Для моего виртуального web-сервера Wordpress необходимо, чтобы он имел статический IP-адрес. Поэтому на вкладке "DHCP сервер" я убрал галочку с надписи "Включить сервер". Таким образом, DHCP-сервер у меня отключен.

Добавление виртуального адаптера хоста

Я собираюсь добавить еще один сетевой адаптер (в режиме "Виртуальный адаптер хоста") к гостевой машине, что позволит создать самодостаточную частную виртуальную сеть. Эта сеть будет состоять только из хоста и любой гостевой операционной машины, настроенной в режиме "Виртуальный адаптер хоста".

Поэтому в настройках гостевой системы я открываю вкладку "Адаптер 2" и устанавливаю значение "Тип подключения" в положение "Виртуальный адаптер хоста". По умолчанию, вновь созданному адаптеру присваивается имя vboxnet0 . "Неразборчивый режим" для меня не имеет значения, поэтому оставляю его в значении "Запретить". Надпись "Кабель подключен" я также оставляю активной.

Настройка гостевой системы

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

Ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up

Эти действия устанавливают указанный IP-адрес для адаптера, расположенного в гостевой системе и запускают этот сетевой интерфейс. В этом адресе используется сетевой префикс 192 для домашних сетей, затем следует.168 в качестве начального адреса хоста ID, .56 для установки диапазона адресов под-сети; и наконец, финальный идентификатор.1 (хост) для сети. Адаптер в режиме NAT имеет имя eth0 , поэтому логично предположить, что адаптер в режиме "Виртуальный адаптер хоста" имеет имя eth1 . Я могу использовать этот IP-адрес для тестирования гостевой системы из хоста через протокол SSH или браузер.

Однако, эти настройки являются временными. Если я произведу перезагрузку системы, все они бесследно пропадут. Для того, чтобы установить их постоянными, нужно добавить (используя учетную запись root) в файл /etc/network/interfaces следующие строки:

# The host-only network interface auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255

Теперь, при перезагрузке, этот сетевой интерфейс запустится автоматически. Для проверки - запустился ли он, я использую команду ifconfig , которую ввожу в терминале гостевой операционной системы.

Присвоение имен

Так как я не слишком "дружу" с числами и IP-адресами, то для себя я всегда использую имена для гостевых систем вместо присвоения им IP-адресов. Для этого я редактирую файл /etc/hosts на машине-хосте и добавляю туда ссылки. Таким образом, я могу просматривать запущенные гостевые системы по их именам.

В файл /etc/hosts я добавляю строку:

192.168.56.101 ocelotsvr

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

Альтернативный маршрут

Эксперты сетевых технологий могут заметить, что в моей конфигурации существует альтернативный маршрут для доступа к виртуальному серверу.

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

Используя панель настроек "Сетевой адаптер" в гостевой операционной системе, можно настроить проброс портов в виртуальной машине VirtualBox. Для этого переходим к настройкам адаптера NAT (кнопка внизу окна) для настройки перенаправления портов. При нажатии на нее откроется диалоговое окно, в котором настраиваются правила проброса для данного сетевого адаптера и гостевой системы.

Мне необходимо настроить два правила; одно для получения доступа к web-серверу Apache на гостевой системе, второе - для регулирования всего остального TCP-трафика (в большинстве это http-запросы).

Не мудрствуя лукаво, я назвал эти правила Apache и TCP, соответственно; оба используют TCP-протокол. Если говорить о привязке номеров портов, то порт 8888 на хосте перенаправляет трафик на гостевую систему для сервера Apache; порт 2222 на хосте перенаправляет трафик на порт 22, расположенный на гостевой операционной системе; такая настройка предоставляет мне доступ к гостевой системе для управления ее службами. Любой другой трафик будет отклонен виртуальной машиной, как не подпадающий под правила.

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

Пользователи ПК могут задействовать в своей работе разные типы операционных систем. Иногда очень нужно, находясь в одной ОС, воспользоваться функциями другой, а перезагрузка при этом нежелательна. Есть отличное решение — «виртуальные машины». В числе самых известных на мировом IT-рынке — VirtualBox. Каковы ее особенности? Как осуществляется необходимая для работы с VirtualBox настройка сети?

Что такое VirtualBox

VirtualBox — это, как мы отметили выше, «виртуальная машина». Иными словами, это программная среда, позволяющая загружать практически в полнофункциональном режиме ту или иную операционную систему в момент нахождения пользователя в интерфейсе другой ОС.

То есть, например, если у человека работает Windows, то он может, задействовав VirtualBox, запустить (а до этого - инсталлировать) на ПК Linux без перезагрузки. Практическая полезность данной функции может заключаться, к примеру, в том, что при работе с Windows-программами можно полноценно задействовать функции серверных ОС линейки Linux, которые в ряде случаев незаменимы. Возможна, к слову, и обратная процедура.

Полное название «виртуальной машины», о которой идет речь - Oracle VM VirtualBox, так как ее разработала известнейшая американская корпорация. Рассмотрим основные возможности решения от Oracle.

Особенности VirtualBox

Программа VirtualBox — отличная альтернатива таким решениям как, например, Wine, используемым в тех случаях, когда пользователю Linux нужно запустить программу для Windows. При этом задействование Wine не гарантирует успешного запуска ПО, ориентированного на Windows. В свою очередь, «виртуальная машина» позволяет загружать соответствующие интерфейсы ОС от Microsoft и использовать их практически с тем же функционалом, как при отдельной загрузке Windows.

Так, при решении задач по управлению подобные возможности крайне востребованы. Самое главное для полноценного задействования потенциала Windows или Linux посредством VirtualBox — настройка сети в соответствии с корректными алгоритмами.

Условия пользования

В числе главных достоинств VirtualBox — бесплатность. При этом данное решение выпускается фактически в единственной версии, а потому, освоив тонкости работы с ним, можно без проблем использовать его впоследствии, не опасаясь, что разработчик выпустит принципиально новые интерфейсы. Отметим, однако, что компания Oracle создала дополнительный пакет к «виртуальной машине» — Expension Pack, в структуру которого входят такие решения как, например RDP-сервер, с помощью которого можно подключаться к виртуальной машине удаленно посредством соответствующего типа протокола. Расширенный пакет для VirtualBox для личных целей — то есть при условии некоммерческого использования — поставляется энтузиастам полезных IT-решений бесплатно.

Возможности

Каковы наиболее примечательные возможности программы VirtualBox?

Прежде всего это виртуализация на платформах типа x86 — не нужна поддержка Intel VT, а также AMD-V.

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

VirtualBox — кроссплатформенное решение. Оно подходит для Windows, Linux, Mac OS.

Есть поддержка процессоров с несколькими ядрами, а также компьютеров, в которых установлено несколько соответствующих чипов.

Имеется Guest VM Additions, что позволяет оптимизировать коммуникации с ОС, на базе которых работает программа.

Производительность виртуальной машины, как считают многие IT-специалисты, — на самом высоком уровне.

В числе ключевых задач при подготовке работы с VirtualBox — настройка сети. Рассмотрим основные ее нюансы ее решения.

Установка виртуальной машины

Итак, нам предстоит настройка сети VirtualBox. Давайте изучим ключевые нюансы ее установки на компьютер пользователя, а также алгоритмы базовых этапов настройки данного ПО. Для начала необходимо скачать дистрибутив программы на сайте virtualbox.org и инсталлировать решение на ПК. Какие нюансы могут сопутствовать решению этой задачи? Например, следует подтвердить инсталляцию виртуального интерфейса, необходимого для работы сети. При этом фактическое подключение может быть временно дезактивировано.

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

Далее запускаем программу. В главном окне интерфейса будет отображаться перечень виртуальных машин, которые можно запускать на ПК. При самой первой загрузке программы он, скорее всего, будет пустым. Поэтому виртуальную машину пользователю нужно будет создавать самостоятельно. Для этого нажимаем соответствующую кнопку, после — выбираем тип виртуальной машины и ее имя. ОС, которую многие пользователи предпочитают ставить на VirtualBox, — Ubuntu. Настройка сети с ее помощью осуществляется в достаточной мере быстро, сопутствующие ей нюансы легко освоить.

После выбора типа виртуальной машины в настройках необходимо указать, какой объем ОЗУ сможет задействовать программа. Рекомендуемая величина — 1 Гб. После этого необходимо создать виртуальное дисковое пространство — делается это на винчестере компьютера. Для этого нужно указать в настройках, что будет использоваться такой тип файла, как VDI. Также следует отметить в программе, что диск будет динамическим. После указываем размер винчестера, например, 8 Гб (для запуска «виртуальной машины» не нужно слишком много дискового пространства).

Рассмотрим, как настраивать «виртуальную машину» от Oracle. Ее можно запускать в интерфейсе практически любых версий Windows, включая самую распространенную в мире — Windows 7.

Основные нюансы настройки VirtualBox в Windows 7

Установив программу, например, в Windows 7, нужно будет произвести настройку некоторых ее ключевых опций. В главном окне интерфейса VirtualBox следует нажать правой кнопкой мышки на созданной «виртуальной машине» и выбрать опцию «Свойства». Ключевой пункт, который нас интересует в соответствующем интерфейсе, — тип буфера между двумя системами: базовой и гостевой. Соответствующая опция находится в закладке «Общие». Лучше всего указать программе, что нужно использовать двунаправленный буфер.

Также полезно выбрать пункт меню «Файл», после — перейти в «Настройки». В разделе «Общие» выбираем список «Папка для машин». Отмечаем опцию «Другой» и указываем папку, где будут располагаться файлы виртуальной машины. В разделе «Ввод» можно настроить клавишу, с помощью которой ввод данных с клавиатуры и манипуляции посредством мышки перенаправляются в интерфейсы виртуальной машины. Также можно осуществить настройку дисплея — например, в части максимального

Запуск VirtualBox и установка второй ОС

После того как базовые настройки произведены, можно запускать «виртуальную машину». Для этого нужно выбрать ее название из списка в главном меню и нажать на кнопку «Старт». После этого откроется интерфейс, с помощью которого можно инсталлировать требуемую ОС. Ее дистрибутив, таким образом, должен быть наготове — например, в записанном на CD или DVD-диск виде. После того как ОС установлена, мы можем переходить к такому этапу, как непосредственная настройка виртуальной сети VirtualBox.

Настройка сети: ключевые опции

Необходимо выбрать тип виртуальной ОС и нажать кнопку «Настроить». После этого переходим во вкладку «Общие». Здесь нас интересует раздел «Сеть». Необходимо выбрать такой тип подключения, как мост. Он предполагает, что между сетевой картой ПК и виртуальной машиной будет сформирован канал, с помощью которого соответствующий ресурс текущей ОС можно будет использовать в другой операционной системе. Отметим, что в разделе «Общие папки» можно управлять соответствующими элементами для хранения файлов, которые появляются в процессе обмена между ПК и виртуальной машиной.

Настройка сети в «виртуальной» ОС Ubuntu

Как мы отметили в начале статьи, оптимальная виртуальная среда при использовании VirtualBox — Ubuntu. Настройка сети посредством задействования данной операционной системы может быть реализована в рамках следующего алгоритма. Для начала следует загрузить одну из версий ОС, наилучшим образом адаптированную с целью решения задачи, о которой идет речь. Нужно перейти на сайт releases.ubuntu.com, затем выбрать версию 14.04 LTS. После этого следует скачать ISO-образ операционки. Если пользователь обладает 64-разрядным ПК, то нужна будет соответствующего типа. Далее, используя интерфейс VirtualBox, необходимо запустить процесс инсталляции ОС (выше мы рассмотрели, как работает этот механизм). После установки «виртуальной» Ubuntu переходим к основным этапам такой процедуры, как настройка сети VirtualBox. Windows 7 также может быть использована для решения этой задачи.

Мы можем задействовать удаленный сценарий конфигурирования сервера с помощью протокола SSH — собственно, чтобы использовать эту возможность, мы и установили «виртуальную машину». В числе самых удобных инструментов для работы с SSH в Windows — программа PuTTY. Ее необходимо скачать на сайте putty.org. Но перед этим необходимо корректно инсталлировать Ubuntu — решению этой задачи сопутствуют некоторые нюансы. Рассмотрим их.

Особенности инсталляции ОС в виртуальной машине

В начале инсталляции Ubuntu система запросит желаемые языковые настройки. После их ввода начнется установка дополнительных компонентов. В процессе инсталляции ОС система может предпринять попытку конфигурации сети с DHCP, но это делать нужно, только если такого типа сервера есть в сети. Если их нет, то пользователю будет предложено выставить соответствующие настройки вручную. Но на текущем этапе инсталляции это делать необязательно — данный шаг можно пропустить.

В числе опций, которые важны для нас, — это имя компьютера. Оно может звучать примерно так: computer227.computer227network.com. Это, конечно, не адрес в интернете, а всего лишь необходимый сетевой идентификатор ПК. Далее необходимо настроить учетные записи пользователя. Нужно иметь в виду, что качестве никнейма не получится использовать слово admin — такова специфика ОС Ubuntu (оно зарезервировано в системе). Можно выбрать такой вариант, как userhost, например. Пароль — любой, который будет удобен владельцу ПК.

Следующий этап установки Ubuntu — настройка времени и часовых поясов. Желательно указать реальные.

После настройки жесткого диска запустится загрузка основных файлов. После ее окончания система предложит осуществить конфигурацию пакетов APT — но это важно, только если пользователь желает установить прокси-сервер. Условимся, что мы не будем использовать его в сети, поэтому данный этап настройки можно пропустить.

Далее система спросит, нужно ли устанавливать Многие IT-специалисты предпочитают не осуществлять данную процедуру, так как в этом случае можно полностью контролировать процессы, протекающие в ОС. Затем в окне интерфейса нужно отметить OpenSSH как тип используемого ПО.

В дальнейшем процессе инсталляции Ubuntu система спросит, следует ли устанавливать в соответствующую область диска загрузчик GRUB. После того как ОС полностью инсталлируется, нужно перезагрузить ПК.

Основные сетевые опции

Следующий этап работы с VM VirtualBox — настройка сети посредством интерфейсов ОС Ubuntu. Необходимо войти в операционную систему, указав логин и пароль, которые мы определили в ходе инсталляции.

Следующее необходимое действие — получение прав доступа на уровне ROOT, то есть суперпользователя. Необходима активизация соответствующей опции.

Это можно сделать посредством ввода команды: sudo su. Другой вариант — ввести в командную строку sudo passwd root с паролем. Собственно, это основные настройки на данном этапе. Можно загружать программу PuTTY и управлять сервером на ОС Ubuntu посредством виртуальной машины.

Нюансы сетевых настроек

Какие есть нюансы, касающиеся работы с Oracle VirtualBox? Настройка сети может потребовать внесения корректив в ряд иных опций. Каких именно?

Например, может понадобиться конфигурирование сервера в части установления на нем постоянного IP-адреса. Для этого необходимо внести соответствующие изменения в /etc/network/interfaces. Это делается посредством следующей команды: nano /etc/network/interfaces. После этого можно перезагрузить сеть следующей командой: /etc/init.d/networking restart.

Затем нужно внести коррективы в /etc/hosts с помощью соответствующей команды nano. Необходимо, чтобы в структуре файла присутствовали следующие настройки:

127.0.0.1 — для localhost;

192.168.0.1 (если IP-адрес компьютера в локальной сети отличается от указанного, пишем правильный) для адреса сервера, указанного выше, то есть computer277.computer277network.com computer277.

Далее нужно синхронизировать часы, работающие в системе, с сервером времени в интернете. Для этого нужно ввести в командную строку apt-get install ntp update. На этом завершаем конфигурацию. После чего можно полноценно пользоваться Oracle VM VirtualBox. достаточно проста. Последующее использование Ubuntu с помощью «виртуальной машины» предполагает возможность задействования самого широкого набора функций данной серверной ОС.

Универсальный инструмент: работает в Windows XP

Работает ли виртуальная машина от Oracle в относительно устаревших версиях Windows, например, XP? Да, вполне. В соответствии с рассмотренным алгоритмом, можно конфигурировать другие операционные системы с помощью VirtualBox. Настройка сети Windows XP, конечно, будет осуществляться несколько иными методами. В частности, командная строка, как в Ubuntu, задействоваться в ходе данной процедуры не будет.

Однако Windows XP обладает вполне понятными даже неподготовленному пользователю элементами управления локальной сетью, и работа с ними не должна сопровождаться ощутимыми сложностями и сбоями.

Разумеется, помимо Ubuntu, и другие ОС из линейки Linux совместимы с алгоритмами «виртуальной машины». В числе тех, которые отлично подходят для использования с VirtualBox, — CentOS. Настройка сети в этом дистрибутиве Linux будет осуществляться на базе алгоритмов, в целом схожих с теми, что мы использовали при работе с Ubuntu.

Все началось с того, что мне понадобилось запустить Wordpress в песочнице. Самым простым было создание виртуального Ubuntu 11.10 сервера в качестве гостевой системы внутри VirtualBox хоста. Затем я понял, что знаю о сетях гораздо меньше, чем я думал; тематика полная пакетов, свитчей и роутинга. Еще меньше я знал о сетях в VirtualBox, где все виртуализовано программно. Несколько попыток и ускоренный курс сетей чуть позже, миссия выполнена, чтобы уберечь вас от моих ошибок, и вот, что я обнаружил.

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

Установим любую версию VB, начиная с версии 3.0, и увидим, что окно настроек выглядит примерно одинаково.

Для любой из своих виртуальных машин нажимаем Настройки > Сеть. Это дефолтный вид.

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

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

Для моего виртуального веб-сервера, на котором запущен Wordpress, все немного сложнее, поэтому приступим… Тип адаптера (Adapter type) определяет тип виртуального оборудования доступного вашей виртуальной машине (VM). VB постарается сделать так, чтобы выбранный вами виртуальный адаптер хорошо работал с любой физической сетевой картой, которая стоит у вас на хост машине. Откроем меню Advanced и увидим дополнительные опции. Я пройду по настройкам намеренно не по порядку, начиная с Adapter Type.

Adapter Type : VB постарается эмулировать некоторые распространенные типы сетевых карт, для которых у него есть драйверы и протоколы. PCnet-FAST III стоит по умолчанию, хотя я всегда выбираю Intel PRO/1000MT адаптеры, если ищу хорошей совместимости с аппаратным обеспечением Intel. Есть две серверные версии с большой пропускной способностью, если вы собираетесь запустить свою VM в производственной среде. Владельцам десктопов не стоит беспокоиться об этом. Если у вас проблемы с одним адаптером, попробуйте другой, включая PCnet-FAST II для старых машин.

Mode : довольно колоритно звучащий «Promiscuous mode» должен управлять поведением виртуального маршрутизатора, используемого Внутренней Сетью; Сетевым мостом (Bridged) и Виртуальным адаптером хоста (Host Only). Вы можете заставить сетевой порт VM принимать трафик, направленный другим виртуальным машинам, или, даже хосту, дополнительно к трафику направленному на эту виртуальную машину. Promiscuous mode - это та штука, которую 99% пользователей не нужно трогать, и существует для того, чтобы диагностировать причины возникновения некоторых сетевых проблем.

MAC Address : сокращение от Media Access Control, MAC-адрес это аппаратный адрес, который является уникальным идентификатором каждого сетевого ресурса или нода сети. Это уникальный идентификационный номер, который обычно жестко прописан в физическом сетевом адаптере. VirtualBox генерирует MAC-адреса сетевых карт виртуальных машин.

Есть небольшая кнопка справа, которая генерирует новый MAC-адрес; если вы скопируете виртуальную машину, ей нужен будет свой уникальный MAC-адрес для работы в вашей виртуальной сети наряду с оригиналом.

Чекбокс «Кабель подключен» (Cable connected) делает тоже самое, что и физическое подключение или отключение кабеля. Эта опция подключает виртуальный адаптер к виртуальной сети. Он отличается от самой верхней опции «Включить сетевой адаптер» (Enable network adapter), которая позволяет установить или извлечь сетевой адаптер из машины.

Наконец кнопка «Проброс портов» (Port forwarding) открывает другой диалог, позволяющий определить правила перенаправления трафика для адаптера; как трафик определенного типа перенаправляется между хостом и гостевой машиной. Это применимо лишь к нескольким типам подключения, которые будут рассмотрены ниже. Тип подключения определяется опцией «Тип подключения» (Connection type) (с дополнительной опцией «Имя»), которая является краеугольным камнем работы с сетью в VirtualBox и которая создала мне множество проблем в начале моего эксперимента.

«Здесь обитают драконы»

Существует четыре типа подключений и множество возможных комбинаций настроек. Это как раз то место, где сетевые настройки VirtualBox могут показаться средневековым волшебством. Следовать правильному варианту для достижения вашей цели — легко. Можно найти даже несколько решений для достижения одной и той же цели.

Типы подключения

- NAT Network Adress Translation
- Сетевой мост (Bridged)
- Виртуальный адаптер хоста (Host Only)
- Внутренняя сеть (Internal Network)

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

Network Adress Translation NAT

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

Когда гостевая машина посылает IP пакет на удаленную машину, сервис NAT VirtualBox перехватывает этот пакет, извлекает из него TCP/IP сегменты, меняет IP адрес на IP адрес машины-хоста и отправляет его. Внешний мир видит лишь IP хост-машины. Хост-машина получает ответ и перенаправляет его гостевой машине.

Например, в вашей домашней сети ваши хост и другие физические машины, обычно имеют адреса начинающиеся с 192.168.x.x. В VirtualBox NAT адаптерах адреса начинаются с 10.0.2.1, и далее до 10.0.2.24 в так называемой подсети. Обычно она не соединена с основной сетью, следовательно в подсеть нельзя попасть с хост-машины. Ваша гостевая машина может выходить в Интернет за обновлениями, веб-серфингом, но невидима для остальной вашей сети.

Руководство к VirtualBox более прозрачно:

«В режиме NAT гостевым сетевым интерфейсам назначаются IP адреса из диапазона 10.0.x.0/24 по умолчанию, где x отвечает за экземпляр NAT интерфейса +2. Поэтому x=2 когда активен только один экземпляр NAT. В этом случае гостю назначается адрес 10.0.2.15, гейту — 10.0.2.2, а сервер имен можно найти на 10.0.2.3.» (Oracle Corporation, 2012, Chapter 9)

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

Сетевой мост (Bridged Adapter)

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

Сетевой мост соединяется через хост-систему с вашим сетевым устройством, которому назначен IP адрес вашей физической сети. VirtualBox подключается к одной из установленных у вас сетевых карт и обменивается пакетами напрямую; он соединяет физическую и виртуальную сети. В нормальных условиях он будет пытаться получить стандартный 192.168.x.x IP адрес от вашего маршрутизатора, так что ваша виртуальная машина будет выглядеть как физическое устройство наряду с другими устройствами в вашей сети.

У вас может быть более одного активного сетевого устройства на вашем хосте одновременно; например, у моего ноутбука есть ethernet разъем сетевой карты (называемый eth0) и беспроводной адаптер (называемый wlan0). Опция «Имя» позволяет выбрать, какой из них вы будете связывать мостом с VirtualBox.

В моем случае я использую беспроводной адаптер wlan0, потому что он подключен к маршрутизатору, в то время как у eth0 даже не подключен сетевой кабель.

Итак, мой хост подключается под адресом 192.168.0.2, который ему выдал маршрутизатор. Моя виртуальная машина, связанная сетевым мостом, появляется и требует свой IP адрес, на что маршрутизатор выдает ей 192.168.2.6, не зная и не заботясь о том, что VirtualBox ведет трафик через адаптер хост-машины. Моя виртуальная машина становится просто еще одним устройством в сети. Если считать хост-машину и три виртуальных машины, связанных сетевым мостом, то в моей физической сети будет четыре машины.

Идем сюда, тут еще…

NAT полезен, потому что защищает гостевые системы от Интернет, но в случае, когда к ним надо получить доступ с хост-машины, нам нужно настроить перенаправление портов (у меня есть сервера на некоторых моих гостевых машинах). Сетевой мост предоставляет доступ, но делает гостевые машины открытыми.

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

Виртуальный адаптер хоста (Host-only Adapter)

Под виртуальным адаптером хоста виртуальные машины могут общаться между собой и с хост-машиной, но не с внешним миром. Виртуальный адаптер хоста использует свое обособленное сетевое устройство, называемое vboxnet0, для того чтобы установить подсеть и назначить IP адреса гостевым машинам. Гостевые машины не могут общаться с внешним миром, так как они не подключены через физический сетевой интерфейс. Виртуальный адаптер хоста предоставляет ограниченные сервисы, полезные для создания локальной сети под VirtualBox хостом для гостей.

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

У вашего хоста свой сетевой адрес, тот, который он использует для выхода в Интернет, — обычно 192.168.0.101. Под виртуальным адаптером хоста хост-машина становится маршрутизатором с IP адресом по умолчанию 192.168.56.1. Хост создает внутреннюю локальную сеть, обеспечивающую всем гостевым машинам, настроенным на виртуальный адаптер хоста, видимость в локальной сети. Адаптер vboxnet0 начинает использовать адреса с 192.168.56.101 и далее, но вы можете это изменить в настройках.

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

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

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

Внутренняя сеть (Internal network)

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

Внутренняя сеть создает, согласно руководству по VirtualBox, «программную сеть, которая видна для выбранных машин, но не для приложений, запущенных на хосте или в окружающей среде». Это дает нам сеть, в которой есть хост и виртуальные машины, но ни одна из них не использует физические адаптеры — они полностью виртуальные, и VirtualBox работает виртуальным коммутатором. Вы получаете полностью приватную ЛВС для своих гостевых машин, без доступа из вне, что делает ее очень защищенной. Возможные варианты использования — работа сверх-секретных серверов разработки и клиентов, проведение тестирования на проникновение, или наоборот создание безопасной интрасети для команды или организации. Это идеальный вариант закрытия пространства от неавторизованной установки приложений, скачивания, загрузок и зависания в Фэйсбуке в течении рабочего дня.

Теперь мы видим, что различные типы сетей подходят для различных целей. Что и приводит меня к тому с чего я начал - созданию виртуального сервера для разработки под Wordpress и тестирования.

Гостевой доступ в Интернет

Для начала моей гостевой машине нужен доступ в Интернет для установки обновлений, скачивания пакетов и все такое. Мне нужен доступ к ней с моей хост-машины, но я не хочу, чтобы мой сервер был доступен еще откуда-то из сети.

Отыскав мою машину в менеджере VirtualBox, я выбираю Настройки > Сеть.

Я начинаю со стандартного NAT. Он позволяет гостевой машине получить доступ в Интернет через подключение моего хоста. Гостевая машина не видна из моей сети; я также не могу получить доступ к ресурсам гостевой машины с хост-машины, как и другие гостевые машины.

Настройка виртуального адаптера хоста в менеджере VirtualBox

Простой способ — использовать стандартный виртуальный адаптер хоста, предоставляемый VirtualBox, тот что назван vboxnet0, но вы можете добавить и другие, если хотите использовать несколько отдельных сетей. Если в основном окне VirtualBox вы перейдете Файл > Настройки > Сеть, то сможете настроить vboxnet0 или добавить другие адаптеры.

Чтобы увидеть стандартные настройки, нажмите кнопку редактирования - это кнопка с иконкой отвертки и подписью «Редактировать виртуальную сеть хоста». IP адрес 192.168.56.1 это адрес, по которому гости могут получить доступ к хосту. Я оставил эту настройку как есть.

По умолчанию, у vboxnet0 есть DHCP сервер, настроенный на автоматическую выдачу IP адресов на основе сессий. Я хочу, чтобы мой виртуальный Wordpress сервер сохранял статический IP адрес, поэтому на вкладке DHCP я снимаю галку «Включить сервер».

Добавляем виртуальный адаптер хоста гостевой машине

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

На вкладке «Адаптер 2» моей гостевой машины я устанавливаю «Тип подключения» виртуальный адаптер хоста и стандартное имя vboxnet0. Promiscuous mode не важен, но мне необходима включенная опция «Кабель подключен».

Конфигурирование гостевой машины

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

ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up

Это установит IP адрес для гостя и поднимет сетевой интерфейс. Он использует 192 — префикс домашних сетей, .168 — в качестве начала ID хоста, .56 — диапазон сети виртуального адаптера хоста и последний идентификатор, любой больше.1 (мой хост) в моей сети виртуального адаптера хоста. Адаптер NAT находится на eth0, поэтому виртуальный адаптер хоста связан с eth1. Теперь я могу использовать SSH или зайти на гостевую машину с хоста, используя IP адрес.

Порт во время шторма?

Специалисты по сетям уже увидели альтернативный способ добраться до моего виртуального сервера.

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

Я могу настроить проброс портов в VirtualBox, используя панель настройки гостевого сетевого адаптера. Переключаемся на NAT адаптер, большая кнопка внизу «Проброс портов». Она открывает окно конфигурации, где я могу настроить проброс портов для данного адаптера именно этой гостевой машины.

Мне нужны два правила; одно для доступа к Apache веб-серверу на моем госте, другое для работы с TCP трафиком (в основном http запросы).

Для простоты я назвал их Apache и TCP, и оба они используют протокол TCP. Если вернуться к привычным номерам портов, то 8888 на хосте перебрасывается на 80 гостевой машины, затем 2222 на хосте на порт 22 гостевой машины; это открывает особый доступ на гостевую машину для сервисных запросов. Все остальные запросы будут отвергнуты VirtualBox так как не будет найден путь.

Это также означает, что все другие гости, которых я запущу, не смогут получить доступ к этому виртуальному серверу, так как под NAT нет сетевого пути.

23.05.2017 Ромчик

Доброго времени суток. В одной из статей мы c вами установили Ubuntu в качестве гостевой системы и предоставили ей доступ в интернет. Проблем у нас не возникло. Но мне бы хотелось из хоста иметь доступ к гостевой системе Ubuntu, при этом чтобы наша Ubuntu оставалась за NAT. Есть несколько вариантов реализации данной задачи. И я рассмотрю один – создание еще одного сетевого интерфейса. Второй вариант, проброс портов я не буду рассматривать, т.к. он мне не подошел. Приступим.

Нам необходимо добавить еще один виртуальный адаптер (один уже есть и используется для выхода в интернет гостевых ОС)

Для этого открываем настройки VirtualBox

Также можно настроить и DHCP сервер.

Жмем «Ок». Теперь переходим к настройке виртуальной машины.

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

Открываем настройки нашей виртуальной машины.

Выбираем «Сеть» и переходим во вкладку «Адаптер 2»

Включаем сетевой адаптер. Затем выбираем тип подключения «Виртуальный адаптер» и из списка выбираем имя. Жмем «Ок»

На этом настройка виртуальной машины завершена. Запускаем машину.

Настройка гостевой Ubuntu

Открываем терминал и вводим команду ifconfig.

И так, интерфейс enp0s3 служит для выхода в интернет, а enp0s8 для связи гостевой системы с хостом. Ок, давайте пропишем enp0s8 статический IP. Например, 10.0.1.10.

Открываем sudo gedit /etc/network/interfaces

И добавляем:

Auto enp0s8 iface enp0s8 inet static address 10.0.1.10 netmask 255.255.255.0

Сохраняем и перезапускаем сеть, командой:

Sudo /etc/init.d/networking restart

Ждем и проверяем, запустим пинг на 8.8.8.8

Отлично все работает. Теперь проверим доступ с хоста к гостевой системе. Запускаем пинг на 10.0.1.10

Вот и все.

Заключение.

Мы с вами настроили доступ к гостевой системе из хоста, при этом есть доступ из гостевой системы в интернет (через NAT)

Чтобы не пропустить выхода новых статей подписываемя.

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

Для решения многих проблем и было создано VirtualBox. Благодаря этому функционалу вы получаете возможность создавать виртуальные компьютеры «из воздуха». Они не занимают места на вашем столе, но они работают так же, как настоящий ПК. Их можно создать и удалить с помощью нескольких кликов.

Что такое VirtualBox? Это бесплатное открытое исходное кросс-платформенное приложение для создания, управления и запуска виртуальных машин (VM) - компьютеров, аппаратные компоненты которых эмулируются хост-компьютером, или устройством, на котором запущена программа. VirtualBox может работать в Windows, Mac OS X, Linux и Solaris.

Зачем это нужно?

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

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

Как установить VirtualBox?

Самый простой способ получить последнюю версию VirtualBox - загрузить ее со страницы загрузки официального веб-сайта. Там вы можете найти подходящую версию для своей платформы или? если вы используете Linux, вы можете изучить список инструкций для различных дистрибутивов этой ОС.

Для каждой версии «Линукс» вам предоставляется возможность загрузки опции «i386» или «amd64», 32-и 64-разрядная версии, соответственно.

Как установить VirtualBox? Этот процесс аналогичен установке любой другой программы на вашей платформе, поэтому у вас не должно быть никаких проблем. Если вы испытываете в чем-то трудности, вы всегда можете прочитать руководство по установке на веб-сайте сервиса.

Использование VirtualBox

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

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

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

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

Это запустит «Новый мастер виртуальной машины», который проведет нас по шагам, необходимым для запуска.

Введите имя виртуального компьютера. Это наименование полностью зависит от вас, но есть некоторые нюансы.

VirtualBox попытается выяснить, какую ОС вы планируете запускать в виртуальной машине на основе того, какое имя вы введете. Если это имя имеет упоминание «XP», предполагается, что вы будете устанавливать Windows XP и соответствующим образом настраивать ее. Однако, вы можете придумать и случайное название. Тогда у вас будет возможность вручную выбрать тип ОС из раскрывающихся списков ниже. Когда вы это сделаете, нажмите «Продолжить», чтобы перейти к следующему шагу. В этом примере рассматривается Windows для VirtualBox. Ниже приведена инструкция по установке этой ОС в качестве гостевой и последующей настройке сетевого подключения.

Выбор оперативной памяти

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

Итак, сколько RAM вы должны выделить VM? Это зависит от ряда факторов. Если вы планируете использовать только виртуальную машину во время ее работы, вы можете позволить себе предоставить ей больше ОЗУ, потому что вы не будете просить хост-систему выполнять многозадачность. Если, с другой стороны, вы будете использовать ее одновременно с выполнением множества других функций на ОС хоста, вам следует лучше рассчитать это значение. Хорошим общим правилом является выделение половины ОЗУ вашего компьютера. Итак, если ваш ПК имеет 4 ГБ RAM, дайте 2 ГБ VM, оставив хост с остальным объемом. Если выбрать это значение с грубой ошибкой, вы столкнетесь с тем, что VirtualBox не запускается.

Место для хранения данных

Следующим шагом будет создание «виртуального жесткого диска» (VHD). Это создает файл на вашем HDD, который может использоваться VirtualBox, чтобы действовать как отдельный жесткий диск. Это позволяет вам установить операционную систему, не беспокоясь о том, что могут пострадать ваши существующие данные.

Убедитесь, что выбраны Boot Hard Disk и «Создать новый жесткий диск», затем нажмите «Продолжить». Это запустит «Создать новый мастер виртуального диска». Нажмите «Продолжить» еще раз, чтобы выполнить действие до конца.

Затем вас спросят, хотите ли вы создать «динамически расширяющийся» или диск с фиксированным размером. У каждого есть свои преимущества. Самое замечательное в динамическом диске состоит в том, что он занимает ровно такой объем, сколько на нем содержится данных. Он также намного быстрее создается, чем фиксированный любого значительного размера.

Однако вам нужно следить за этим, потому что его гибкость также может быть его негативной чертой. Итак, вы создаете динамический диск и назначаете ему 50 ГБ, а затем размещаете на нем около 20 ГБ данных. Его файл будет отображаться как вмещающий только 20 ГБ места на жестком диске, в соответствии с вашей ОС хоста. Поэтому вы можете занять это место другими данными и не заметить этого.

Дело в том, что, если вы запустили виртуальную машину и попытаетесь добавить больше данных на динамический диск, у вас возникнут проблемы - на виртуальном диске говорится, что у него все еще есть 30 ГБ, но на самом деле их может уже не быть.

В этом же заключается преимущество диска с фиксированным размером. Конечно, неудобно, когда вы пытаетесь понять, сколько места вам будет нужно, но затем больше не придется беспокоиться об этом.

В этом примере показаны динамические диски, но фиксированные будут работать так же хорошо. Убедитесь, что выбрано «Динамически расширяющееся хранилище», затем снова нажмите «Продолжить». Далее вас попросят выбрать имя, местоположение и размер нового VHD. Для большинства применений вам не нужно будет изменять имя или местоположение, но вы можете сделать это, нажав на значок папки рядом с текстовым полем.

Размер, который вы должны указать, зависит от того, сколько материала вы планируете использовать. Если вы просто хотите применить его для запуска нескольких программ, предлагаемого размера в 10 ГБ должно вполне хватить. Удостоверьтесь, что настройки верны, затем нажмите «Продолжить» и «Готово».

На этом этапе вам нужно всего лишь проверить все и убедиться, что все настройки установлены так, как вы ожидаете. Затем вам нужно просто щелкнуть «Готово», и виртуальная машина будет создана, чтобы вы могли установить Windows.

Загрузка гостевой ОС в VirtualBox

Как пользоваться сервисом дальше? Теперь пришло время запустить виртуальную машину в первый раз. Убедитесь, что новый виртуальный ПК, который вы только что создали, выбран в окне диспетчера VirtualBox, затем нажмите кнопку «Пуск» в верхней части окна. Когда сервис запускается, вы будете встречать окно First Run Wizard, которое поможет вам подготовиться к установке Windows XP. Нажмите «Продолжить». Затем откроется вопрос, что вы хотите использовать в качестве установочных носителей - компакт-диск или образ на вашем жестком диске (обычно в виде файла.iso). После того, как вы выбрали свой вариант, нажмите «Продолжить», затем «Готово».

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

Поскольку на виртуальном жестком диске ничего не установлено, будет автоматически загружаться программа установки Windows. Потребуется некоторое время для загрузки всех необходимых ОС-файлов, но в итоге вы увидите экран, на котором отображается список существующих разделов и нераспределенное пространство на компьютере.

После этого вы должны настроить XP, поэтому нажмите Enter. Появится вопрос, как вы хотите отформатировать привод. Вам нужно выбрать вариант «Отформатировать раздел с помощью файловой системы NTFS (Quick)». Убедитесь, что вы выбрали опцию «Быстрое», или вы будете ждать очень долгое время!

После этого Windows Setup будет форматировать VHD, а затем начнет копирование файлов на диск. Ваше участие в этом процессе не требуется. После завершения копирования файлов программа установки Windows автоматически перезагрузит компьютер, чтобы перейти к следующему этапу.

Когда ПК перезагрузится, он попытается включиться с компакт-диска с помощью окна «Нажмите любую клавишу для загрузки с компакт-диска...». Игнорируйте это! Если вы это сделаете, вы снова повторите предыдущий шаг без причин.

Вы можете предотвратить этот системный вопрос, щелкнув правой кнопкой мыши по значку компакт-диска в нижней части окна виртуальной машины и нажав «Удалить диск с виртуального диска». Как только это окно закроется, вы увидите знакомый экран загрузки Windows XP, прежде чем он переключится на второй этап установки.

Как только отобразится «Мастер установки Windows XP», нажмите «Далее», чтобы начать ее. Сначала вам будет предложено задать региональные и языковые параметры, которые в основном связаны с нажатием «Настроить...» (чтобы выбрать страну), а затем «Детали», если нужно изменить раскладку клавиатуры.

После того, как все будет выбрано, снова нажмите «Далее». После этого вам нужно будет ввести имя компьютера и пароль администратора. Лучше выбрать название, которое имеет какой-то смысл, вместо случайной строки символов, созданных автоматически. Насколько сложным вы хотите сделать пароль администратора, зависит от того, насколько важна безопасность виртуальной машины.

После нажатия «Далее» вы увидите настройки даты и времени, которые вам не нужно менять. При повторном нажатии этой кнопки окно исчезнет некоторое время, Windows применит все настройки и продолжит установку. Теперь вы можете использовать в VirtualBox гостевые дополнения.

Через минуту или две появится другое окно, на этот раз для сетевых настроек. Удобнее выбрать первый вариант (сеть, у которой нет домена). Для этого требуется ввести имя рабочей группы - по умолчанию Rward, и все значения по умолчанию. Однако вам может потребоваться выбрать «Поддержку Direct3D», когда вас попросят определить компоненты.

Как работать с сетью?

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

Oracle VM VirtualBox 5.1 позволяет настроить до 8 виртуальных сетевых адаптеров (контроллеров сетевого интерфейса) для каждого гостевого виртуального устройства (хотя в GUI только 4).

Основные режимы:

  • Трансляция сетевых адресов (NAT).
  • Мостовые сети.
  • Внутренняя сеть.
  • Сеть только для хостинга.
  • NAT с переадресацией портов.

Oracle VirtualBox предлагает их как основанные на гостевом типе ОС, который вы указываете при создании виртуальной машины, и вам редко нужно их модифицировать. Но выбор сетевого режима зависит от того, как вы хотите использовать устройство (клиент или сервер) и хотите ли вы, чтобы другие компьютеры в вашей сети видели его. Итак, следует посмотреть на каждый режим настройки сети VirtualBox немного подробнее.

Трансляция сетевых адресов (NAT)

Это режим по умолчанию для новых виртуальных машин, который отлично работает в большинстве ситуаций, когда гостевая ОС является «клиентским» типом (т. е. большинство сетевых подключений являются исходящими). Вот как это работает.

Когда гостевая ОС загружается, она обычно использует DHCP для получения IP-адреса. Oracle VirtualBox отправит этот запрос DHCP и сообщит операционной системе о назначенном IP-адресе и адресе шлюза для маршрутизации исходящих соединений. В этом режиме каждой виртуальной машине присваивается один и тот же IP-адрес (10.0.2.15), потому что каждая из них считает, что она находится в своей изолированной сети. И когда они отправляют свой трафик через шлюз (10.0.2.2), VirtualBox перезаписывает пакеты, чтобы они отображались так, как если бы они исходили от хоста, а не от «гостя» (работающего внутри хоста).

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

Однако как другой компьютер инициирует соединение с ней? Например, вам требуется подключение к веб-серверу, запущенному на гостевом компьютере. Это невозможно (обычно) с использованием режима NAT, поскольку в гостевую ОС нет маршрута. Таким образом, для работающих серверов виртуальной машины вам нужен другой сетевой режим и иная настройка сети VirtualBox.

Подключение NAT (сетевые характеристики):

  • Гостевые ОС находятся в собственной частной сети.
  • VirtualBox действует как DHCP-сервер.
  • Механизм NAT VirtualBox переводит адреса.
  • Целевые серверы отображают трафик, исходящий от хоста VirtualBox.
  • Конфигурация не требуется для хоста или гостевой ОС.
  • Отлично работает, когда «гости» являются клиентами, но не серверами.

Мостовые сети

Bridged Networking используется в тех случаях, когда вы хотите, чтобы ваша виртуальная машина была полноправным элементом сети, т. е. была равна вашему хост-устройству. В этом режиме виртуальный сетевой адаптер «подключен» к физическому на вашем хосте.

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

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

Что делать, если вы хотите запускать серверы в виртуальной машине, но не хотите привлекать сетевой администратор? Может быть, один из следующих двух режимов подойдет для вас, или же вам потребуется комбинация дополнительных параметров, например NAT vNIC + 1 Host-only vNIC.

Мостовые сетевые характеристики:

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

Внутренняя сеть

Когда вы настраиваете одну или несколько виртуальных машин для работы во внутренней сети, VirtualBox гарантирует, что весь трафик на этой сети остается внутри хоста и будет доступен только для устройства в этой виртуальной сети.

Внутренняя сеть является полностью изолированной системой. Она хорошо подходит для тестирования. В ней с помощью виртуальной машины вы можете создавать сложные внутренние сети, которые предоставляют свои собственные услуги (например, Active Directory, DHCP и т. д.). Обратите внимание, что даже хост не является ее элементом.

Этот режим позволяет виртуальной машине работать, даже если хост не подключен к сети (например, на плоскости). Вместе с тем, при таком типе подключений и настройке сети VirtualBox не предоставляет такие «удобные» услуги, как DHCP, поэтому ваше устройство должно быть статически настроенным или же предоставлять службу DHCP/Name.

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

Что делать, если вы хотите, чтобы внутренняя сеть принимала хост с VirtualBox, предоставляя гостевым ОС IP-адреса? Для этого вам может понадобиться настраивать сеть только для хоста.

Характеристики внутренней сети:

  • гостевые ОС могут видеть других «гостей» в одной внутренней сети;
  • хост не может видеть внутреннюю конфигурацию;
  • необходима конфигурация сети;
  • даже если хост не является участником подключения, внутреннюю сеть можно использовать совместно с мостовым подключением;
  • хорошо подходит для многопользовательской сети.

Сеть только для хостинга

Работает почти так же, как соединение Internal Networking, при котором вы указываете, в какой сети находится гостевой сервер. Все виртуальные машины, находящиеся в этой сети, будут видеть друг друга и хост. Однако другие внешние устройства не могут видеть «гостей» в этой сети, отсюда и название «только хост».

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

Характеристики сети:

  • VirtualBox создает частную внутреннюю сеть для гостевых ОС, а хост видит новое программное обеспечение NIC.
  • VirtualBox предоставляет сервер DHCP.
  • Гостевые ОС не могут выйти во внешнюю сеть.

NAT с переадресацией портов

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

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

Если же использовать внутреннюю сеть, то может оказаться, что вашим виртуальным машинам требуется быть видимыми в сети. Что делать в таких случаях?

Настройте виртуальную машину для использования NAT-сети, добавьте правила переадресации портов, а внешние компьютеры подключите к «хосту». Номер порта и соединения будут перенаправлены VirtualBox на номер гостевой ОС.

Например, если ваша виртуальная машина запускает веб-сервер на порту 80, вы можете настроить вышеуказанные правила. Это обеспечивает мобильную демонстрационную систему, которая не нуждается в повторной настройке при каждом подключении вашего ноутбука к другой сети LAN/Network.

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







2024 © gtavrl.ru.