15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
01.11.2024

Настройка сети в VirtualBox: полное руководство

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

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

Почему конфигурация сетевого взаимодействия VirtualBox имеет значение

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

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

1. Понимание режимов сетевого взаимодействия VirtualBox

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

NAT (Network Address Translation)

NAT — это режим по умолчанию и самый простой в использовании. В этой конфигурации:

  • ВМ может инициировать исходящие соединения в Интернет или внешние сети.
  • Внешние устройства не могут инициировать входящие соединения с ВМ.
  • ВМ получает приватный IP-адрес, управляемый встроенным DHCP-сервером VirtualBox.
  • Конфигурация хост-сети не требуется.

Лучше всего для: Общего просмотра Интернета, загрузки пакетов и сценариев, где вам просто нужна исходящая связь без раскрытия ВМ в сети.

Bridged Adapter

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

  • ВМ получает собственный IP-адрес от DHCP-сервера сети (или может быть назначен статический IP).
  • Другие устройства в сети могут напрямую достичь ВМ.
  • ВМ может свободно инициировать и получать соединения.

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

Internal Network

Режим Internal Network создает полностью изолированную виртуальную сеть:

  • ВМ в одной и той же именованной внутренней сети могут взаимодействовать друг с другом.
  • ВМ не имеют доступа к хост-машине или Интернету.
  • Трафик никогда не покидает окружение VirtualBox.

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

Host-Only Adapter

Host-Only создает приватную сеть, которая существует исключительно между хост-машиной и одной или несколькими ВМ:

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

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

NAT Network

NAT Network — это улучшенная версия стандартного NAT, которая поддерживает несколько ВМ:

  • Все ВМ в одной и той же NAT Network могут взаимодействовать друг с другом.
  • Все ВМ используют исходящий доступ в Интернет через NAT.
  • Внешние устройства по-прежнему не могут инициировать соединения с ВМ (без переадресации портов).

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

Краткая справка: сравнение режимов сетевого взаимодействия VirtualBox

РежимДоступ в ИнтернетХост ↔ ВМВМ ↔ ВМВходящие с LAN
NAT
Bridged
Internal Network
Host-Only
NAT Network

2. Конфигурирование параметров сетевого взаимодействия виртуальной машины

Теперь, когда вы понимаете режимы, вот как применить их к вашей ВМ.

Шаг 1: Запустите VirtualBox

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

Шаг 2: Откройте параметры ВМ

В VirtualBox Manager выберите целевую ВМ из левого списка. Нажмите кнопку Settings (значок шестеренки на панели инструментов) или щелкните правой кнопкой мыши на ВМ и выберите Settings.

Шаг 3: Перейдите на вкладку Network

В окне Settings нажмите на раздел Network в левом меню. Вы увидите до четырех вкладок адаптера: Adapter 1, Adapter 2, Adapter 3 и Adapter 4. Каждый адаптер может быть независимо настроен с другим режимом сетевого взаимодействия.

3. Конфигурирование каждого сетевого адаптера

Шаг 1: Включите адаптер

Установите флажок Enable Network Adapter в верхней части вкладки адаптера. Без этого адаптер полностью неактивен независимо от других параметров.

Шаг 2: Выберите режим сетевого взаимодействия

Используйте раскрывающееся меню Attached to для выбора желаемого режима. Вот что нужно настроить для каждого:

#### Конфигурирование NAT

  • Выберите NAT из раскрывающегося меню.
  • Дальнейшая конфигурация не требуется.
  • VirtualBox автоматически назначает ВМ IP в диапазоне 10.0.2.x.
  • Шлюз по умолчанию ВМ будет 10.0.2.2, который маршрутизирует трафик через хост.

> Совет профессионала: Если вам нужно получить доступ к сервису, работающему внутри ВМ (например, веб-сервер на порту 80), используйте Port Forwarding в разделе Advanced. Сопоставьте порт хоста (например, 8080) с портом гостя (80), чтобы сервис был доступен из браузера вашего хоста.

