Библиотека сайта rus-linux.net
«В режиме 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)
В соединении типа «Сетевой мост» виртуальная машина работает также, как и все остальные компьютеры в сети. В этом случае адаптер выступает в роли моста между виртуальной и физической сетями. Со стороны внешней сети имеется возможность напрямую соединяться с гостевой операционной системой.
VirtualBox: Установка и настройка (для новичков). Создание виртуальной машины
Адаптер в режиме «Сетевой мост» подключается, минуя хост, к устройству, которое распределяет IP-адреса внутри локальной сети для всех физических сетевых карт. VirtualBox соединяется с одной из установленных сетевых карт и передает пакеты через нее напрямую; получается работа моста, по которому передаются данные. Как правило, адаптер в модели «Сетевой мост» получает стандартный адрес из диапазона 192.168.х.х от роутера. Поэтому виртуальная машина в сети выглядит так, как будто это обычное физическое устройство, неотличимое от остальных.
На хосте могут быть активными одновременно несколько сетевых устройств; например, на моем ноутбуке имеется проводное подключение (называемое eth0 ) и беспроводное подключение (называемое wlan0 ). Поле «Имя» позволяет выбрать, какой из сетевых интерфейсов вы бы хотели использовать в качестве моста на VirtualBox.
В моем случае, я использую беспроводной адаптер wlan0 , так как он подключен к маршрутизатору. В то время как проводной интерфейс eth0 не имеет даже кабеля.
Поэтому моему хосту назначен роутером IP-адрес 192.168.0.2. Виртуальной машине в режиме «Сетевой мост» присвоен адрес 192.168.2.6. При этом не имеет значения тот факт, что VirtualBox передает и получает трафик как бы «сквозь» хост, минуя его. В результате получается, что виртуальная машина становится просто еще одним компьютером в локальной сети. Если я пересчитаю свой компьютер и три виртуальные машины (VM), работающие в режиме «Сетевой мост», то у меня получиться четыре компьютера в физической локальной сети.
Что такое VirtualBox и как ей пользоваться.
Дальше — больше.
Протокол 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 в качестве сетевого маршрутизатора. В целом получается частная локальная сеть только для гостевых операционных систем без доступа в Интернет, что делает ее максимально безопасной. Возможное применение такой сети — сверхсекретный сервер с клиентами, предназначенный для разработки; тестирование систем на проникновение или какие-либо другие цели, преследующие создание внутренней сети для команд-разработчиков или организаций. Это идеальный способ для блокировки окружения от не
Обновлено: 15.11.2022 Опубликовано: 29.06.2016
Используемые термины: Virtualbox, Windows, Linux. Virtualbox позволяет легко организовать тестовую среду у себя на компьютере. Он удобен и прост в установке и использовании. Мы рассмотрим его установку на компьютеры под управлением Windows и Linux. Также мы установим Extension Pack.
На Windows
В качестве примера мы установим Virtualbox на Windows 10. Скачиваем последнюю версию программы с официального сайта.
Оставьте все, как есть и нажмите Next: В следующем окне оставьте галочки, как есть (для Virtualbox будут созданы ярлыки на рабочем столе, в меню Пуск и все файлы данной программы будут автоматически открываться в ней при двойном клике). В следующем окне установщик предупредит, что на момент установки Virtualbox произойдет кратковременная потеря сети.
Убедитесь, что сеть не понадобиться в ближайшие 2-3 минуты и нажмите Yes. В последнем окне нажмите Install — начнется процесс инсталляции платформы виртуализации. В процессе выскочит окно с предупреждением об установки дополнительных устройств — соглашайтесь.
Когда установки будет завершена, нажмите Finish.
На Linux
Для примера мы установим Virtualbox на Ubuntu и CentOS. Мы будем использовать командную строку — это быстрый и универсальный подход для работы с Linux.
Ubuntu
В Ubuntu программное обеспечение Virtualbox есть в репозиториях. Поэтому для установки вводим одну команду:
apt-get install virtualbox
Запуск программы выполняется командой:
virtualbox
. или в графическом интерфейсе среди приложений.
CentOS
Для установки на CentOS сначала переходим на страницу Download VirtualBox for Linux Hosts и копируем ссылку на последнюю версию платформы виртуализации для нужной версии Linux: С помощью скопированной ссылки, скачиваем файл RPM на компьютер с CentOS командой:
wget https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1-6.1.12_139181_el8-1.x86_64.rpm
* если мы получим ошибку, то выполним установку программы для загрузки файлов командой yum install wget. Для установки virtualbox из загруженного файла вводим:
yum localinstall VirtualBox-*.rpm
Extension Pack (для Windows и Linux)
Extension Pack расширяет функциональные возможности Virtualbox, например — поддержка USB 3, PXE загрузка, шифрование диска. Установка выполняется одинаково для всех операционных систем. С официального сайта скачиваем последнюю версию пакета:



