В современном деловом мире сетевое взаимодействие является важным компонентом операций с компьютером. Трудно представить, как можно обмениваться данными между компьютерами без сетей в мире, где все меняется со все возрастающей скоростью. Одной из центральных идей аппаратной виртуализации является возможность использования виртуальных машин практически во всех случаях, где также могут использоваться физические компьютеры.
Таким образом, виртуальные машины должны иметь возможность подключаться к физическим и виртуальным сетям с помощью своих виртуальных сетевых адаптеров. Виртуальные машины, работающие на VirtualBox, могут быть подключены к разным сетям. VirtualBox предоставляет несколько режимов сети для виртуальных машин. В этом блоге рассматриваются настройки сети VirtualBox, чтобы помочь вам сконфигурировать VirtualBox наилучшим образом для удовлетворения ваших потребностей.
Виртуальные сетевые адаптеры
Каждая виртуальная машина VirtualBox может использовать до восьми виртуальных сетевых адаптеров, каждый из которых, в свою очередь, называется сетевым интерфейсным контроллером (NIC). Четыре виртуальных сетевых адаптера могут быть сконфигурированы в графическом интерфейсе VirtualBox. Все виртуальные сетевые адаптеры (до 8) могут быть настроены с помощью команды VBoxManage modifyvm. VBoxManage – это инструмент управления командной строкой VirtualBox, который можно использовать для настройки всех параметров VirtualBox, включая настройки сети VirtualBox. Настройки сетевого адаптера VirtualBox можно получить в настройках виртуальной машины (выберите вашу ВМ, нажмите Настройки и перейдите в раздел Сеть в окне настроек ВМ).
Там вы должны увидеть четыре вкладки адаптера. По умолчанию после создания виртуальной машины включается один виртуальный сетевой адаптер. Вы можете установить флажок “Включить сетевой адаптер” для включения адаптера и снять флажок для его отключения (этот флажок определяет, подключен ли виртуальный сетевой адаптер к устройству ВМ или нет).
Нажмите Расширенный для расширения расширенных настроек сетевого адаптера VirtualBox.
Типы виртуальных сетевых адаптеров в VirtualBox
A virtual network adapter is a software-emulated physical device. There are six virtual adapter types that can be virtualized by VirtualBox.
- AMD PCnet-PCI II (Am79C970A). Этот сетевой адаптер основан на чипе AMD и может использоваться в большинстве случаев. Что касается гостевых версий Windows, этот сетевой адаптер может использоваться для старых версий Windows (например, Windows 2000), поскольку более новые версии Windows, такие как Windows 7, 8 и 10, не содержат встроенного драйвера для этого адаптера. Изначально, Am79C970A PCI устройство содержало однокристальный контроллер 10-Мбит и встроенный движок DMA. Этот сетевой адаптер также поддерживает технологию AMD Magic Packet для удаленного включения.
- AMD PCnet-FAST III (Am79C973). Этот виртуализированный сетевой адаптер поддерживается практически всеми гостевыми операционными системами, которые могут работать в VirtualBox. Загрузчик GRUB может использовать этот адаптер для загрузки по сети. Так же, как и предыдущий сетевой адаптер, этот основан на чипе AMD.
- Intel PRO/1000 MT Desktop (82540EM). Этот адаптер отлично работает с Windows Vista и более новыми версиями Windows. Большинство дистрибутивов Linux также поддерживают этот адаптер.
- Intel PRO/1000 T Server (82543GC). Windows XP распознает этот адаптер без установки дополнительных драйверов.
- Intel PRO/1000 MT Server (82545EM). Эта модель адаптера полезна для импорта шаблонов OVF из других платформ и может упростить процесс импорта.
- Паравиртуализированный сетевой адаптер (virtio-net) – это особый случай. Вместо виртуализации сетевого оборудования, поддерживаемого большинством операционных систем, гостевая операционная система должна предоставить специальный программный интерфейс для виртуализированных сред. Такой подход позволяет избежать сложностей эмуляции сетевого оборудования и, как следствие, может улучшить сетевую производительность.
Стандартные сетевые драйверы virtIO поддерживаются VirtualBox. Сетевые драйверы virtIO являются частью проекта KVM и являются открытым исходным кодом. Эти драйверы доступны для Linux с ядром 2.6.25 или более поздней версии, а также для Windows, включая старые версии, такие как Windows 2000, XP и Vista.
Поддержка кадров Jumbo
VirtualBox предоставляет ограниченную поддержку кадров Jumbo (Ethernet-кадры, которые могут переносить пакеты размером более 1 500 байтов). Если вам необходимо использовать кадры Jumbo, выберите виртуализированный сетевой адаптер Intel и настройте этот адаптер для работы в режиме моста. Виртуальные сетевые адаптеры на базе AMD не поддерживают кадры Jumbo. Если вы попытаетесь включить кадры Jumbo для виртуальных сетевых адаптеров на базе AMD, кадры Jumbo будут молча отброшены для входящего и исходящего трафика. По умолчанию кадры Jumbo отключены.
Режимы сети VirtualBox
VirtualBox предоставляет длинный список режимов сети, который является одной из самых интересных особенностей настроек сети VirtualBox. Каждый виртуальный сетевой адаптер можно настроить отдельно для работы в различных режимах сети. Например, вы можете установить режим NAT для адаптера 1 и режим Только хост для адаптера 2. Вы можете выбрать режим сети в выпадающем меню Присоединено к.
Рассмотрим каждый режим сети VirtualBox более подробно.
Не подключено
A virtual network adapter is installed in a VM, but the network connection is missing, much like when you unplug the Ethernet network cable when using a physical network adapter. This mode can be useful for testing. For example, you can enable this network mode for a short time to emulate unplugging the cable. When you disable the Not Attached mode by switching to another network mode, the network connection becomes available again. You can also check whether a DHCP client obtains the IP address correctly, whether the appropriate application can resume downloading after link interruption or packet loss, and so on.
Вместо использования режима сети Не подключено, вы можете использовать любой другой режим сети без установки флажка Подключен к кабелю. Вы можете установить/снять флажок, когда виртуальная машина находится в рабочем состоянии (см. скриншот выше). Не забудьте нажать OK, чтобы применить изменения в конфигурации сети виртуальной машины.
NAT
Этот режим сети включен для виртуального сетевого адаптера по умолчанию. Гостевая операционная система на виртуальной машине может получать доступ к хостам в физической локальной сети (LAN), используя виртуальное устройство NAT (Network Address Translation). Внешние сети, включая интернет, доступны из гостевой ОС. Гостевая машина недоступна из хостовой машины или из других машин в сети, когда для сети VirtualBox используется режим NAT. Этот режим сети по умолчанию достаточен для пользователей, которые хотят использовать виртуальную машину только для доступа в интернет, например.
IP-адрес сетевого адаптера виртуальной машины получается через DHCP, и IP-адреса сети, используемые в этом режиме сети, не могут быть изменены в графическом интерфейсе. У VirtualBox есть встроенный DHCP-сервер и NAT-движок. Виртуальное устройство NAT использует физический сетевой адаптер хоста VirtualBox в качестве внешнего сетевого интерфейса. Адрес по умолчанию виртуального DHCP-сервера, используемого в режиме NAT, составляет 10.0.2.2 (это также IP-адрес шлюза по умолчанию для виртуальной машины). Маска подсети – 255.255.255.0.
Если настроить сетевые адаптеры двух или более виртуальных машин на использование режима NAT, каждая виртуальная машина получит IP-адрес 10.0.2.15 в своей изолированной сети за частным виртуальным устройством NAT. Шлюз по умолчанию для каждой виртуальной машины – 10.0.2.2. В VirtualBox IP-адреса не изменяются при использовании режима NAT, как видно ниже:
Для включения режима NAT для виртуальной машины с помощью VBoxManage выполните следующую команду:
Где:
- VM_name – это имя вашей виртуальной машины;
- nic1 – номер виртуального сетевого адаптера;
- nat – это имя режима сети VirtualBox, который необходимо установить.
Перенаправление портов можно настроить прямо из окна настроек сети виртуальной машины VirtualBox, нажав кнопку Перенаправление портов (как показано на скриншоте выше). Подробная информация о настройке перенаправления портов в настройках сети VirtualBox, которую вы можете найти ниже после раздела Режимы сети.
NAT Network
Этот режим аналогичен режиму NAT, который вы используете для настройки маршрутизатора. Если вы используете режим NAT Network для нескольких виртуальных машин, они могут общаться друг с другом через сеть. ВМ могут получать доступ к другим хостам в физической сети и могут получать доступ к внешним сетям, включая интернет. Любая машина из внешних сетей, а также те, которые находятся в физической сети, к которой подключена хост-машина, не могут получить доступ к ВМ, настроенным на использование режима NAT Network (аналогично настройке маршрутизатора для доступа в интернет из вашей домашней сети). Вы не можете получить доступ к гостевой машине с хост-машины при использовании режима NAT Network (если только вы не настраиваете переадресацию портов в глобальных настройках сети VirtualBox). Встроенный маршрутизатор NAT VirtualBox использует контроллер физической сетевой интерфейсной карты хоста VirtualBox в качестве внешнего сетевого интерфейса (как и в случае с режимом NAT</diy6).
Сетевой адрес и имя можно изменить в глобальных настройках VirtualBox (Файл > Настройки). В левой панели окна Настройки выберите Сеть, чтобы получить доступ к глобальным настройкам сети VirtualBox, затем дважды щелкните на вашей существующей сети NAT, чтобы отредактировать настройки (вы также можете добавить новую сеть или удалить существующую сеть, нажав на значки + или x).
В появившемся небольшом всплывающем окне также можно включить/отключить DHCP, IPv6 и настроить переадресацию портов.
Адрес по умолчанию для NatNetwork – 10.0.2.0/24.
IP-адрес шлюза по умолчанию – 10.0.2.1 (шаблон x.x.x.1 используется для назначения IP-адреса шлюза по умолчанию). Например, если вы создаете новую виртуальную сеть для режима NAT Network в VirtualBox и устанавливаете сетевой адрес 192.168.22.0/24, IP-адрес шлюза в этой сети будет 192.168.22.1. Вы не можете изменить IP-адрес шлюза для сети, используемой в режиме NAT Network, и изменить диапазон IP-адресов, выдаваемых DHCP-сервером. Аналогично, IP-адрес DHCP-сервера по умолчанию – 10.0.2.3 (используется шаблон x.x.x.3).
Конфигурация IP Windows 7 VM, запущенной на VirtualBox с настроенным виртуальным сетевым адаптером в режиме NAT Network, отображается на скриншоте.
Если вы не хотите редактировать настройки сети VirtualBox в графическом интерфейсе пользователя, вы можете добавить новую сеть NAT с помощью VBoxManage, используя команду:
Где:
- natnet1 – это имя сети NAT;
- 192.168.22.0/24 – это адрес этой сети NAT.
Если вы хотите настроить сетевой адаптер VM, чтобы использовать режим NAT Network с помощью VBoxManage, выполните следующую команду:
Где:
- nic1 – это первый виртуальный сетевой адаптер (контроллер сетевого интерфейса);
- natnetwork – это имя режима сети VirtualBox.
Возможно, вам потребуется выключить виртуальную машину перед применением этих настроек.
Чтобы избежать повторения одной и той же команды с VBoxManage при выборе режима сети для виртуального сетевого адаптера виртуальной машины в каждом разделе статьи, рассмотрите имена всех возможных режимов сети VirtualBox: none, null, nat, natnetwork, bridged, intnet, hostonly, generic.
Перенаправление портов – еще один вариант, который можно настроить и настроить из этого окна. Перенаправление портов можно использовать для настройки доступа с хост-машину и других хостов той же физической сети к сервисам, работающим в гостевой ОС внутри ВМ (см. детали ниже). Как видите, местоположение настроек перенаправления портов для режимов NAT и NAT сеть отличается в графическом интерфейсе VirtualBox. Настройки перенаправления портов для режима NAT доступны в VM > Настройки > Сеть, в то время как настройки перенаправления портов для режима NAT Network могут быть настроены в Файл > Параметры > Сеть. Это потому, что правила перенаправления портов для режима NAT являются индивидуальными для каждой ВМ, в то время как правила перенаправления портов для режима NAT Network общие для нескольких ВМ, адаптеры которых подключены к соответствующей сети NAT. См. детали о настройке перенаправления портов ниже в разделе Перенаправление портов.
Мостовой адаптер
Этот режим используется для подключения виртуального сетевого адаптера виртуальной машины к физической сети, к которой подключен физический сетевой адаптер хост-машины VirtualBox. Виртуальный сетевой адаптер виртуальной машины использует сетевой интерфейс хоста для сетевого соединения. Проще говоря, сетевые пакеты отправляются и принимаются напрямую от/к виртуальному сетевому адаптеру без дополнительной маршрутизации. Для режима мостового подключения в VirtualBox используется специальный сетевой фильтр-драйвер для фильтрации данных с физического сетевого адаптера хоста.
Этот сетевой режим может быть использован для запуска серверов на виртуальных машинах, которые должны быть полностью доступны из физической локальной сети. Используя режим мостового подключения в VirtualBox, вы можете получить доступ к хост-машине, хостам физической сети и внешним сетям, включая интернет, с виртуальной машины. К виртуальной машине можно получить доступ с хост-машины и с других хостов (и виртуальных машин), подключенных к физической сети.
Если на хост-машине установлено несколько физических сетевых адаптеров, необходимо выбрать нужный адаптер в сетевых настройках VirtualBox. На приведенном ниже снимке экрана можно увидеть два физических сетевых адаптера: адаптер Ethernet и адаптер Wi-Fi. При использовании мостового режима для беспроводного сетевого адаптера нельзя использовать низкоуровневые функции этого адаптера Wi-Fi в гостевой операционной системе. Например, нельзя выбирать сети Wi-Fi для подключения, включать режим мониторинга и т. д. Вместо этого нужно подключиться к сети Wi-Fi на хост-машине. Если необходимо использовать все функции адаптера Wi-Fi в гостевой ОС виртуальной машины, можно воспользоваться USB-адаптером Wi-Fi и функцией USB Pass-through, как описано в публикации блога об установке Kali Linux на VirtualBox.
В VirtualBox IP-адрес виртуального сетевого адаптера виртуальной машины может принадлежать той же сети, что и IP-адрес физического сетевого адаптера хост-машины, когда используется мостовой режим. Если в физической сети есть сервер DHCP, виртуальный сетевой адаптер виртуальной машины получит IP-адрес автоматически в мостовом режиме (если получение IP-адреса автоматически установлено в настройках сетевого интерфейса в гостевой ОС). Таким образом, шлюз по умолчанию для виртуального сетевого адаптера, работающего в мостовом режиме, совпадает со шлюзом хост-машины. Рассмотрим простой пример с IP-адресами.
Адрес физической сети: 10.10.10.0/24
IP-адрес шлюза по умолчанию в физической сети: 10.10.10.1
IP-адрес DHCP-сервера в физической сети: 10.10.10.1
Конфигурация IP-адреса хост-машины: IP-адрес – 10.10.10.72; маска подсети – 255.255.255.0; шлюз по умолчанию – 10.10.10.1.
Конфигурация IP-адреса гостевой машины: IP-адрес – 10.10.10.91; маска подсети – 255.255.255.0; шлюз по умолчанию – 10.10.10.1.
Иногда вы можете обнаружить, что у вас есть несколько шлюзов в вашей физической сети. Вы можете использовать хост-машину для подключения к необходимым сетям через один шлюз и использовать гостевую машину для подключения к другим сетям через второй шлюз. Вы также можете отредактировать таблицу маршрутизации на вашей виртуальной машине и добавить маршруты для использования обоих шлюзов для подключения к соответствующим сетям. Как видите, режим мостовой сети является мощным вариантом в настройках сети VirtualBox с множеством вариантов использования.
Режим беспорядочного режима. Этот режим позволяет сетевому адаптеру передавать весь полученный трафик, независимо от того, к какому адаптеру адресован трафик. В обычном режиме сетевой адаптер получает только кадры, включающие MAC-адрес этого конкретного сетевого адаптера в качестве адреса назначения в заголовке. Кадры, адресованные MAC-адресу, отличному от MAC-адреса выбранного адаптера (когда трафик не является широковещательным), отбрасываются в обычном режиме. Режим беспорядочного режима позволяет физическому сетевому адаптеру иметь несколько MAC-адресов, позволяя всем входящим трафикам проходить через физический сетевой адаптер хост-машины и достигать виртуального сетевого адаптера ВМ, который имеет свой собственный MAC-адрес, представленный на адаптере хоста, даже если этот трафик не адресован виртуальному сетевому адаптеру этой конкретной ВМ.
Большинство беспроводных сетевых адаптеров не поддерживают режим беспорядочного просмотра. Мостовое соединение с адаптерами Wi-Fi выполняется следующим образом – VirtualBox заменяет соответствующие MAC-адреса в заголовках кадров Ethernet, которые должны быть доставлены к виртуальному сетевому адаптеру ВМ (для этого трафика должен использоваться MAC-адрес хостового адаптера Wi-Fi). Режим беспорядочного просмотра полезен для сетевого тестирования и проверки безопасности. Вы можете включить режим беспорядочного просмотра в настройках сети VirtualBox и отслеживать сетевой трафик с помощью сниффера.
Есть три варианта использования режима беспорядочного просмотра.
- Запретить. Любой трафик, не предназначенный для виртуального сетевого адаптера ВМ, скрыт от ВМ. Этот вариант установлен по умолчанию.
- Разрешить ВМ. Весь трафик скрыт от сетевого адаптера ВМ, кроме трафика, передаваемого от и к другим ВМ.
- Разрешить все. В этом режиме нет ограничений. Сетевой адаптер ВМ видит весь входящий и исходящий трафик.
Режим беспорядочного просмотра можно использовать не только для режима Мостового соединения, но и для режимов NAT Network, Внутренняя сеть и Только хост.
Внутренняя сеть
Виртуальные машины, адаптеры которых настроены на работу в режиме Внутренняя Сеть VirtualBox, подключены к изолированной виртуальной сети. ВМ, подключенные к этой сети, могут обмениваться данными между собой, но они не могут общаться с хост-машиной VirtualBox или с любыми другими хостами в физической сети или во внешних сетях. ВМ, подключенные к внутренней сети, не могут быть доступны с хоста или с других устройств. Внутренняя сеть VirtualBox можно использовать для моделирования реальных сетей.
Например, можно создать три ВМ, каждая из которых имеет виртуальный сетевой адаптер (Адаптер 1), подключенный к внутренней сети. IP-адреса этих сетевых адаптеров определяются из подсети, используемой для внутренней сети VirtualBox (вам нужно определить подсеть вручную). У одной из этих ВМ (VM1) также есть второй виртуальный сетевой адаптер, настроенный на работу в режиме NAT. VM1 настроена как маршрутизатор (одним из лучших решений для создания маршрутизатора является установка Linux и настройка IPTABLES, но для начала можно использовать более простые решения в случае тестирования сети VirtualBox).
A VM2 and VM3 whose network adapters are connected only to the VirtualBox internal network can have access to external networks if the IP address of the internal network adapter of the VM1 are set as a gateway in the network settings of VM2 and VM3.
Конфигурация сети, используемая в этом примере:
VM1. IP-адрес – 192.168.23.1 (режим внутренней сети); 10.0.2.15 (режим NAT), шлюз 10.0.2.2 (IP-адрес встроенного устройства NAT VirtualBox).
VM2. IP-адрес – 192.168.23.2 (внутренняя сеть), шлюз – 192.168.23.1
VM3. IP-адрес – 192.168.23.3 (внутренняя сеть), шлюз – 192.168.23.1
Подсеть внутренней сети VirtualBox: 192.168.23.0/24
Смотрите диаграмму ниже для большей ясности.
Примечание: Вы также можете развернуть такую виртуальную инфраструктуру для тестирования правил брандмауэра в IPTABLES перед их реализацией в вашей реальной сетевой инфраструктуре, но предпочтительнее использовать режим моста, а не режим NAT для второго виртуального сетевого адаптера VM1 при подключении к/от внешних сетей.
Только для хоста
Этот режим сети используется для общения между хостом и гостями. ВМ может взаимодействовать с другими ВМ, подключенными к сети только для хоста, и с хост-машиной. Хост-машина VirtualBox может получить доступ ко всем ВМ, подключенным к сети только для хоста.
Виртуальный сетевой адаптер только для хоста VirtualBox создается в хост-операционной системе для использования в сети только для хоста. Вы можете изменить настройки этой сети VirtualBox, перейдя в Файл > Менеджер сети хоста.
В нашем случае, сетевой адрес сети только для хоста по умолчанию – 192.168.56.0/24, а IP-адрес виртуального сетевого адаптера на хост-машине – 192.168.56.1. Вы можете вручную изменить эти IP-адреса на вкладке Адаптер. Сервер DHCP можно включить или отключить, установив соответствующий флажок. На вкладке Сервер DHCP можно задать IP-адрес DHCP-сервера, маску подсети и диапазон IP-адресов для выдачи клиентам DHCP.
Виртуальные сетевые адаптеры ВМ не имеют шлюза в своей конфигурации IP, потому что режим Только-хост не позволяет подключаться к устройствам вне сети только-хост. Также можно создать более одного сетевого адаптера только для хоста VirtualBox, чтобы использовать разные сети только для хоста — просто нажмите кнопку Создать. Если сеть только для хоста больше не нужна, просто выберите адаптер и нажмите кнопку Удалить.
Универсальный драйвер
Этот режим сети позволяет вам использовать универсальный сетевой интерфейс. Пользователь может выбрать соответствующий драйвер для распределения в пакете расширения или включения в состав VirtualBox.
Для режима VirtualBox Универсальный драйвер доступны два подрежима — UDP-туннель и сетевое виртуальное Ethernet (VDE).
UDP-туннель. Виртуальные машины, работающие на разных хостах, могут взаимодействовать прозрачно, используя существующую сетевую инфраструктуру.
Сетевое виртуальное Ethernet (VDE). Виртуальные машины могут подключаться к виртуальному распределенному коммутатору на хостах Linux или FreeBSD. Для использования сетевого виртуального Ethernet (VDE) необходимо скомпилировать VirtualBox из исходных кодов, так как стандартные пакеты VirtualBox не включают эту функцию.
Сравнение режимов сети VirtualBox
Для большего удобства давайте суммируем всю информацию о режимах сети, поддерживаемых VirtualBox, в этой таблице:
Перенаправление портов
Перенаправление портов – это процесс перехвата трафика, адресованного соответствующему IP-адресу и порту, а также перенаправления этого трафика на другой IP-адрес и/или порт. Для настройки перенаправления портов можно использовать специальные приложения на компьютерах и других устройствах маршрутизаторов. Одним из наиболее популярных случаев использования перенаправления портов является предоставление доступа к определенным сетевым службам, скрытым за NAT от внешних сетей. После настройки правил перенаправления портов клиенты могут получать доступ к соответствующим службам извне, подключаясь к внешнему IP-адресу маршрутизатора (хоста) и указанному порту.
Пакеты сначала перехватываются приложением на маршрутизаторе, затем приложение считывает IP-адрес назначения и номер порта соответствующих заголовков (заголовков пакетов IP, заголовков сегментов TCP или UDP). Если комбинация IP-адреса назначения и/или номера порта в заголовках соответствует условию, установленному в правиле перенаправления портов, приложение маршрутизации перезаписывает информацию заголовка (IP-адрес и/или номер порта) и отправляет пакет/сегмент на другой сетевой интерфейс в соответствии с правилом перенаправления портов.
По умолчанию подключение к виртуальным машинам VirtualBox, сетевые адаптеры которых настроены на работу в режиме NAT или NAT Network, невозможно с виртуального хоста VirtualBox и других хостов в локальной сети, но VirtualBox предоставляет встроенную функцию перенаправления портов для обеспечения такого доступа.
Пример 1 – доступ по SSH
Давайте рассмотрим настройку перенаправления портов для подключения к виртуальным машинам VirtualBox на примере подключения к серверу SSH, запущенному на виртуальной машине Ubuntu Linux, подключенной к сети в режиме NAT. Вы можете прочитать, как установить Ubuntu в VirtualBox в этой записи в блоге.
Входные данные:
IP хоста: 10.10.10.72 (физическая сетевая карта).
IP виртуальной машины Ubuntu: 10.0.2.15 (режим NAT)
Имя пользователя: user1
1. Установите сервер SSH на виртуальной машине Ubuntu.
apt-get install openssh-server
2. Отредактируйте файл конфигурации сервера SSH.
vim /etc/ssh/sshd_config
3. Раскомментируйте строку для включения аутентификации с паролями.
PasswordAuthentication yes
4. Перезапустите демон (сервис) SSH.
/etc/init.d/ssh restart
5. Проверьте, что сервер SSH работает, и попробуйте подключиться к серверу SSH с локального хоста (виртуальной машины Ubuntu).
6. Если всё в порядке, можно приступить к настройке перенаправления портов в VirtualBox.
Как вы помните, вам следует открыть настройки ВМ и выбрать раздел Сеть. Выберите ваш виртуальный сетевой адаптер, настроенный на работу в режиме NAT, разверните Расширенные настройки и нажмите кнопку Перенаправление портов. Нажмите на значок +, чтобы добавить новое правило перенаправления портов в настройках сети VirtualBox ВМ.
SSH-сервер слушает 22-й TCP-порт по умолчанию. Давайте создадим правило, которое позволит вам перенаправлять все соединения к виртуальной машине Ubuntu на порту 8022 к SSH-серверу, который слушает порт 22. Сначала вы можете создать правило, которое позволяет соединения только с хостом VirtualBox.
Имя | Протокол | IP хоста | Порт хоста | IP гостя | Порт гостя |
Ubuntu-SSH | TCP | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
Вид окна правил перенаправления портов в графическом интерфейсе VirtualBox показан на скриншоте ниже.
Откройте SSH-клиент (например, PuTTY, если вы используете Windows) на вашем хосте VirtualBox и подключитесь к 127.0.0.1 на порту 8022.
Другие хосты в вашей физической сети смогут получить доступ к виртуальной машине Ubuntu через SSH, подключившись к хост-машине VirtualBox по порту 8022, если вы создадите аналогичное правило перенаправления портов, где вместо адреса localhost (127.0.0.1) будет указан реальный IP-адрес вашего физического сетевого адаптера хоста VirtualBox. В этом примере IP-адрес физического сетевого адаптера хоста VirtualBox равен 10.10.10.72.
Имя | Протокол | IP-адрес хоста | Порт хоста | IP-адрес гостя | Порт гостя |
Ubuntu-SSH | TCP | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
Откройте SSH-клиент на вашем хосте VirtualBox или на другом хосте, подключенном к вашей локальной сети (LAN), и подключитесь к IP-адресу вашего хоста VirtualBox по порту 8022.
Пример 2 – доступ через HTTP
Если вы хотите развернуть веб-сервер на вашей виртуальной машине и предоставить доступ к вашим веб-сайтам извне, вы можете добавить еще одно правило перенаправления портов. Давайте рассмотрим, как настроить это правило перенаправления портов для доступа к веб-сайту, развернутому на виртуальной машине Ubuntu с хост-машины VirtualBox и других машин, подключенных к физической локальной сети (LAN). В этом примере в качестве веб-сервера используется Apache.
Сначала установите Apache на виртуальной машине Ubuntu, работающей на VirtualBox.
apt-get install apache2
ufw брандмауэр по умолчанию отключен в Ubuntu. Если брандмауэр включен на вашей виртуальной машине Ubuntu, убедитесь, что доступ к TCP-порту 80 разрешен.
После установки Apache откройте веб-браузер на вашей виртуальной машине Ubuntu и получите доступ к странице Apache по умолчанию, введя http://127.0.0.1 в адресной строке. Если все в порядке, вы увидите Страницу по умолчанию Apache2 Ubuntu в вашем веб-браузере.
Это означает, что теперь вы можете настроить правило перенаправления портов в настройках сети VirtualBox для доступа к вашему веб-сайту, размещенному на виртуальной машине Ubuntu. Откройте окно настроек Перенаправление портов, перейдя в Настройки ВМ > Сеть > [выберите ваш адаптер] > Перенаправление портов (аналогично описанному выше). Вы можете добавить новое правило, выполнив следующее:
Имя | Протокол | IP хоста | Порт хоста | IP гостя | Порт гостя |
Ubuntu-HTTP80 | TCP | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
Откройте веб-браузер на вашем хост-компьютере или на любом другом компьютере, подключенном к вашей физической сети, и введите IP-адрес вашего хост-компьютера VirtualBox и порт, определенный в созданном правиле перенаправления портов:
http://10.10.10.72:8080
10.10.10.72 – это IP-адрес виртуальной машины VirtualBox, а 8080 – TCP-порт, на котором работает виртуальная машина VirtualBox. Положительный результат настройки перенаправления портов показан на скриншоте ниже.
Вы также можете создать аналогичные правила для доступа к виртуальной машине через RDP, FTP и другие протоколы.
Настройка перенаправления портов для виртуальных машин, сетевые адаптеры которых работают в режиме NAT Network, выполняется аналогично (см. раздел выше, где объясняется режим NAT Network для нахождения настроек перенаправления портов для режима NAT Network).
Вывод
VirtualBox – это мощное решение для виртуализации, которое гибко и предоставляет широкий спектр сетевых настроек. Каждая виртуальная машина может использовать до восьми виртуальных сетевых адаптеров, и каждый сетевой адаптер может эмулироваться как соответствующая модель реальных сетевых интерфейсных контроллеров (NIC) Intel и AMD. Настройки сетевого адаптера VirtualBox позволяют изменять MAC-адрес каждого виртуального NIC, подключать или отключать виртуальный сетевой кабель и выбирать режим сети. Установка режима сети для виртуального сетевого адаптера является одной из наиболее интересных и важных частей настроек сети VirtualBox. Существует шесть режимов сети, каждый из которых может использоваться для различных сценариев использования. Перенаправление портов может быть настроено для внешнего доступа к виртуальным машинам, сетевые адаптеры которых работают в режимах NAT или NAT Network.
Source:
https://www.nakivo.com/blog/virtualbox-network-setting-guide/