#### Конфигурирование Bridged Adapter

  • Выберите Bridged Adapter из раскрывающегося меню.
  • В поле Name выберите физический сетевой интерфейс на вашем хосте, который вы хотите подключить (например, eth0, en0 или ваш адаптер Wi-Fi).
  • ВМ запросит IP у DHCP-сервера вашей сети, как и любое другое физическое устройство.

> Важно: Если ваша хост-машина подключена через Wi-Fi, подключение может не работать на всех операционных системах из-за ограничений драйверов беспроводного адаптера. Подключение через Ethernet обычно более надежно.

#### Конфигурирование Host-Only Adapter

  • Выберите Host-only Adapter из раскрывающегося меню.
  • В поле Name выберите интерфейс сети только для хоста (например, vboxnet0).
  • Если сети только для хоста не существует, создайте одну через File → Host Network Manager в меню VirtualBox.
  • Вы можете настроить диапазон IP и параметры DHCP для сети только для хоста в Host Network Manager.

#### Конфигурирование Internal Network

  • Выберите Internal Network из раскрывающегося меню.
  • В поле Name введите имя для вашей внутренней сети (например, intnet или lab-network).
  • Любая ВМ, использующая то же имя внутренней сети, сможет взаимодействовать с этой ВМ.
  • Вам нужно будет вручную настроить статические IP-адреса на каждой ВМ или установить DHCP-сервер внутри одной из ВМ.

#### Конфигурирование NAT Network

  • Сначала создайте NAT Network через File → Preferences → Network (на Windows/Linux) или VirtualBox → Preferences → Network (на macOS).
  • Нажмите значок + для добавления новой NAT Network и настройте ее диапазон IP.
  • В параметрах адаптера ВМ выберите NAT Network и выберите вашу созданную сеть из раскрывающегося меню Name.

4. Расширенные параметры сетевого взаимодействия

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

Adapter Type

Это раскрывающееся меню позволяет вам выбрать эмулируемое оборудование сетевой карты. Опции включают:

  • Intel PRO/1000 MT Desktop (82540EM) — наиболее совместимый вариант, работает с большинством гостевых ОС из коробки.
  • Paravirtualized Network (virtio-net) — предлагает лучшую производительность, но требует поддержки гостевой ОС (доступна в ядрах Linux 2.6.25+ и с драйверами VirtIO на Windows).
  • PCnet варианты — более старые эмуляции, полезны для устаревших гостевых операционных систем.

Для современных гостей Linux или Windows придерживайтесь Intel PRO/1000, если вам не нужна производительность virtio.

Promiscuous Mode

Режим Promiscuous контролирует, передает ли виртуальный адаптер весь сетевой трафик ВМ, а не только трафик, адресованный ей:

  • Deny (по умолчанию) — только трафик, адресованный MAC-адресу ВМ, передается.
  • Allow VMs — ВМ может видеть трафик от других ВМ в одной и той же виртуальной сети.
  • Allow All — ВМ может видеть весь трафик, включая трафик от хоста.

Этот параметр необходим для мониторинга сети, инструментов захвата пакетов, таких как Wireshark, или когда ВМ действует как сетевой мост или маршрутизатор.

MAC Address

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

Cable Connected

Этот флажок имитирует, физически ли подключен сетевой кабель. Если не установлено, операционная система ВМ будет видеть адаптер как отключенный. Держите это установленным для нормальной работы.

5. Конфигурирование нескольких адаптеров

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

  • Имитация маршрутизатора/брандмауэра: подключите один адаптер в режиме Bridged (WAN) и другой в режиме Internal Network (LAN).
  • Многодомные серверы: ВМ, которая должна быть доступна как в сети только для хоста, так и в Интернете.
  • Тестирование сегментации сети: имитация сложных топологий с несколькими изолированными сегментами.

Для конфигурирования второго адаптера просто нажмите на вкладку Adapter 2 и повторите процесс конфигурации.

6. Тестирование сетевого подключения

После сохранения параметров и загрузки ВМ проверьте, что сетевое взаимодействие работает правильно.

Проверьте назначение IP-адреса

На Windows (гостевая ОС):

ipconfig /all

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