Некоторые команды для управления из консоли
Управление гипервизором из командной строки выполняется с помощью утилиты vboxmanage. Рассмотрим некоторые часто используемые команды в Linux и Windows для управления Virtualbox. Предполагается, что мы будем работать с виртуальной машиной с названием VMname.
Команды нужно выполнять от пользователя, под которым созданы виртуальные машины, так как при работе в многопользовательской среде, у каждого будет свой профиль с настройками Virtualbox.
1. Список виртуальных машин
Простой список:
vboxmanage list vms
Список с подробным выводом информации:
vboxmanage list vms -l
С сортировкой:
vboxmanage list vms -s
Подробная информаци о конкретной виртуальной машине:
vboxmanage showvminfo VMname
Список запущенных машин:
vboxmanage list runningvms
2. Создание виртуальной машины
Выполняется в несколько этапов. Для удобства работы, созданим переменную с названием создаваемой машины, например:
export VM_NAME=’Astra01′
* предполагается, что мы создаем машину с названием Astra01. Создаем VM:
vboxmanage createvm —name $ —ostype Debian_64 —register —basefolder ~/»VirtualBox VMs»
* данная команды создаст машину с типом операционной системы Debian (x64). Ее папка будет размещена в каталоге VirtualBox VMs, который находится в домашней директории другого пользователя — эту опцию нужно проверить и проверить, где данная папка находится в вашем случае.
Список типов операционных систем можно посмотреть командой:
vboxmanage list ostypes
Мы должны получить соощение на подобие:
Virtual machine ‘Astra01’ is created and registered.
UUID: ecff742b-1fd2-4480-a923-dca50044e7b6
Settings file: ‘/home/dmosk/VirtualBox VMs/Astra01/Astra01.vbox’
Задаем нужные опции:
vboxmanage modifyvm $ —ioapic on
vboxmanage modifyvm $ —memory 2048 —vram 128
vboxmanage modifyvm $ —nic1 nat
* где ioapic включает расширенную поддержку управления питанием на уровне БИОС; memory укажет на объем оперативной памяти; vram — объем видеопамяти; nic1 nat — создаст сетевое подключение типа NAT. Создадим и подключим дисковый накопитель:
vboxmanage createhd —filename ~/»VirtualBox VMs»/$/$_DISK.vdi —size 16384 —format VDI
vboxmanage storagectl $ —name «SATA Controller» —add sata —controller IntelAhci
vboxmanage storageattach $ —storagectl «SATA Controller» —port 0 —device 0 —type hdd —medium ~/»VirtualBox VMs»/$/$_DISK.vdi
Подключим образ ISO:
vboxmanage storagectl $ —name «IDE Controller» —add ide —controller PIIX4
vboxmanage storageattach $ —storagectl «IDE Controller» —port 1 —device 0 —type dvddrive —medium /ISO/debian.iso
Зададим порядок загрузки:
vboxmanage modifyvm $ —boot1 dvd —boot2 disk —boot3 none —boot4 none
Разрешаем удаленный рабочий стол на 10001 порту:
vboxmanage modifyvm $ —vrde on
vboxmanage modifyvm $ —vrdemulticon on —vrdeport 10001
Запускаем созданную виртуальную машину:
vboxheadless —startvm $
Открываем клиент RDP (например, подключение к удаленному рабочему столу Windows) и выполняем установку системы.
3. Включение, выключение и перезагрузка
Включить:
vboxmanage startvm VMname
В зависимости от того, с графикой мы хотим запустить машину или нет, мы можем применить опцию type:
vboxmanage startvm —type gui VMname
vboxmanage startvm —type headless VMname
* где gui и headless, соответственно, для графики (отображение окна виртуальной машины) или в фоне. Остановить:
vboxmanage controlvm VMname poweroff soft
Перезагрузка (грубая):
vboxmanage controlvm VMname reset
4. Редактирование
Переименовать виртуальную машину:
vboxmanage modifyvm «Rocky Linux 01» —name «Rocky-Linux-01»
* в данном примере мы изменили название с Rocky Linux 01 на Rocky-Linux-01. Изменить количество ядер процессора:
vboxmanage modifyvm «Rocky Linux 01» —cpus 4
Изменить объем оперативной памяти:
vboxmanage modifyvm «Rocky Linux 01» —memory 4096
Включить вложенную виртуализацию:
vboxmanage modifyvm «Rocky Linux 01» —nested-hw-virt on
5. Работа с дисками
Добавление диска:
vboxmanage createmedium disk —filename «/home/user/VirtualBox VMs/VMname/disk_test.vdi» —size 10240 —format VDI —variant Standard
- filename — путь до файла с виртуальным диском.
- size — максимальный размер диска. Указывается в мегабайтах.
- format — формат диска. Возможные варианты: VDI, VMDK, VHD.
- variant — формат файла. Возможны варианты: Standard, Fixed, Split2G, Stream, ESX.
Подключение диска к вируальной машине.
Для начала выключаем виртуальную машину. Это можно сделать из самой операционной системы или как указано ранее в инструкции:
vboxmanage controlvm VMname poweroff soft
После можно выполнить команду:
vboxmanage storageattach VMname —medium «/home/user/VirtualBox VMs/VMname/disk_test.vdi» —storagectl «SATA» —port 1 —type hdd
Посмотреть имя контроллера у виртуальной машины можно командой:
vboxmanage showvminfo VMname | grep «Storage Controller Name»
Можно снова включать виртуальную машину:
vboxmanage startvm VMname
6. Работа со снимками
Показать список снапшотов для виртуальной машины:
vboxmanage snapshot VMname list
Создать снимок:
vboxmanage snapshot VMname take snapshot-name [—description=description] [—live]
- snapshot-name — имя для снимка.
- description — описание.
- live — не выключать машину для создания снимка (дольше по времени).
Восстановить из снимка:
vboxmanage snapshot VMname restore snapshot-name
* виртуальная машина должна быть выключена.
Удалить снимок:
vboxmanage snapshot VMname delete snapshot-name
7. Работа с сетью
Список сетей NAT:
vboxmanage list natnets
Возможные проблемы
Рассмотрим проблемы, с которыми мы можем столкнуться при установке или работе с Vitrualbox.
The VirtualBox Linux kernel driver is either not loaded or not set up correctly
Проблема может появиться при попытке запустить виртуальную машину. В ошибке говорится, что необходимо ввести команду ‘/sbin/vboxconfig’ от пользователя root для решения проблемы. Однако, при вводе данной команды мы получаем ошибку:
This system is currently not set up to build kernel modules.
Please install the Linux kernel «header» files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
kernel-devel kernel-devel-5.11.12-300.fc34.x86_64
* где kernel-devel kernel-devel-5.11.12-300.fc34.x86_64 — конкретная версия исходников ядра, которой не хватает программе.
Причина: для корректного запуска виртуальной машине не хватает конкретной версии исходников ядра. Данная версия указывается в сообщении об ошибке.
Решение: необходимо просто установить необходимые исходники. В зависимости от установленной системы Linux команды могут отличаться.
а) для Ubuntu / Debian:
apt-get install kernel-source-5.11.12-300.fc34.x86_64
б) для CentOS / Fedora:
yum install kernel-devel-5.11.12-300.fc34.x86_64
После выполняем команду:
Она должна выполниться без ошибок. После чего можно запускать виртуальную машину.
Источник: www.dmosk.ru