На Linux (гостевая ОС):

ip a

Или на более старых системах:

ifconfig -a

Подтвердите, что интерфейс имеет IP-адрес и находится в состоянии UP.

Тестирование подключения к хосту

ping 192.168.1.1

Замените на ваш фактический IP-адрес хоста. Это тестирует подключение Layer 3 между ВМ и хостом.

Тестирование подключения в Интернет

ping -c 4 google.com

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

Тестирование конкретного порта

curl -I https://google.com

Это тестирует подключение HTTP/HTTPS специально, что полезно при проверке доступа веб-сервера.

7. Устранение неполадок с общими проблемами сетевого взаимодействия VirtualBox

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

Проблема: ВМ не имеет IP-адреса

Возможные причины и решения:

  • DHCP не работает: в режиме NAT или Bridged ВМ должна автоматически получить IP. Попробуйте перезагрузить сетевой сервис внутри гостевой ОС.
  • Linux: sudo systemctl restart NetworkManager или sudo dhclient eth0
  • Windows: ipconfig /release с последующим ipconfig /renew
  • Адаптер не включен: дважды проверьте, что флажок Enable Network Adapter установлен в параметрах VirtualBox.
  • Выбран неправильный адаптер: в режиме Bridged убедитесь, что вы выбрали правильный физический интерфейс (не отключенный или виртуальный адаптер).

Проблема: ВМ не может достичь Интернет

Возможные причины и решения:

  • Использование режима Internal Network или Host-Only: эти режимы не предоставляют доступ в Интернет по дизайну. Переключитесь на NAT или Bridged, если требуется доступ в Интернет.
  • Брандмауэр хоста блокирует трафик: проверьте правила брандмауэра вашей хост-машины. Некоторое программное обеспечение безопасности блокирует трафик от виртуальных сетевых адаптеров.
  • Неправильная конфигурация DNS: ВМ может иметь подключение, но неправильные DNS-серверы. Попробуйте установить DNS вручную на 8.8.8.8 (Google) или 1.1.1.1 (Cloudflare).

Проблема: другие устройства не могут достичь ВМ

Возможные причины и решения:

  • Использование режима NAT: NAT по своей природе блокирует входящие соединения. Переключитесь на режим Bridged или настройте правила переадресации портов в параметрах Advanced адаптера NAT.
  • Брандмауэр гостевой ОС: брандмауэр внутри ВМ может блокировать входящие соединения. Проверьте правила iptables на Linux или параметры Windows Firewall.
  • ВМ не в одной подсети: в режиме Bridged убедитесь, что ВМ получила IP в одной подсети с хост-сетью.

Проблема: Bridged Adapter не работает на Wi-Fi

Некоторые беспроводные адаптеры и драйверы не поддерживают режим promiscuous, необходимый для подключения. Решения:

  • Используйте USB Ethernet адаптер и подключитесь к нему вместо этого.
  • Переключитесь на режим NAT Network, если вам нужна коммуникация между ВМ с доступом в Интернет.
  • На macOS подключение через Wi-Fi может требовать дополнительной конфигурации.

Проблема: ВМ не могут взаимодействовать друг с другом

  • Использование NAT (не NAT Network): стандартный NAT изолирует ВМ друг от друга. Переключитесь на режим NAT Network или Internal Network.
  • Разные имена внутренней сети: ВМ в Internal Network должны использовать точно такое же имя сети для взаимодействия.
  • Проблемы с IP-адресацией: если используется Internal Network без DHCP-сервера, убедитесь, что каждая ВМ имеет вручную настроенный статический IP в одной подсети.

Проблема: производительность сетевого взаимодействия низкая

  • Переключитесь на virtio-net: паравиртуализированный сетевой адаптер предлагает значительно лучшую пропускную способность, чем эмулируемые адаптеры Intel. Установите драйверы VirtIO на гостей Windows или используйте гостя Linux (который поддерживает virtio нативно).
  • Установите Guest Additions: VirtualBox Guest Additions может улучшить общую производительность ВМ, включая сетевое взаимодействие.
  • Провер
15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать